【问题标题】:Checkmarx SAST scan code with external unaccessible dependencies in pom.xmlCheckmarx SAST 扫描代码,在 pom.xml 中具有外部不可访问的依赖项
【发布时间】:2021-03-17 13:51:39
【问题描述】:

常规: 要扫描的代码是 .java 文件 (Java EE),依赖项作为单独的 JAR 提供

目标: 如何为 checkmarx 提供构建项目所需的所有 Java 依赖项以尽可能完善并完成扫描?我对检测依赖项本身的问题不感兴趣,也不希望这些问题包含在 checkmarx 报告中。

原因: 没有依赖关系的扫描没有返回任何结果,这对于代码库的大小和复杂性来说有点不寻常。我在本地拥有所有依赖项,并且可以在我的 IDE 中构建项目(想法)。当我压缩文件夹并通过 Web 界面上传以进行新扫描时,我看不到任何方法告诉 Chekmarx 有关依赖项(CLI 和 maven 插件只有在扫描中包含或排除文件和目录的选项)。我没有使用 maven checkmarx 插件,因为它需要 Checkmarx 扫描仪机器无法访问的资源(包括依赖项)。

我目前正在探索的方法是将依赖项分解到项目源文件夹中,以便解析导入并且 Checkmarx 可以构建项目。然而,一些依赖 JAR 包括 java 源文件,其他仅包括类文件,并且看起来 Checkmarx CxSAST 不支持扫描类文件(也不是 JAR)。 如果我可以扫描代码,我可以通过在 Web 界面中标记它们并将它们从报告中排除来过滤掉在依赖项中发现的任何问题。

【问题讨论】:

  • 是问题还是功能请求?
  • 这是一个问题,但如果不可能,那么它确实是一个功能请求。
  • 请联系 Checkmarx 获取功能请求

标签: java maven checkmarx sast


【解决方案1】:

如果它们不是您维护的代码,则不需要静态分析的依赖项。如果您没有看到结果,则可能是您的代码中没有识别出源或汇。

下载扫描日志并在接近尾声时查找名称类似于Find_Interactive_InputsFind_Interactive_Outputs 的查询的结果数量。如果一个或两个计数为零,则您正在扫描的代码没有可识别的源/接收器。这对于类库 jar 或者如果您使用的是 SAST 无法识别的框架并不少见。通常可以通过 CxQL 调整查询以识别源/接收器(如果确实存在查找它们的模式)。

【讨论】:

    猜你喜欢
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 2014-02-19
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多