security-review について
security-reviewは、変更内容をセキュリティの観点から確認する開発者向けスキルです。差分と関連する呼び出し経路に範囲を絞り、重大度別の指摘と修正案を示します。
主な機能
- 01差分に絞ったセキュリティレビュー
- 02認証と認可の確認
- 03入力・データ・シークレットの確認
- 04ネットワークと危険なAPIの確認
- 05重大度別の指摘と修正案
活用シーン
- 01マージ前のプルリクエスト確認
- 02変更コードのアクセス制御確認
- 03危険な入力処理やシークレット漏えいの発見
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ imrangadzhiev/ anti-slop --skill security-reviewインストール後、Claude Code で/security-reviewを入力して読み込まれたか確認します。
詳細
セキュリティレビュー
セキュリティを意識したシニアエンジニアのように、現在の変更をレビューします。一般的なアドバイスよりも、具体的な指摘を優先してください。
スコープ
diff と直接関連する呼び出しパスに注目してください。依頼されない限り、リポジトリ全体を監査しないでください。
チェックリスト
認証とアクセス
- すべての機微な操作で認証および認可をチェックしている
- クライアントから渡された ID を所有者の証明として信頼していない(body 内の
userId≠ 証明) - 管理用/デバッグ用ルートは保護されている。「一時的な」開放エンドポイントが存在しない
入力とデータ
- ユーザー入力は境界で検証されている(型、長さ、許可リスト)
- SQL/NoSQL/検索クエリはパラメータ化されている — 文字列連結は不可
- HTML/Markdown/ユーザーコンテンツはレンダリング時にエスケープまたはサニタイズされている
- ファイルアップロード: サイズ制限、型の許可リスト、Web ルート外への保存、ランダム化された名前
- パスの結合が意図したディレクトリを脱出できない(
../)
シークレットと設定
- ソース、ログ、クライアントバンドル、実際の値が入った env サンプルファイルにシークレットがない
- 新しい環境変数が文書化されている。デフォルト値は本番環境で安全である
- トークン/パスワードが分析やエラートラッカーに書き込まれていない
ネットワークとサーバー
- 外向きのフェッチが、許可リストなしに生のユーザー URL を受け入れていない(SSRF)
- CORS は最小権限である。資格情報は必要な場合のみ
- Cookie: 該当する場合は
HttpOnly、Secure、SameSite
危険な API
-
eval、dangerouslySetInnerHTML、サニタイズされていない入力を伴うシェルのexecが存在しない - 信頼できないデータのデシリアライズは回避または堅牢化されている
- 暗号/認証ライブラリは標準的なもの — 自作の JWT/暗号は不可
出力形式
指摘をグループ化します:
| 重大度 | ルール | 場所 | なぜ重要か | 修正 |
|---|---|---|---|---|
| Critical / High / Medium / Low / Note | 短い名前 | file:line またはシンボル | 1 文 | 具体的な変更 |
最後に:
- ブロッカー — マージ前に必ず修正
- フォローアップ付きで出荷可能 — 任意
問題がない場合: その旨を明示し、何をチェックしたかを列挙してください。
コメント
Markdown 対応