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

How to perform fortify scan on different pl/sql files

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

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

命令 1:sourceanalyzer -b test –clean 命令 2: 一)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\**\*.*

命令 3:sourceanalyzer -b test -scan -verbose -f Results.fpr

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

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

提前致谢, 阿斯玛

最好的办法是修改 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 在翻译文件时遇到的任何问题。