gpt4 book ai didi

java - 如何修复 CWE-470 : Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection' )

转载 作者:行者123 更新时间:2023-11-30 06:07:02 25 4
gpt4 key购买 nike

我的代码中的一行出现了 470,这也是 Vera 所定义的。

维拉说要修复:

Apply strict input validation by using whitelists or indirect selection to ensure that the user is only selecting allowable classes or code.

因此,我创建了一个严格的白名单,其中包含反射可以访问的类名 Set<String>

然后我包裹了 Class.forName

if (whitelist.contains(className) {
Veracode still fires in here with a 470
}

有人知道如何修复才能使维拉不开火吗?我觉得我已经遵循了他们建议的补救措施。

最佳答案

我已经设法使用 sanitizer 类/方法来解决它,该类/方法从硬编码值中获取类名验证并从字符串返回值 - 例如:

公共(public)类 MySanitizer {

public static String sanitizeClassName(final String className) throws MyException {

if(!className.equals("com.my.MyClass"))
throw new MyException("Class not valid: " + className);

return "com.my.MyClass";
}

关于java - 如何修复 CWE-470 : Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51086638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com