Snyk Vulnerability Scanner

Polar Sponsor
爱发电 赞助
.NET 9.0

自动化 Snyk 安全漏洞扫描、GitHub 问题报告和自动修复 PR 创建,适用于仓库安全扫描。

Snyk 弱点扫描器

功能概述

Snyk 弱点扫描器是一项面向实际任务的技能,主要用于使用 Snyk 对 GitHub 仓库进行自动安全弱点扫描和修复;What It Does.;

核心要点

  • Scans 仓库使用 Snyk 进行安全弱点扫描;
  • Report。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Snyk 漏洞扫描器

使用 Snyk 对 GitHub 仓库执行自动化安全漏洞扫描与修复。

功能说明

  1. 扫描:使用 Snyk 扫描仓库中的安全漏洞
  2. 报告:将扫描结果以 GitHub Issue 形式提交(按软件包分组)
  3. 自动修复:应用 Snyk 补丁并创建 Pull Request 完成修复

前提条件

使用本技能前,请确保满足以下条件:

  1. Snyk CLI 已安装:npm install -g snyk,并已完成认证:snyk auth
  2. GitHub CLI 已安装:brew install gh,并已完成认证:gh auth login
  3. jq 已安装:brew install jq(用于 JSON 数据处理)
  4. 您对目标仓库具有 写入权限

工作流

扫描仓库 → 创建 GitHub Issue → 自动修复 → 创建 PR

严重性等级

  • critical — 仅扫描严重性为 critical 的漏洞
  • high — 扫描 high 及以上严重性的漏洞(默认值)
  • medium — 扫描 medium 及以上严重性的漏洞
  • low — 扫描所有严重性等级的漏洞

使用方法

完整自动化工作流

运行完整的扫描 → 报告 → 修复流程:

./scripts/run-full-workflow.sh  [base-branch] [severity] [skip-issues] [skip-fix] [dry-run]

参数说明:

  • repo-url — 完整的 GitHub URL(必填)
  • base-branch — PR 的目标分支(默认为 dev)
  • severity — 逗号分隔的严重性等级(默认为 high,critical)
  • skip-issues — 设为 true 则跳过 GitHub Issue 创建(默认为 false)
  • skip-fix — 设为 true 则跳过自动修复(默认为 false)
  • dry-run — 设为 true 则模拟执行,不实际修改任何内容(默认为 false)

示例:

# 使用默认参数执行完整工作流
./scripts/run-full-workflow.sh https://github.com/owner/repo

# 仅扫描,跳过修复步骤
./scripts/run-full-workflow.sh https://github.com/owner/repo dev high false true false

# Dry run:执行全部步骤但不产生实际变更
./scripts/run-full-workflow.sh https://github.com/owner/repo dev high,critical false false true

# 仅执行修复(跳过 Issue 创建),目标分支为 main
./scripts/run-full-workflow.sh https://github.com/owner/repo main high true false false

分步使用指南

1. 仅执行扫描

./scripts/snyk-scan.sh  [output-file] [severity-filter]

生成包含漏洞详细信息的 JSON 文件。

示例:

./scripts/snyk-scan.sh https://github.com/owner/repo results.json high,critical

2. 创建 GitHub Issue

python3 scripts/create-github-issues.py  

为每个存在漏洞的软件包创建一个 GitHub Issue,并将该软件包涉及的所有 CVE 合并在同一 Issue 中。

3. 自动修复并创建 PR

./scripts/snyk-auto-fix.sh  [base-branch] [dry-run]

应用 Snyk 提供的修复方案,并向指定分支提交 Pull Request。

示例:

./scripts/snyk-auto-fix.sh https://github.com/owner/repo dev false

支持的包管理器

  • npm/yarn(package.json)
  • Python(requirements.txt、Pipfile、pyproject.toml)
  • Gradle(build.gradle)
  • Maven(pom.xml)

GitHub Issue 规范

创建的 Issue 包含以下内容:

  • 标签:security、vulnerability、snyk
  • 标题中包含软件包名称及对应严重性等级
  • 正文详细列出该软件包涉及的所有 CVE
  • 附带指向 Snyk 页面的链接以获取更多信息
  • 标明是否支持自动修复

防重复机制:若同一软件包已存在相似 Issue,则不会重复创建。

Pull Request 规范

生成的 PR 包含以下内容:

  • 分支名:snyk-fix-
  • 正文包含修复摘要、已更改文件列表以及剩余未修复漏洞说明
  • 标签:security、dependencies、snyk
  • 目标分支:dev 分支(可配置)

Cron / 自动化定时执行

如需定期执行扫描,可通过系统 cron 调用本技能:

# 添加至 cron,每天上午 9 点执行扫描
0 9 * * * cd ~/.openclaw/workspace/skills/snyk-vulnerability-scanner && ./scripts/run-full-workflow.sh https://github.com/owner/repo

或通过 OpenClaw 内置 cron 实现直接集成:

{
  "name": "snyk-daily-scan",
  "schedule": { "kind": "cron", "expr": "0 9 * * *" },
  "payload": {
    "kind": "agentTurn",
    "message": "Run Snyk vulnerability scan on https://github.com/owner/repo and create fixes for dev branch"
  }
}

脚本参考

脚本 用途
run-full-workflow.sh 主入口脚本 — 执行完整工作流
snyk-scan.sh 扫描仓库并输出 JSON 格式结果
create-github-issues.py 根据扫描结果创建 GitHub Issue
snyk-auto-fix.sh 应用修复并创建 PR

故障排查

“Snyk 未认证”
→ 执行:snyk auth

“GitHub CLI 未认证”
→ 执行:gh auth login

“未发现漏洞”
→ 登录 Snyk 控制台查看项目状态;可能需要先手动导入仓库

脚本执行时报 “Permission denied”
→ 执行:chmod +x scripts/*.sh

自动修复失败
→ 部分漏洞不支持自动修复;请查阅 Snyk 控制台提供的修复建议

Dry run 显示有变更,但实际运行无效果
→ 检查 Snyk 是否为对应漏洞提供了可应用的修复建议;部分漏洞需手动更新依赖版本

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习