Fortify SCA 排除选项不排除其中的所有子目录和文件
Fortify SCA exclude option doesn't exclude all subdirectories and files inside
我们在 .net 中有一个复杂的 Visual Studio 解决方案,其中有许多用于单元测试、集成测试和测试工具的项目。我们希望在自动部署时 运行 Fortify SCA,但将所有测试项目排除在扫描之外。下面的命令不排除子目录中的所有文件。子目录/文件夹可以有很多级别。为文件夹结构的每一层编写排除选项非常困难。有什么想法吗?
文件夹结构(排除):
C:\src\Code\Test\IntegrationTests\IntregationTests1\..many files
C:\src\Code\Test\IntegrationTests\IntregationTests2\..many files
C:\src\Code\SomeProject1.Tests\..folders\..files
C:\src\Code\SomeProject2.Tests\..folders\..files
C:\src\Code\TestHarness\Project1\..folders\..files
C:\src\Code\TestHarness\Project2\..folders\..files
排除测试项目的命令
.\sourceanalyzer -b "APP" -exclude "C:\src\Code\*Test*\*" devenv $SolutionPath /REBUILD
您可以尝试 src\Code\SomeProject2.Tests***
为了解决这个问题,我编写了一个 PowerShell 脚本,并通过参数传递了源代码的根路径。在脚本中,我列出了要排除在数组中的文件夹。 SCA 扫描的结果已上传到 Fortify 仪表板。
param (
[string]$SourceRoot = "\"
)
$SolutionPath = "$($SourceRoot)\Code\Test.Web.sln"
$VersionID = "10101"
$UpToken = "98752711-c3e1-4d03-8dea-51f150638994"
$Excludes = @(
"$($SourceRoot)\code\unit.tests\**\*;",
"$($SourceRoot)\code\prototypes\**\*;",
"$($SourceRoot)\code\tools\**\*;"
)
.\sourceanalyzer -b "APP" -clean
.\sourceanalyzer -b "APP" -exclude "$($Excludes -join'')" msbuild /t:rebuild $SolutionPath
./scancentral.bat -url "http://10.10.10.10:8181/scancentral-ctrl" start -upload -versionid $VersionID -uptoken $UpToken -b "APP" -scan
.\sourceanalyzer -b "APP" -clean
我们在 .net 中有一个复杂的 Visual Studio 解决方案,其中有许多用于单元测试、集成测试和测试工具的项目。我们希望在自动部署时 运行 Fortify SCA,但将所有测试项目排除在扫描之外。下面的命令不排除子目录中的所有文件。子目录/文件夹可以有很多级别。为文件夹结构的每一层编写排除选项非常困难。有什么想法吗?
文件夹结构(排除):
C:\src\Code\Test\IntegrationTests\IntregationTests1\..many files
C:\src\Code\Test\IntegrationTests\IntregationTests2\..many files
C:\src\Code\SomeProject1.Tests\..folders\..files
C:\src\Code\SomeProject2.Tests\..folders\..files
C:\src\Code\TestHarness\Project1\..folders\..files
C:\src\Code\TestHarness\Project2\..folders\..files
排除测试项目的命令
.\sourceanalyzer -b "APP" -exclude "C:\src\Code\*Test*\*" devenv $SolutionPath /REBUILD
您可以尝试 src\Code\SomeProject2.Tests***
为了解决这个问题,我编写了一个 PowerShell 脚本,并通过参数传递了源代码的根路径。在脚本中,我列出了要排除在数组中的文件夹。 SCA 扫描的结果已上传到 Fortify 仪表板。
param (
[string]$SourceRoot = "\"
)
$SolutionPath = "$($SourceRoot)\Code\Test.Web.sln"
$VersionID = "10101"
$UpToken = "98752711-c3e1-4d03-8dea-51f150638994"
$Excludes = @(
"$($SourceRoot)\code\unit.tests\**\*;",
"$($SourceRoot)\code\prototypes\**\*;",
"$($SourceRoot)\code\tools\**\*;"
)
.\sourceanalyzer -b "APP" -clean
.\sourceanalyzer -b "APP" -exclude "$($Excludes -join'')" msbuild /t:rebuild $SolutionPath
./scancentral.bat -url "http://10.10.10.10:8181/scancentral-ctrl" start -upload -versionid $VersionID -uptoken $UpToken -b "APP" -scan
.\sourceanalyzer -b "APP" -clean