【发布时间】:2015-09-24 08:10:12
【问题描述】:
我需要创建一个临时文件并将一些数据存储到其中。为此,我编写了以下代码:
import org.apache.commons.lang.RandomStringUtils;
import java.security.SecureRandom;
[...]
String random = RandomStringUtils.random(10, 0, 0, true, true, null, new SecureRandom());
File tempFile = File.createTempFile("PREFIX-" + random, ".pdf");
[...]
它运行良好,但是当我将此代码提交给 Veracode 时,我收到“不安全的临时文件 (CWE ID 377)”错误。
我认为使用SecureRandom 会使临时文件名无法被攻击者预测。
在不让 Veracode 不开心的情况下生成临时文件的正确方法是什么?
【问题讨论】:
-
你试过
Files.createTempFile吗? -
我会试一试并告诉你。
-
Files.createTempFile()是否解决了 Veracode 的问题? -
不幸的是它没有。还是同样的问题。
-
@D.PETIT 你找到合适的替代品了吗?
标签: java file security veracode secure-coding