taskbounty-check について
taskbounty-checkは、GitHub ActionsとCI設定の保守上の問題をスキャンするツールで、アプリケーションリポジトリを管理する開発者やチーム向けです。既定ではローカルで動作し、HTMLとJSONのレポートを作成します。アプリのコードは調べず、包括的なセキュリティ監査も行いません。
主な機能
- 01Actionの固定とワークフローのトークン権限を確認
- 02権限宣言の不足と更新自動化を検出
- 03ワークフローと更新設定をローカルでスキャン
- 04HTMLとJSONのレポートを作成
- 05コードスキャン用のSARIFを生成
活用シーン
- 01リポジトリのGitHub Actions設定の確認
- 02複数リポジトリのCI保守状況の確認
- 03GitHub Actionsの実行結果に保守要約を追加
- 04エディターのエージェントで検出結果を確認
MCP 対応
ローカルstdioのMCPサーバーがscan_repo、explain_finding、generate_fix_planを提供します。ローカルでスキャンし、外部への通信やファイルの変更は行いません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | いいえ | リポジトリまたはリポジトリ群のディレクトリのローカルパス。デフォルトは現在のディレクトリです。 |
詳細
taskbounty-check
GitHub Actions と CI のメンテナンス衛生状態をローカルでチェックします(サードパーティアクションのピン留め、ワークフロートークンの権限、更新の自動化)。Lovable、Bolt、Replit、Cursor、または v0 で構築したアプリ向けです。
デフォルトでローカル実行。アップロードなし。テレメトリーなし。 お使いのマシン上で、ワークフローファイルのみを読み取ります。デフォルトのコードパスでは外部へのネットワークリクエストは発生せず、レポートはローカルに書き込まれ、どこにも送信されません。いかなる種類のアナリティクスやホームへの通信もありません。ネットワークを使うのは、オプトインの --gh-org モードのみです(ご自身の gh セッションを使用します)。
Cursor、Claude Code、Codex に対応しています(以下のローカル MCP サーバー)。
使い方は 3 通り
1. GitHub Action — CI にメンテナンスチェックを追加し、実行結果にサマリーを書き込みます(PR へのコメントやソースコードのアップロードはありません)。
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- run: npx [email protected] . --github-summary --no-network
Action が検出した内容を人に解釈してもらったり、修正してもらったりしたい場合は、無料のリリース安全性レビューをリクエストしてください。このフォームを送信しない限り、TaskBounty がリポジトリ、ソースコード、ワークフローにアクセスすることはありません。
2. エージェント/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 ジョブで、実際の出力をご覧いただけます。
ガイド付きの手順をご希望ですか?実際のリポジトリを使った 5 分間のクイックスタートをご覧ください。
詳細情報
- 方法論 — チェック対象と、検出内容のラベル付け方法について説明します。
- プライバシーと対象範囲 — デフォルトでローカル処理するデータの取り扱いについて説明します。
- 制限事項 — チェックしない項目について、以下で説明します。
対応するチェック(と制限事項)
チェック対象(GitHub Actions と CI のメンテナンス衛生状態):
- サードパーティアクションが、コミット 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 Code Scanning(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 として出力されます。
SARIF の結果の解釈についてのサポート:https://www.task-bounty.com/ai-app-security-check/review?utm_source=github&utm_medium=sarif_docs&utm_campaign=workflow_security
公式アクションでアップロードします(完全な例は 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
ローカルエージェント(MCP)
ローカルの stdio MCP サーバーを実行すると、Codex、Claude Code、Cursor がエディター内で検出結果をスキャンして分析できます。ローカルで動作し、外部へのネットワークリクエストは一切行わず、ソースをアップロードせず、ファイルを変更することもありません — generate_fix_plan はテキスト形式の計画を返すため、ご自身で適用できます。
npx taskbounty-check@latest mcp
ツール:scan_repo(ローカルスキャンの概要)、explain_finding(平易な言葉での説明)、generate_fix_plan(テキスト形式の修正計画)。
人による計画のレビューをご希望ですか? https://www.task-bounty.com/ai-app-security-check/review?utm_source=mcp&utm_medium=mcp_docs&utm_campaign=workflow_security
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。