From nike-skills
不具合や脆弱性の調査を体系的に行う。バグ報告の根本原因解析、セキュリティ脆弱性の特定、影響評価、修正方針の策定を一貫して実施し、`docs/investigations/<slug>/report.md` にレポートを出力する。ユーザーが「バグを調査」「脆弱性を調べて」「セキュリティレビュー」「<エラー>の原因を調べて」と依頼した場合に使用。攻撃手法の生成ではなく、防御視点での発見と修正提案に徹し、修正自体は implement Skill に引き渡す。
How this skill is triggered — by the user, by Claude, or both
Slash command
/nike-skills:investigateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
報告された不具合の根本原因解析、または事前のセキュリティレビューを行い、構造化されたレポートとして残す。**修正は実施せず**、`implement` Skill またはユーザーに引き渡す。
報告された不具合の根本原因解析、または事前のセキュリティレビューを行い、構造化されたレポートとして残す。修正は実施せず、implement Skill またはユーザーに引き渡す。
CLI のパスはプラグイン環境で ${CLAUDE_PLUGIN_ROOT}/scripts/nike.py、ローカルで scripts/nike.py。
| やりたいこと | コマンド | 効果 |
|---|---|---|
| レポート雛形を生成 | python3 <nike.py> investigate-init <slug> --type <bug|security|both> --title "<タイトル>" | docs/investigations/<slug>/report.md を生成 (git HEAD も自動記録) |
| セキュリティスキャナ一括実行 | python3 <nike.py> scan | npm audit / pip-audit / cargo audit / gosec / govulncheck / semgrep / bandit / safety のうち利用可能なものを実行し JSON 集約 |
| 既存実装のコマンド検出 | python3 <nike.py> detect | 関連する lint/test 等を確認したい場合 |
scan は exit code を解釈せずにそのまま返す。多くのスキャナは「検出あり = 1」で終わるので、AI 側で検出件数を見て判定する。
ユーザーから以下を聞く(足りない情報のみ、まとめて):
スラグを kebab-case で決定(例: 「ログイン後の404」→ post-login-404、「検索のXSS」→ search-xss)。
python3 <nike.py> investigate-init <slug> --type <種別> --title "<タイトル>"
これで docs/investigations/<slug>/report.md が雛形で生成される。
git log --oneline -20 <関連パス> で確認git blame で該当行の変更経緯を確認レポートの「2. 症状 / 報告内容」と「3. 調査経緯」に逐次記録する。
python3 <nike.py> scan
利用可能なスキャナが自動検出されて一括実行される。結果 JSON から:
スキャナが入っていなければ手動レビューに切り替え(インストールを提案する場合は npm audit / pip-audit / semgrep など軽いものを優先)。
file:line で具体的にレポート末尾の「8. implement Skill への引き渡し」に:
を記載する。これにより implement Skill が実装計画を立てやすくなる。
レビュー時に以下を順に確認すると漏れが減る:
| 観点 | チェック内容 |
|---|---|
| Injection | SQL / Command / LDAP / NoSQL / 文字列連結や shell=True を grep |
| 認証 | パスワード保管 (bcrypt等)、セッション固定、ブルートフォース対策 |
| 認可 | IDOR、横の認可(同権限ユーザー間のデータ漏洩)、ロールチェック漏れ |
| データ保護 | TLS、機密情報の log 出力、暗号化されていない保管 |
| XSS | 出力時のエスケープ、CSP、innerHTML/dangerouslySetInnerHTML の使用 |
| CSRF | 状態変更操作のトークン検証、SameSite cookie |
| SSRF | 外部 URL 取得時のホワイトリスト、内部メタデータエンドポイントへの到達可否 |
| 認証情報露出 | リポジトリ内のハードコード、env 読込時の混入 |
| 依存ライブラリ | nike scan で npm/pip/cargo audit を実行 |
| ロギング | 機密情報のマスキング、改ざん検知の有無 |
implement Skill に委ねる。ただし軽微な typo 等で安全な修正は提案後ユーザー許可を得て対応してよい。nike を使う。AI は判断と説明に集中する。npx claudepluginhub n-i-ke/nike-skills --plugin nike-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.