java - Where does HP Fortify put the intermediate files? -
according hp fortify documentation, static code analyzer first translates source code intermediate format, , scans translated code , generates vulnerability report.
it says translation can done using following ant code:
<antcall target="compile"> <param name="build.compiler" value="com.fortify.dev.ant.scacompiler"/> </antcall> this call "compile" target force use scacompiler instead of regular javac compiler.
i have run fortify on our java code , produces vulnerability reports. not see intermediate files anywhere. ran diff between java class files regular javac compiler produced , java class files scacompiler produced, , same. intermediate files stored somewhere else, or fortify automatically delete them after performing scan?
the intermediate files not class or object files. nst (normalized syntax tree) files, proprietary format used hp fortify (this discussed in book "secure programming static analysis". when translating build id, such as:
sourceanalyzer -b test ant then stored in project working directory. in windows, typically:
%userprofile%\appdata\local\fortify\sca<version>\build\test or on other platforms:
~/.fortify/sca<version>/build/test this contain canonicalized path nst, performed during translation. these can used scan multiple times if needed, should "cleaned" if scanning separate new (or updated) codebase.
for ant integration think depends on version of ant, , way translating, way think calls sourceanalyzer.jar file (which contains com.fortify.dev.ant.scacompiler class) in order hook jvm , follow build create nst files needed scanning. don't believe it's separate version of javac, although perhaps there separate version under <sca installation directory>/jre/ may use.
Comments
Post a Comment