Skip to content
cccskills
FreePublished on GitHub

Secret / Credential Scan 機密情報の混入検出

差分に追加された API キー・トークン・credential・秘密鍵・.env 値・個人ローカルパスなどの機密情報を、言語・ファイル種別に依存せず検出する。決定論的に判定できる範囲は CI(gitleaks 等)へ移譲しつつ、レビューで取りこぼしを補足する

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (10)

  • SKILL.md6.2 KB
  • eval/promptfoo.yaml2.0 KB
  • fixtures/01-true-positive-hardcoded-key.md2.0 KB
  • fixtures/02-false-positive-lockfile-integrity.md2.2 KB
  • fixtures/03-no-review-no-secret.md1.5 KB
  • golden/01-true-positive-hardcoded-key.md1.9 KB
  • golden/02-false-positive-lockfile-integrity.md1.0 KB
  • golden/03-no-review-no-secret.md729 B
  • prompt/system.md3.0 KB
  • prompt/user.md1.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Pattern declaration

Primary pattern: Reviewer Secondary patterns: Inversion Why: 機密情報の検出はパターン的・決定論で判定できる領域が大きく、本来は CI に委ねるべき。一方で CI 未整備のリポジトリや、CI が見ない種別(個人パス・ローカル設定)を補足する補助レビューとして機能する。秘匿情報を含む追加が無ければ実行を止めるゲートが必要。

Goal / 目的

  • 差分へ新規追加された機密情報を、言語やファイル種別を問わず検出する。対象は API キー / トークン / credential / 秘密鍵 / .env 値 / 個人ローカルパス / ローカル固有設定とする。
  • 既存の言語限定 secret チェック(security-basic は .ts/.tsx/.js/.jsx、config-json は .json/.yml)が見ない種別・ファイルの取りこぼしを補う。

Non-goals / 扱わないこと

  • アプリコード内の SQLi / XSS など機密以外のセキュリティ(security-basic の領域)。
  • BaaS のルール/鍵露出(firebase-security-rules / supabase-rls-policy の領域)。
  • 決定論で完全な判定ができる検出を恒久的な肩代わりとすること(本スキルは CI = gitleaks / trufflehog 等の導入を促し、移譲する)。

Pre-execution Gate / 実行前ゲート

このスキルは以下の条件がすべて満たされない限り NO_REVIEW を返す。

  • 差分の追加行に、機密情報の候補(高エントロピー文字列・API_KEY/SECRET/TOKEN 等のキー・-----BEGIN ... PRIVATE KEY-----・/Users/ や /home/、C:\Users\ で始まる個人パス・.env 実値行)が含まれている
  • inputContext に diff が含まれ、code_search(grep)が利用可能である

ゲート不成立時の出力: NO_REVIEW: secret-credential-scan — 機密情報の候補が差分に検出されない

False-positive guards / 抑制条件

  • プレースホルダ・例値(xxx / your-api-key / dummy / example / <...> / ***)は指摘しない。
  • .env.example / .env.sample / .env.template などサンプルファイルのプレースホルダは指摘しない(実値が入っていれば指摘する)。
  • テストフィクスチャ・ドキュメントの明らかな擬似値は指摘しない。実在しうる形式(本物の鍵長・接頭辞 sk- / ghp_ / AKIA 等)の場合のみ指摘する。
  • 既に環境変数参照(process.env.X / os.environ[...])に置き換わっている場合は指摘しない。
  • 既存行(差分の文脈行)にあるだけで追加・変更されていない機密は対象外(追加・変更行のみ)。

Rule / ルール

検出ロジック

  1. 候補抽出: 差分の追加行から次の機密候補を抽出する。
    • 鍵名(API_KEY/SECRET/TOKEN/PASSWORD/CREDENTIAL)への実値代入
    • 既知接頭辞(sk-/ghp_/AKIA/AIza 等)や -----BEGIN ... PRIVATE KEY-----
    • 高エントロピー文字列、個人パス(/Users/<name>/、/home/<name>/、C:\Users\<name>\)、実値入り .env 行
  2. 実値判定: プレースホルダ・例値・環境変数参照を code_search で確認して除外し、実在しうる値のみ残す。
  3. 報告: 該当箇所を <file>:<line> で示し、機密の種別と推奨対応(環境変数 / Secrets への移動、コミット履歴からの除去、CI secret-scan の導入)を述べる。値そのものは出力に再掲しない(マスクする)。

制約

  • 検出は最大 5 件。実害の大きいもの(本物の鍵・credential)を優先する。
  • 各指摘に「種別」「混入箇所」「推奨対応」を必ず含める。
  • 機密の値そのものは出力へ再掲せず、種別と位置のみ示す。
  • 決定論で完全に検出できる範囲は「CI(gitleaks 等)での恒久ガードを推奨」と必ず併記する。

Evidence / 根拠の取り方

  • 混入箇所は必ず <file>:<line> に紐づけ、推測で「秘密だ」と断定しない。
  • プレースホルダか実値かの判定根拠(接頭辞・鍵長・形式)を具体的に示す。

Output / 出力フォーマット

すべて日本語。

(secret-scan):1: [要約] 最も重大な機密混入は〈1文〉

<file>:<line>: [機密混入1] <タイトル>
  種別: <API キー / トークン / 秘密鍵 / credential / 個人パス / .env 実値>
  混入: <どこに何が追加されたか(値はマスク)>(<file>:<line>)
  影響: <漏洩リスク / 権限奪取 / 環境依存の壊れ>
  Fix: <環境変数・Secrets への移動/履歴からの除去/CI secret-scan(gitleaks 等) の導入>

評価指標(Evaluation)

  • 合格基準: 実在しうる機密のみを <file>:<line> で示し、プレースホルダ・例値・環境変数参照を誤検出していない。値を再掲していない。
  • 不合格基準: プレースホルダへの誤検出、既存行への指摘、値の再掲、機密と無関係な高エントロピー文字列(ハッシュ・UUID)への難癖。

人間に返す条件(Human Handoff)

  • 検出値が実在の機密と擬似値のどちらなのか、コードからは断定できない場合。
  • 既にコミット済みの機密について、履歴除去・鍵ローテーションの要否が運用判断を要する場合。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

<What this skill does>

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

画像・ボタン・フォーム要素に適切なアクセシブルネームがあるか確認する。

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

Ensure ADRs capture context, decision, alternatives, tradeoffs, and follow-ups in a way that prevents future drift.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

敵対的分析手法を統合したレビューの entry skill。認知バイアス対策の3手法 (Pre-mortem / War Game / Logic Torturing)と、宣言・主張と実態の乖離を突く claim-vs-actual 検出3パターン(Self-Contradiction / Refactor-Claim Audit / Cross-File Leakage)へルーティングし、通常のレビューでは見えない設計の盲点・ 防御の穴・論理の弱点・宣言と実装のズレを可視化する。

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

Review changes to the Agent Skills import/export bridge for path safety, round-trip fidelity, and validation correctness.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

Checks whether AI-assisted work defines review criteria, accessible context, explicit review loop, human judgment boundary, and feedback capture before delegating to an agent.

The English summary is being prepared. Showing the original description.

s977043/river-review7Updated Oct 23, 2026

See all skills by s977043

Report a problem with this skill