gy15901580825/athelper-probe-action
GitHub: gy15901580825/athelper-probe-action
封装 ATHelper 红队 CLI 的 GitHub Action,用于在 CI/CD 中对 AI 代理进行自动化安全探测并将结果集成到 GitHub Security。
Stars: 0 | Forks: 0
# athelper-probe-action
封装 [ATHelper](https://www.at-helper.com) 红队 CLI 的 GitHub Action,专为 AI 代理设计。
## 快速开始
```
- uses: gy15901580825/athelper-probe-action@v2
with:
api-token: ${{ secrets.ATHELPER_API_TOKEN }}
target-config: |
{
"kind": "openai_compat",
"endpoint_url": "https://api.openai.com/v1/chat/completions",
"model": "gpt-4o-mini",
"api_key": "${{ secrets.MY_AGENT_API_KEY }}"
}
threshold: warn
```
## 输入
| 名称 | 必填 | 默认值 | 描述 |
|---|---|---|---|
| `api-token` | 是 | — | ATHelper API token (`secrets.ATHELPER_API_TOKEN`) |
| `target-config` | 是 | — | 指向 `target.json` 的路径,或描述目标代理的内联 JSON |
| `probes` | 否 | `all` | 逗号分隔的探测 ID,或 `all` 代表完整库 |
| `threshold` | 否 | `warn` | `warn` / `block-on-critical` / `block-on-high` |
| `per-run-cap` | 否 | `0.50` | 每次运行的 USD 费用上限 |
| `cli-version` | 否 | `v0.1.1` | athelper-probe CLI 发布标签 |
## 目标模式
`target-config` 接受 5 种类型:
- `openai_compat` — 兼容 OpenAI Chat Completions 的 endpoint
- `anthropic_native` — Anthropic Messages API
- `custom_http` — 任何带有 Jinja2 模板化请求体 + JSONPath 响应提取的 HTTP endpoint
- `grpc` — 启用 reflection 的 gRPC 服务器
- `browser_use` — 使用浏览器的代理(DOM 注入 / UI 钓鱼 / 视觉提示注入 / OS-cmd 场景)
每种类型的完整字段参考:[ATHelper 文档](https://www.at-helper.com/docs/redteam/target-spec)。
## 它的工作原理
1. 从 `gy15901580825/at_helper_cli` releases 下载 `athelper-probe` 二进制文件
2. 对您的目标运行探测;输出 SARIF
3. 将 SARIF 上传至 GitHub code-scanning(Security 选项卡)
4. 在 PR 检查摘要中发布发现计数
5. 添加 PR 检查注解(每次检查最多 50 条)
6. 如果 `threshold` 设为 `block-on-critical` 或 `block-on-high`,并且运行结果达到触发条件,则以非零状态退出
## 阈值模式
- `warn`(默认)— 永远不会导致 PR 失败;在摘要中显示计数
- `block-on-critical` — 如果任何发现的严重性为 `critical`,则导致 PR 失败
- `block-on-high` — 如果任何发现的严重性为 `high` 或 `critical`,则导致 PR 失败
## 从 v1 迁移
`v1` 搭配的是 CLI `v0.1.0`,由于 `v0.1.1` 的 CLI 标志重命名而导致损坏。`v2` 是当前可用的版本。
与 `v1` 的破坏性更改:
- `probe-ids` 输入重命名为 `probes`。默认值现在是 `all`(CLI v0.1.1 要求此标志)。
- `cli-version` 默认值提升至 `v0.1.1`。
- CLI 二进制文件现在安装到 `$RUNNER_TEMP/athelper-bin` 而不是 `/usr/local/bin`(无需 `sudo`)。
通过将 `@v1` 更改为 `@v2` 并重命名输入来进行升级。
## 许可证
MIT。
标签:AI安全, Anthropic, ATHelper, Chat Copilot, CI/CD安全, CISA项目, CIS基准, DevSecOps, GitHub Action, gRPC, IP 地址批量处理, Llama, LLM安全测试, OpenAI, Petitpotam, Python工具, SARIF, 上游代理, 人工智能, 代码安全, 内存规避, 大模型安全, 安全扫描, 时序注入, 漏洞枚举, 用户模式Hook绕过, 红队评估, 结构化查询, 网络安全, 自动化安全, 自定义脚本, 隐私保护, 零日漏洞检测