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, 盲注攻击, 请求拦截, 错误基检测, 静态代码分析