secure-code-review について
Hack23プロジェクト向けのセキュリティ重視コードレビュー用スキルです。マージ前の脆弱性やポリシー違反の発見を支援し、レビュー項目と自動スキャン、リポジトリ制御の要件をまとめています。
主な機能
- 01変更マージ前のセキュリティレビュー
- 02OWASP Top 10リスクの確認
- 03入力・出力・認可制御の検証
- 04秘密情報・エラー処理・暗号化の確認
- 05自動スキャンとブランチ保護の要件
活用シーン
- 01プルリクエストのセキュリティ影響の確認
- 02新規エンドポイントの認可チェック
- 03追加依存関係の脆弱性リスク評価
- 04リポジトリの自動セキュリティ検査設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hack23/ homepage --skill secure-code-reviewインストール後、Claude Code で/secure-code-reviewを入力して読み込まれたか確認します。
詳細
セキュアコードレビューのスキル
目的
すべてのHack23プロジェクトでセキュリティを重視したコードレビューの実践を確立し、セキュリティ脆弱性、安全でないパターン、コンプライアンス違反を特定して修正したうえで、本番環境にコードを反映できるようにします。
ルール
レビュー要件
必須:
- マージ前に、すべてのコード変更についてセキュリティへの影響をレビューする
- 自動セキュリティスキャン(CodeQL、Dependabot)を第一の防御策として使用する
- すべてのレビューでOWASP Top 10の脆弱性を確認する
- 適切な入力検証と出力エンコーディングを確認する
- コードや設定にシークレット、認証情報、キーが含まれていないことを確認する
- 適切なエラー処理(情報漏えいがないこと)を検証する
- 新しいエンドポイントやリソースの認可制御を確認する
- 暗号関数が適切に使用されていることを確認する
- 追加された依存関係に既知の脆弱性がないかレビューする
禁止事項:
- 既知のCritical/Highの脆弱性があるコードを承認する
- 「軽微な」変更のセキュリティレビューを省略する(攻撃者は小さな変更も悪用します)
- 文書化された正当な理由なくセキュリティ制御を無効化するコードを承認する
- セキュリティ上重要な変更を本人が承認することを許可する
セキュリティレビューチェックリスト
すべてのプルリクエストについて、次の項目を確認します。
認証と認可:
- 公開されていないリソースで認証が必須になっている
- 各アクセス箇所で認可が確認されている
- 最小権限の原則が適用されている
入力/出力:
- すべての入力が検証されている(許可リスト方式)
- 出力がコンテキストに応じて適切にエンコードされている
- サニタイズせずに生のユーザー入力を反映していない
データ保護:
- 機密データが保存時および転送時に暗号化されている
- ソースコードや設定ファイルにシークレットが含まれていない
- 取り扱いに適したデータ分類が行われている
エラー処理:
- スタックトレースがユーザーに公開されない
- エラーが安全に記録されている(ログに機密データが含まれない)
- セキュリティを回避することなく、適切に処理を失敗させられる
依存関係:
- 新しい依存関係に脆弱性がないか確認されている
- 依存関係のバージョンが特定のバージョンに固定されている
- 不要な依存関係が追加されていない
自動スキャンの統合
すべてのリポジトリで、次の設定が必須です。
- push時およびPR時のGitHub CodeQL分析
- Dependabotアラートの有効化
- シークレットスキャンの有効化
- ステータスチェックの合格を必須とするブランチ保護
Hack23 ISMSポリシーの参照先
コンプライアンス対応表
- ISO 27001:2022:A.8.25(セキュア開発ライフサイクル)、A.8.4(ソースコードへのアクセス)
- NIST CSF 2.0:PR.DS(データセキュリティ)、PR.IP(情報保護)
- CIS Controls v8.1:Control 16(アプリケーションソフトウェアのセキュリティ)
コメント
Markdown 対応