cc-safety-net の最新リリースにのみ提供されます。古いバージョンを使っている場合は、アップグレードしてから問題を再現し、報告してください。
CC Safety Net が何を守り、何を信頼するかはセキュリティモデルを参照してください。正式なポリシーは、ソースリポジトリの SECURITY.md です。
脆弱性を非公開で報告する
セキュリティ脆弱性を公開の GitHub Issue で報告しないでください。 利用できる場合は、リポジトリで GitHub のプライベート脆弱性レポートを使ってください。利用できない場合は、メンテナー宛て(jliew@420024lab.com)にメールを送ってください。 差し支えのない範囲で、次の情報を含めてください。- 影響を受ける
cc-safety-netのバージョン - OS とランタイムのバージョン
- 影響を受ける連携(Claude Code、OpenCode、Gemini CLI、GitHub Copilot CLI、Grok Build、Factory Droid、Devin CLI、Codex など)
- 再現手順と、CC Safety Net を迂回・弱体化・悪用するコマンドまたは入力
cc-safety-net explainやcc-safety-net doctorの関連する出力- データ損失、コマンド実行、シークレットの露出など、具体的なセキュリティ上の影響につながるかどうか
explain と doctor の出力にはパスとホスト名が残るため、先にトレースを共有する前にを読んでください。
公開または非公開の報告を選ぶ
判断の基準は 1 つです。ツールが破壊的コマンドを止め損ねたのか、それともツール自体が害を生んだのか。 CC Safety Net がブロックすべきだったコマンドは、公開の GitHub Issue で報告するバグです。strict と paranoid の脅威モデルは、攻撃者がエージェントに任意の破壊的コマンドを出させられることを前提にしています。そのため「この形式のコマンドは検出されない」と公開しても、攻撃者に新しい情報は渡りません。公開したほうが修正は早く進み、ほかのユーザーもその間にカスタムルールを追加できます。 ツール自体が、呼び出し元がもともと持っていないシークレットを漏らした、自身のディレクトリの外にファイルを書き込んだ、改ざんされたパッケージを配布した、という場合は、脆弱性として非公開で報告してください。セキュリティ問題に該当するもの
次の問題は非公開で報告してください。- ブロックメッセージ、監査ログ、診断出力、デバッグ出力を経由した、ツール呼び出しが渡していないシークレット(ツールが読み取ったファイルの内容や環境変数の値など)の漏えい
- 誤検知レポートの事前入力に、レポートのプレビューでは置き換え済みとされているパスが残っている場合
- 監査ログの記録や設定処理におけるパストラバーサルやファイルシステムの問題で、細工された入力によって意図したディレクトリの外に書き込まれるもの
- 公開 npm パッケージやプラグイン配布に影響するサプライチェーンやパッケージングの問題。ルールブックの完全性に関わるものを含みます
代わりに公開 Issue で報告するもの
次の問題は、通常の GitHub Issue で報告してください。- 破壊的コマンドの実行を許してしまう迂回やフェイルオープン。ルールがまだブロックしないコマンドの検出漏れ、パーサー・トークナイザー・ラッパー解析のエッジケース、ブロックせずにコマンドを通してしまう解析エラーを含みます。そのまま貼り付けて悪用できるプロンプトインジェクションの攻撃コードではなく、コマンドの形式を報告してください。
- マスク処理の漏れ。マスク処理が認識しない資格情報の形式や、対象外のフィールドが該当します。ただし、その値がツール呼び出し自体に含まれていたもので、呼び出し元に返す拒否メッセージかローカルの監査ログにしか現れない場合に限ります
- 安全なコマンドがブロックされる誤検知
- 不足している利便性向上のルールや、新機能の要望
- ドキュメントの誤り
- セキュリティ上の影響がないインストールの問題
- カスタムルールや設定についての質問
破壊的コマンドの検出漏れは、深刻に見える場合でも公開扱いのままです。メンテナーが脆弱性に再分類することはありません。非公開の経路は、上に挙げた分類にだけ使ってください。standard モードで文書化された緩和によって許可されるコマンドは、検出漏れには当たりません。standard は可能な範囲で検出するレベルで、これらの形式に対してフェイルクローズになるのは strict と paranoid です。