首页 > 解决方案 > 在 CheckMarx 扫描中排除文件夹

问题描述

我正在我们的代码存储库中实施 Checkmarx 扫描。我正在使用 Jenkins 和 CheckMarx 插件来完成这项任务。我想从扫描中排除一些文件夹;引用 Jenkins插件文档似乎我所要做的就是在“excludeFolders”字段中添加文件夹名称。但是,这似乎不起作用,或者我没有正确输入值。

我试过'/test','test/','!/test/ /*' 但没有任何作用,并且该文件夹在上传到我们的 CheckMarx 服务器之前仍然被注册和压缩。

以下是我的管道中的内容:

stage("Running CheckMarks for Layer"){
            steps{
                script{
                    def layer_dir = readFile file: 'layer-list'
                    def layer_list = layer_dir.split('\\r?\\n')
                    println (layer_list)
                    layer_list.each { layer ->
                        print (layer)
                        dir("${env.WORKSPACE}/layers/layer-name/$layer"){
                            step([
                                $class: 'CxScanBuilder',
                                comment: 'Layer scanning',
                                credentialsId: 'XXXX',
                                excludeFolders: 'test',
                                exclusionsSetting: 'global',
                                failBuildOnNewResults: false,
                                failBuildOnNewSeverity: 'MEDIUM',
                                filterPattern: '''!**/_cvs/**/*, !Checkmarx/Reports/*.*''',
                                fullScanCycle: 10,
                                incremental: true,
                                fullScansScheduled: true,
                                generatePdfReport: true,
                                preset: '36',
                                teamPath: "\\path\\to\\codebase",
                                projectName: "$layer",
                                sastEnabled: true,
                                sourceEncoding: '1',
                                vulnerabilityThresholdResult: 'FAILURE',
                                waitForResultsEnabled: true
                            ])
                        }
                    }
                }
            }
        }

关于如何排除“测试”文件夹的任何建议?

标签: jenkinsjenkins-pluginscheckmarxsastdevsecops

解决方案


您应该将 excludesSetting 更改为'job'而不是'global',我们无法覆盖全局配置。

然后您可以在filterPattern中添加更多过滤器。


推荐阅读