mcpField
T
taskbounty-check

taskbounty-check

ローカル
github.com/eliottreichセキュリティ219 週間前に更新

taskbounty-check について

taskbounty-checkは、GitHub ActionsとCI設定の保守上の問題をスキャンするツールで、アプリケーションリポジトリを管理する開発者やチーム向けです。既定ではローカルで動作し、HTMLとJSONのレポートを作成します。アプリのコードは調べず、包括的なセキュリティ監査も行いません。

主な機能

  1. 01Actionの固定とワークフローのトークン権限を確認
  2. 02権限宣言の不足と更新自動化を検出
  3. 03ワークフローと更新設定をローカルでスキャン
  4. 04HTMLとJSONのレポートを作成
  5. 05コードスキャン用のSARIFを生成

活用シーン

  1. 01リポジトリのGitHub Actions設定の確認
  2. 02複数リポジトリのCI保守状況の確認
  3. 03GitHub Actionsの実行結果に保守要約を追加
  4. 04エディターのエージェントで検出結果を確認

MCP 対応

ローカルstdioのMCPサーバーがscan_repo、explain_finding、generate_fix_planを提供します。ローカルでスキャンし、外部への通信やファイルの変更は行いません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"eliottreich-taskbounty-check": {
"command": "npx",
"args": [
"-y",
"taskbounty-check"
]
}
}
}
起動コマンドnpx -y taskbounty-check

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtaskbounty-check0.1.6

ツール

3

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringいいえリポジトリまたはリポジトリ群のディレクトリのローカルパス。デフォルトは現在のディレクトリです。

詳細

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 出力から生成された実際のサマリーです。

TaskBounty check:GitHub Actions のメンテナンスサマリー

このリポジトリの 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 ページで確認できます)。デフォルトの実行では外部へのリクエストは行われず、何もアップロードされません。データの取り扱いと対象範囲の境界の詳細は、方法論をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。