使用 IAST 代理程序的 OWASP Benchmark

关于此任务

OWASP Benchmark Project 是一个 Java 测试套件,用于评估软件漏洞检测工具。AppScan IAST Java 代理程序和 IAST Python 代理程序完全符合 OWASP Benchmark 框架。

使用 AppScan IAST Java 代理程序运行 OWASP Benchmark

过程

  1. 从 https://github.com/OWASP-Benchmark 克隆 BenchmarkJava 和 BenchmarkUtils。
  2. 打开命令提示符,切换到 BenchmarkUtils 目录,然后运行 mvn install -DskipTests。
  3. 在 ASoC 中,启动 IAST Java 会话并下载代理程序 zip,如启动 IAST 会话中所述。
  4. 抽取 zip 文件的内容。
  5. 在抽取后的 JAR 中,找到 jar_deployment 文件夹中的 secagent.jar,并将其复制到 BenchmarkJava\tools\HCL。
  6. 从命令提示符中,运行 runBenchmark_wHCL.bat。请等待,直到系统显示消息 '[INFO] Press Ctrl-C to stop the container...'。
  7. 打开命令提示符并运行 BenchmarkJava\runCrawler.bat。
  8. 运行 BenchmarkJava\createScorecards.bat。
    测试结果位于以下位置: BenchmarkJava\scorecard\Benchmark_v1.2_Scorecard_for_HCL_AppScan_IAST_v{IAST_version} files
    OWASP Benchmark v1.2 结果比较


运行 OWASP Benchmark 和 AppScan IAST Python 代理程序

开始之前

下载并安装以下必要软件。这些软件是完成部署所必需的。
  1. Python 3.12(来自 https://www.python.org/downloads/windows/)。
  2. Rust(来自 https://rustup.rs/)。这是某个 OWASP 依赖项所必需的。
  3. Java 17(来自 https://builds.openlogic.com/downloadJDK/openlogic-openjdk/17.0.18+8/openlogic-openjdk-17.0.18+8-windows-x64.msi)
  4. Maven(来自 https://maven.apache.org/download.cgi#CurrentMaven)。将其解压缩到 C:\Program files 目录,然后将其添加到您的 PATH 中。

关于此任务

在 Windows 环境中,使用以下步骤。

过程

  1. 安装 OWASP Benchmark 和 IAST:
    1. 从 https://github.com/OWASP-Benchmark/BenchmarkPython 克隆 OWASP BenchmarkPython。
    2. 从 ASoC 下载 IAST Python 代理程序。
      1. 将已下载的代理程序解压缩到 BenchmarkPython 文件夹中。
    3. 使用 cd 命令切换到 BenchmarkPython 根目录,然后运行以下命令:
      1. python -m venv venv
      2. venv\Scripts\activate
      3. pip install -q -r requirements.txt
      4. 运行 IAST 代理程序安装脚本:python install_secagent.py
      5. 运行基准测试和代理程序:
        1. 在运行基准测试之前,请删除 BenchmarkPython\results 的现有内容。
        2. 使用 Python 代理程序包装程序和所需的环境变量运行 OWASP Benchmark:
          set IAST_LOG_PATH=results\HCL-IAST.hcl && 
                                  set FINDINGS=true && secagent flask --app app.py run --debug --port 8443 --cert=adhoc
    4. 您现在可以通过 https://127.0.0.1:8443/ 访问 OWASP BenchmarkPython 应用程序。
  2. 运行抓取工具以生成基准测试结果:
    1. 从 https://github.com/OWASP-Benchmark/BenchmarkUtils 克隆 OWASP BenchmarkUtils。
    2. 在新终端中,使用 cd 命令切换到 BenchmarkUtil 根目录,然后运行以下命令:
      set "JAVA_HOME=C:\Program Files\OpenLogic\jdk-17.0.18.8-hotspot"&& mvn install 
    3. 使用 cd 命令切换到 BenchmarkPython 根目录并运行 runCrawler.bat。抓取工具将浏览应用程序中的所有页面,这可能需要一些时间。完成后,请查看 ASoC 中的问题。
    4. 创建记分卡:
      1. 运行以下命令:
        mvn -Djava.awt.headless=true org.owasp:benchmarkutils-maven-plugin:create-scorecard 
                              -DconfigFile=scoringconfigfile.yaml
      2. 可在 BenchmarkPython\scorecard 中查看结果。
      3. 可视化摘要文件为:Benchmark_v0.1_Scorecard_for_HCL_AppScan_IAST_v1.0.0.html
    OWASP Benchmark v0.1 结果比较

    用于 HCL AppScan IAST 的 Benchmark v0.1 记分卡