我正在尝试将 Fortify Source Code Analyzer 用于我学校的一个研究项目,以测试开源 Java Web 应用程序的安全性。我目前正在研究 Apache Lenya。我正在使用最后一个稳定版本 (Lenya v2.0.2)。
在根目录中有一个名为 build.sh
的文件。调用此文件以使用发行版附带的 Ant 版本(在 tools/bin
文件夹中)构建 Lenya。当我运行 ./build.sh
时,我可以很好地构建 Lenya。因此,假设在 Fortify 中运行以下命令会起作用:
sourceanalyzer -b lenya -Xmx1200M touchless ./build.sh
但是,当我尝试运行时:
sourceanayzer -b lenya -Xmx1200M -scan -f lenya.fpr
我得到:
我查看了 buid.sh 文件,注意到它只是重置当前的 ant 主目录、类路径和 ant 选项变量,运行 ant build 命令,并将值重置回它们的默认值。所以我手动重置所有变量(没有脚本)而不是运行脚本并运行:
sourceanalyzer -b lenya -Xmx1200M touchless tools/bin/ant -logger org.apache.tools.ant.NoBannerLogger
然后我跑了:
sourceanalyzer -b lenya -Xmx1200M -scan -f lenya.fpr
但我遇到了同样的错误。我不确定这是因为我做错了什么,还是 Fortify 没有正确执行。任何见解都会很棒。
最佳答案
我不确定您是否可以访问 Fortify 文档,但这肯定会有所帮助。您应该引用 SCA 用户指南以了解如何使用 sourceanalyzer 可执行文件。
简而言之,有两种获取 FPR 文件的方法:
我更喜欢前者,因为它在处理大型代码库时具有可定制性。
PS:这是哪个版本的Fortify?