You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snyk扫描项目时忽略文件夹?CLI与SCM场景实现方法

在Snyk中排除文件夹/目录的方法(CLI、SCM及项目类型差异)

首先明确:Snyk Code和Snyk开源在扫描时的排除逻辑有差异——Snyk Code会直接跳过指定目录下的所有代码文件,而Snyk开源则会避免解析这些目录里的依赖配置文件(比如package.json、pom.xml)。下面是三种可行的排除方法:

1. 用.snyk配置文件(持久化生效)

这是最通用的方式,不管是CLI扫描还是从SCM导入的项目都适用,能同时覆盖两种Snyk扫描类型。

  • 在项目根目录创建或编辑.snyk文件,按类型添加规则:
    针对Snyk开源的排除规则:
    exclude:
      - path: "./node_modules"
      - path: "./dist"
    
    针对Snyk Code的排除规则(需添加code字段):
    code:
      exclude:
        - "./test/**"
        - "./docs/*"
    
  • 规则支持通配符:**匹配多级目录,*匹配单级目录或文件
  • 该文件会被Snyk自动识别,无需额外操作即可生效

2. CLI扫描时用--exclude选项(临时生效)

适合临时调整扫描范围、不想修改配置文件的场景:

  • 扫描Snyk开源项目:
    snyk test --exclude=./node_modules --exclude=./dist
    
  • 扫描Snyk Code项目:
    snyk code test --exclude=./test/** --exclude=./docs
    
  • 注意:这个选项仅对当前执行的CLI命令有效,不会影响Snyk平台上的项目配置

3. SCM导入时通过UI配置(平台端持久化)

从GitHub、GitLab等平台导入项目到Snyk时,或者对已导入项目修改设置,都可以在UI里配置排除目录:

  • 导入新项目:在导入流程的「高级设置」里找到「排除文件夹」,输入要跳过的路径(比如node_modules/、test/**),支持添加多个
  • 已导入项目:进入项目详情页,点击「设置」→「扫描设置」,找到排除目录的配置项修改即可
  • 配置完成后,后续所有自动扫描都会跳过这些目录

内容的提问来源于stack exchange,提问作者Jonathan Gruber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:08:07