关于 taskbounty-check
taskbounty-check 扫描 GitHub Actions 和 CI 配置中的维护规范问题,适用于维护应用仓库的开发者和团队。默认在本地运行并生成 HTML 与 JSON 报告;它不检查应用代码,也不是完整安全审计。
主要功能
- 01检查 Action 固定版本和工作流令牌权限
- 02检测权限声明缺失及更新自动化
- 03在本地扫描工作流和更新配置
- 04生成 HTML 和 JSON 报告
- 05生成供代码扫描使用的 SARIF
适用场景
- 01检查仓库的 GitHub Actions 配置
- 02批量检查多个仓库的 CI 规范
- 03在 GitHub Actions 运行记录中添加维护摘要
- 04通过编辑器 Agent 查看扫描结果
MCP 相关
其本地 stdio MCP 服务提供 scan_repo、explain_finding 和 generate_fix_plan。服务在本地扫描,不发起出站请求,也不修改文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 否 | 仓库或仓库目录的本地路径。默认为当前目录。 |
详细介绍
taskbounty-check
用于检查 GitHub Actions 和 CI 维护规范的本地工具(第三方 Action 固定、工作流令牌权限和更新自动化),适用于使用 Lovable、Bolt、Replit、Cursor 或 v0 发布的应用。
默认在本地运行。不上传。不进行遥测。 它只会读取本机上的工作流文件。默认代码路径不会发起任何出站网络请求,会在本地生成报告,也不会将任何内容发送到其他地方。它不会进行任何形式的分析或回传。只有选择启用的 --gh-org 模式会使用网络(通过你自己的 gh 会话)。
适用于 Cursor、Claude Code 和 Codex(下文提供本地 MCP 服务)。
三种使用方式
1. GitHub Action — 在 CI 中添加维护检查,并将摘要写入运行记录(不会发表评论,也不会上传源代码):
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- run: npx [email protected] . --github-summary --no-network
想让真人解读或修复 Action 检查出的内容?申请免费的发布安全审查。除非你提交该表单,否则 TaskBounty 不会访问你的代码仓库、源代码或工作流。
2. Agent / MCP — 适用于 Cursor、Claude Code 和 Codex 的本地 stdio 服务:
npx -y [email protected] mcp
3. 一次性 CLI — 在本地扫描当前代码仓库并生成报告:
npx -y [email protected] .
在已提交的配置和 CI 中固定版本(
@0.1.6),以确保可复现。@latest适合快速的一次性使用,但固定版本才是可复现的选择。
GitHub 作业摘要
该 Action 会在工作流运行记录中写入仅包含计数的维护摘要(类别和后续步骤,不包含文件名、行号或代码仓库源代码)。以下是从本代码仓库自己的 CI 输出中生成的原样摘要:

