pullguard-dev/pullguard-action

GitHub: pullguard-dev/pullguard-action

一款 GitHub Actions PR 扫描工具,在代码合并前自动执行安全漏洞检测、代码质量分析与合规框架审查。

Stars: 2 | Forks: 0

# PullGuard GitHub Action 在每次 pull request 时进行代码质量、安全与合规检查。 ## 快速开始 ``` # .github/workflows/pullguard.yml name: PullGuard on: [pull_request] permissions: contents: read pull-requests: write jobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: pullguard-dev/pullguard-action@v1 ``` 就这样。每个 PR 都会运行 14 个分析器 —— 无需许可证密钥,无需配置,无需账户。 ## 解锁 Pro / Team / Enterprise 将您的许可证密钥添加为仓库 secret 以解锁付费分析器: ``` - uses: pullguard-dev/pullguard-action@v1 with: license-key: ${{ secrets.PULLGUARD_LICENSE_KEY }} fail-on-severity: critical ``` ## 输入项 | 输入项 | 描述 | 默认值 | |-------|-------------|---------| | `license-key` | 解锁 Pro(43 个中的 42 个)、Team(全部 43 个,包括自定义规则 + SOC 2)或 Enterprise(相同的套件 + 通过合同提供 SSO/SLA/审计) | 空(免费层,14 个分析器) | | `fail-on-severity` | 在此严重级别下使工作流失败:`info`、`minor`、`moderate`、`major`、`critical` | 空(从不失败) | | `hourly-rate` | 用于成本估算的开发者小时费率 | `150` | | `config` | `.driftrc.yml` 配置文件的路径 | 自动检测 | | `path` | 要扫描的路径 | `.`(仓库根目录) | | `image-pin` | 指定要运行的扫描器镜像。`1`(默认)会跟踪最新的稳定 **v1.x 版本** —— 包含最新的安全修复,但绝不会有 `:latest` 那种每次合并带来的变动。设置为 `latest` 则使用每次合并到 main 分支时重新构建的最前沿镜像。锁定一个发布标签(例如 `v1.0.0`;永久保留)或 `sha256:` 摘要,以便为受控变更或气隙 CI 冻结一个确切的版本。 | `1` | ## 输出项 | 输出项 | 描述 | |--------|-------------| | `score` | Drift 分数(0-100,越低越好) | | `grade` | Drift 等级(A-F) | | `findings` | 总体发现数量 | ## 定价 ### 免费 — $0 14 个分析器,无限的公开仓库 + 1 个私有仓库。核心代码质量 + 供应链卫生:复杂度、死代码、重复代码、单体文件、命名、嵌套、导入、模块系统、文件结构、错误处理、测试模式、API 一致性,**危险的跟踪文件**(.env、id_rsa 等),**仓库卫生**(SECURITY.md、CODEOWNERS、LICENSE、CI 工作流的存在性)。 ### Pro — $29/月(1 个私有仓库) 独立开发者与单一项目。包含 Free 版的全部功能,外加 SQL 注入、XSS、SSRF、命令注入、路径遍历、硬编码的 secrets、不安全的加密、原型链污染、ReDoS、依赖项 CVE、类型覆盖率、架构违规、API 契约、AI 生成代码检测、变更成本估算、CORS、CSP、NoSQL 注入、**Dockerfile IaC**(以 root 用户运行、:latest、ADD-from-URL、嵌入式 secrets)、**git 历史记录 secret 扫描**、**GitHub Actions 安全**(pwn-request、脚本注入、未锁定的 actions、过高的权限)。43 个分析器中的 31 个。 ### Team — $99/月(10 个私有仓库,最多 20 名贡献者) 初创企业与中大型工程团队。包含 Pro 版的全部功能,外加**全部 43 个分析器**(增加了自定义规则 —— YAML 策略、自定义 taint 来源与 sink)以及 **SOC 2 安全证据**报告(CC3.1、CC3.2、CC6.1、CC6.8)。 ### Enterprise — 联系我们(年度合同) 无限制的私有仓库与贡献者。包含 Team 版的全部功能,外加 SSO(SAML / OIDC)、审计日志导出、专属 Slack 频道、优先支持(4 小时 SLA)、气隙部署。联系 [hello@pullguard.dev](mailto:hello@pullguard.dev)。 ## 验证已签名的发布(可选,供应链保障) PullGuard 使用运营者的 GPG 密钥对发布标签(`v[0-9]+.[0-9]+.[0-9]+`)和滚动更新的 `v1` ref 进行签名。有供应链合规性要求的客户可以进行加密验证: ``` # 一次性:获取 operator 公钥 gpg --keyserver keys.openpgp.org --recv-keys # 每次验证: git clone --depth=1 --branch=v1 https://github.com/pullguard-dev/pullguard-action /tmp/pga cd /tmp/pga git verify-tag v1 # exit 0 if signed by the trusted key ``` 运营者的 GPG 指纹发布在 [pullguard.dev/security](https://www.pullguard.dev/security) 和 [PullGuard GitHub 个人主页](https://github.com/orgs/pullguard-dev) 上。GitHub 在 action 仓库 Releases 页面上的 `Verified` 徽章可自动确认标签是由运营者上传的密钥签名的。 对于气隙 / 高保障环境,可将 `git verify-tag` 与上述的 `image-pin: sha256:` 输入项结合使用,以实现端到端的供应链保障:签名的源 ref → 已知的镜像摘要 → 可重现的扫描。 ## 联系方式 hello@pullguard.dev | [pullguard.dev](https://www.pullguard.dev)
标签:AI代码安全, GitHub Action, Redis利用, SAST, 盲注攻击, 请求拦截, 错误基检测, 静态代码分析