使用 Semgrep/Spotbugs 进行 SQL 注入

问题描述 投票:0回答:1

对于 CI 管道中的 SAST 检查,我们使用 Semgrep 和 SpotBugs 扫描仪。该扫描器发现以下情况作为 SQL 注入的实例。

存储库类

        Query q = em.createNativeQuery(FIND_PRODUCTS_BY_IDENTIFER);
        q.setParameter("productidentifier", productIdentifierParam);

FIND_PRODUCTS_BY_IDENTIFER 位于单独的类中,并定义为常量

public static final String FIND_PRODUCTS_BY_IDENTIFER =“从产品中选择产品ID,其中ID位于(:productidentifier)”;

查询是参数化的,不是 SQL 注入的情况,是误报。任何人都可以阐明必须更改哪些内容才能消除此违规行为(或者)这是否已经是 Semgrep 分析器的已知错误。

enter image description here

java spring-data-jpa spotbugs sast semgrep
1个回答
0
投票

您使用的是OSS社区创建的规则还是AppSec平台的Pro规则?社区创建的规则存在一些误报,但如果您愿意,您可以自行修复它们。我知道我的回答很晚了,但这里的关键是,当您使用带有社区规则的 OSS 版本时,它们是......尽力而为。

您可以通过加入我们的 Slack 来获得更多支持:https://bit。 ly/ semgrepslack 或者在学院参加一些规则编写课程(这样你就可以自己修复它): https://academy.semgrep.dev

© www.soinside.com 2019 - 2024. All rights reserved.