可在此代码仓库的 Actions 运行记录中查看 self-check 作业实时生成的摘要。
想要跟随引导逐步操作?请参阅五分钟真实代码仓库快速入门。
了解更多
支持的检查(及坦诚说明的限制)
检查内容(GitHub Actions 和 CI 维护规范):
- 第三方 Action 固定到可变标签或分支,而非提交 SHA
- 宽泛的(全部可写)工作流令牌权限
- 缺少明确的
permissions:块 - 是否存在更新自动化工具(Dependabot/Renovate)
- 标记需要私下审查、视上下文而定的工作流模式(例如
pull_request_target、脚本注入)
不会检查的内容(这些需要人工审查):暴露的密钥、身份验证/授权、支付、Webhook、运行时行为。这是一项维护规范检查,不是完整的安全审计或渗透测试。
功能
- 只读取 GitHub Actions 工作流文件和更新自动化配置,在进程内使用确定性规则集进行扫描(规则与公开检查器相同),并生成本地 HTML + JSON 报告。它不会执行工作流、安装依赖项或运行任何代码仓库代码。
模式
| 模式 | 命令 | 网络 |
|---|---|---|
| 单个代码仓库 | npx taskbounty-check . | 无 |
| 代码仓库目录 | npx taskbounty-check ./all-repos | 无 |
| 指定路径 | npx taskbounty-check --manifest repos.json | 无 |
GitHub 组织(使用你的 gh 会话) | npx taskbounty-check --gh-org <org> | 是,需主动选择 |
--gh-org 会使用你现有的 gh CLI 会话,将每个代码仓库的工作流文件获取到本机(只读)。此工具不会读取你的 GitHub 令牌,也不会将令牌发送给 TaskBounty。
读取、写入和传输的内容
随时运行 --explain-data 来打印此信息。
- 读取(允许列表——不会打开其他内容):
<repo>/.github/workflows/*.yml|*.yaml和 更新自动化配置(dependabot.yml/renovate.json*)。绝不读取源文件、.env、 密钥、SSH 密钥、凭据存储,或所选仓库根目录之外的任何内容。 如果符号链接指向根目录之外,则会跳过,绝不跟随。 - 写入(仅本地):
<out>.json(完整详情)和<out>.html。 - 传输: 默认不传输任何内容。
--share不会上传任何内容——它会写入一个已清理、 仅包含计数的文件(扫描 ID、标签、按类别统计的候选项数量、私密审查数量、 扫描器版本、时间戳;只有使用--include-repo-names时才包含仓库名称),供你 手动提交。使用--share时,网络访问保持关闭。只有--gh-org会主动使用网络。
标志
--share · --gh-org <org> · --manifest <file> · --org-label <label> ·
--include-repo-names · --dry-run · --explain-data · --delete-local-report ·
--no-network(除 --gh-org 外均为默认值)· --out <basename> · --version · --help
需要帮助解读或修复这些结果?
申请免费的 20 分钟发布安全审查: https://www.task-bounty.com/ai-app-security-check/review?utm_source=npm&utm_medium=npm_readme&utm_campaign=workflow_security
除非你提交该表单,否则 TaskBounty 不会收到任何内容。 扫描在本地运行,完整 报告保留在你的计算机上;审查表单不会让我们访问你的仓库、源代码、 工作流或密钥。
GitHub 代码扫描(SARIF)
生成 SARIF 2.1.0,并在仓库的 Security → Code scanning 选项卡中显示发现结果:
npx taskbounty-check@latest . --format sarif --output taskbounty.sarif
SARIF 包含确定性的规则 ID(taskbounty/<rule>)、严重级别和文件/行
引用——不包含源代码内容、密钥或环境变量值,且不会访问网络。
已确认的发现会以 kind: fail 输出;置信度较低的项目会以 kind: review 输出。
使用官方操作上传(完整示例见 examples/code-scanning.yml):
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- run: npx [email protected] . --format sarif --output taskbounty.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: taskbounty.sarif
本地 Agent(MCP)
运行一个本地 stdio MCP 服务,让 Codex、Claude Code 或 Cursor 能在你的编辑器中扫描并分析发现结果。它在本地运行,不会发出任何出站网络请求,不会上传源代码,且绝不会修改文件——generate_fix_plan 会以文本形式返回计划,供你自行应用。
npx taskbounty-check@latest mcp
工具:scan_repo(本地扫描摘要)、explain_finding(通俗易懂的说明)、generate_fix_plan(文本修复计划)。
Cursor——.cursor/mcp.json:
{ "mcpServers": { "taskbounty-check": { "command": "npx", "args": ["-y", "taskbounty-check@latest", "mcp"] } } }
Claude Code:
claude mcp add taskbounty-check -- npx -y taskbounty-check@latest mcp
Codex——位于 ~/.codex/config.toml 中:
[mcp_servers.taskbounty-check]
command = "npx"
args = ["-y", "taskbounty-check@latest", "mcp"]
安全性
零运行时依赖。发布到 npm 时附带来源证明(可在软件包的 npm 页面上验证)。默认运行不会发出任何出站请求,也不会上传任何内容;完整的数据处理方式和范围边界请参见 方法说明。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。