如何在不同的pl / sql文件上执行强化扫描

时间:2017-11-15 12:45:56

标签: c# oracle file command-line fortify

我正在尝试对来自c#代码的sql和oracle文件进行强化扫描。我有一些文件夹,其中包含不同的oracle脚本文件,扩展名为.pls,.pkb& .ddl等

以下是我执行扫描所有文件的命令。

Command1:sourceanalyzer -b test –clean 命令2: a)sourceanalyzer -b test -Dcom.fortify.sca.fileextensions.class=PLSQL C:\RapidWorkspace\TFS2\MFG-FDL-16_45418-20171114181758\PROD\RELEASE\**\*.*

b)sourceanalyzer -b test -Dcom.fortify.sca.fileextensions.pls=PLSQL C:\RapidWorkspace\TFS2\MFG-FDL-16_45418-20171114181758\PROD\RELEASE\**\*.*

Command3:sourceanalyzer -b test -scan -verbose -f Results.fpr

Command2 - > a)在这里我可以扫描.pls文件。即使它存在于我正在搜索的文件夹中。 Command2 - > b)此命令仅扫描.pls文件,但不扫描.pkb或其他oracle文件。

请帮我找一个可以一次扫描所有不同oracle扩展文件的命令。

先谢谢, 阿斯马贾

1 个答案:

答案 0 :(得分:1)

最好的办法是修改fortify-sca.properties文件以添加到新的文件扩展名中。

默认位置:C:\Program Files\HPE_Security\Fortify_SCA_and_Apps_17.10\Core\config\fortify-sca.properties

您需要修改几个地方:

1)添加文件名扩展名以映射到您的PLSQL文件,您可以看到第63行附近的现有文件:

com.fortify.sca.fileextensions.pks        = PLSQL
com.fortify.sca.fileextensions.pkh        = PLSQL
com.fortify.sca.fileextensions.pkb        = PLSQL

在此行下方添加文件扩展名,例如:

com.fortify.sca.fileextensions.pls        = PLSQL
com.fortify.sca.fileextensions.ddl        = PLSQL

2)您添加的任何文件扩展名,您需要将它们添加到第26行附近的com.fortify.sca.DefaultFileTypes列表中。(这是执行通配符搜索时使用的列表**/*

3)如果你总是要扫描PLSQL(而不是TSQL)并且你在Windows上,那么你可以将默认的SQL类型更改为PLSQL

这是第127行,名称com.fortify.sca.SqlLanguage,并将TSQL更改为PLSQL。

如果要在以.sql文件扩展名结尾的SQL文件上切换TSQL和PLSQL,请在翻译命令中添加以下命令之一:

-Dcom.fortify.sca.fileextensions.sql=PLSQL
-Dcom.fortify.sca.fileextensions.sql=TSQL

示例(摘自sourceanalyzer -h):

sourceanalyzer -b mybuild -Dcom.fortify.sca.fileextensions.sql=PLSQL *.sql
sourceanalyzer -b mybuild -Dcom.fortify.sca.fileextensions.sql=TSQL *.sql

然后您可以运行以下命令

sourceanalyzer -b test -clean

sourceanalyzer -b test C:\RapidWorkspace\TFS2\MFG-FDL-16_45418-20171114181758\PROD\RELEASE\**\*.*

然后运行sourceanalyzer -b test -show-files这将显示sourceanalyzer翻译的文件。理想情况下,您的PLSQL文件将位于此列表中。

要检查的另一个命令是sourceanalyzer -b test -show-build-warnings这将显示sourceanalyzer在翻译文件时遇到的任何问题。