我正在尝试将 Fortify 源代码分析器用于我学校的一个研究项目,以测试开源 Java Web 应用程序的安全性。我目前正在研究 Apache Lenya。我正在使用最新的稳定版本(Lenya v2.0.2)。
根目录下有一个文件名为build.sh
。调用此文件是为了使用发行版附带的 Ant 版本(在tools/bin
文件夹)。当我跑步时我可以很好地构建 Lenya./build.sh
。因此,假设在 Fortify 中运行以下命令可以工作:
sourceanalyzer -b lenya -Xmx1200M touchless ./build.sh
但是,当我尝试运行时:
sourceanayzer -b lenya -Xmx1200M -scan -f lenya.fpr
I get:
未找到构建 ID Lenya。
我看了看buid.sh文件并注意到它只是重置当前的 ant home、classpath 和 ant options 变量,运行 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 文件的方法:
- (漫长的路)通过提供源代码的路径和源分析器可执行文件的类路径来编写脚本来翻译和分析源代码。
- (简短的方法)使用 SCACompiler 而不是 javac 作为编译器。您需要为此修改构建脚本。
我更喜欢前者,因为它在处理大型代码库时具有可定制性。
PS:这是哪个版本的Fortify?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)