Skip to main content

code-review-security

差分、PR、選択範囲、指定ファイルをセキュリティ観点で read-only レビューし、rubber duck / critic review で確認してから高信頼の脆弱性を報告する

Source facts

Repository
aktsmm/Agent-Skills
Last source activity
October 18, 2026 at 06:10
Detected SKILL.md language
Japanese
Stars
26
Forks
5

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
code-review-security
description
差分、PR、選択範囲、指定ファイルをセキュリティ観点で read-only レビューし、rubber duck / critic review で確認してから高信頼の脆弱性を報告する
disable-model-invocation
true
argument-hint
レビュー対象、比較ブランチ、重点 threat model、review-only / fix / thorough
user-invocable
true
license
CC BY-NC-SA 4.0
metadata
{"author":"yamapan (https://github.com/aktsmm)"}
<!-- syncToGlobal: true --> <!-- author: aktsmm --> <!-- repository: https://github.com/aktsmm/Agent-Customization --> <!-- license: CC BY-NC-SA 4.0 --> <!-- copyright: Copyright (c) 2025 aktsmm --> # code review security 指定された差分、PR、選択範囲、ファイル、または現在の Git 変更をセキュリティ観点でレビューする。 ## When to Use - 使う: `/security-review` 的に、変更差分の exploitability を確認したいとき - 使う: injection、認証認可、secret leak、supply chain、LLM prompt injection を重点的に見たいとき - 使う: 「セキュリティレビュー」「脆弱性見て」「攻撃可能性を見て」と依頼されたとき - 使う: 「レビューして修正」「fix」「直して」など、レビュー後の修正まで明示されたとき - 使わない: 一般的なコード品質、style、設計好み、性能だけを見たいとき。その場合は `/code-review-multi-angle` を使う ## Mode - 既定は `review-only`: コードを編集せず、security finding と修正方針だけを出す - `fix` / `修正して` / `直して` が明示された場合だけ `review-and-fix`: security review、critic review、最小修正、focused validation まで行う - destructive operation、外部反映、履歴改変、push、広範囲 refactor、secret rotation は fix mode でも実行前に確認する ## Scope Detection 優先順でレビュー対象を決める。 1. ユーザーが指定した PR URL、比較ブランチ、ファイル、選択範囲、貼り付け diff 2. staged changes: `git --no-pager diff --staged` 3. unstaged changes: `git --no-pager diff` 4. working tree が clean の場合: `git --no-pager diff main...HEAD` `main` 以外の base branch が自然なリポジトリでは、branch 名や upstream を確認してから使う。 ## Security Review Rules - 変更行または変更により到達可能になったコードだけを主対象にする - 既存脆弱性でも、diff に vulnerable code が現れている場合は報告してよい - exploit path、trust boundary、attacker-controlled input、impact を説明できないものは finding にしない - test code は production vulnerability を示す場合だけ報告する - style、maintainability、generic best practice、単なる DoS、rate limiting、CPU / memory exhaustion は原則報告しない ## Vulnerability Categories 最低限、次の 11 カテゴリを確認する。 - `StringInjection`: SQL / shell / HTML / JSON / YAML / code 生成で unsafe string composition がないか - `BadCrypto`: 弱い暗号、短い鍵、非暗号乱数、弱い password hashing がないか - `BrokenAccessControl`: path traversal、CSRF、open redirect、権限境界破りがないか - `HardcodedCredentials`: source / config に credential、key、token がないか - `SensitiveDataLeak`: secret、PII、stack trace、内部 URL を log / response / file に出していないか - `SecurityMisconfiguration`: CSP / HTTPS / HttpOnly / CORS / debug / XXE など安全設定を壊していないか - `AuthenticationFailure`: certificate validation、認証方式、origin check、sensitive operation の HTTPS が抜けていないか - `DataIntegrityFailure`: integrity check なし deserialization、prototype pollution、insecure content execution がないか - `SSRF`: attacker-controlled URL / host / protocol を fetch していないか - `SupplyChainAttack`: mutable dependency、remote code execution、未検証 download、registry / action / image 参照の乗っ取りがないか - `XPIA`: untrusted data が LLM prompt、tool routing、stage transition、policy、debug bypass に影響していないか ## Severity and Confidence - Critical: RCE、full system compromise、重大な data breach - High: privilege escalation、authentication bypass、sensitive data access - Medium: 条件付きだが有意な exploit、limited data access、information disclosure - Low: defense-in-depth、lower-impact security control bypass 報告閾値。 - Critical: confidence 6/10 以上 - High: confidence 7/10 以上 - Medium: confidence 8/10 以上 - Low: confidence 9/10 以上 閾値未満は `Assumptions / Not Reviewed` に回し、finding として断定しない。 ## Critic Review security finding を出す前、または fix mode で修正する前に、利用可能な rubber duck / critic 経路で確認する。 - 利用可能なら native Rubber Duck、`duck-critic` skill、read-only subagent、別モデル critic のいずれかを使う - critic には exploit path、confidence、false positive の可能性、修正案の副作用を重点確認させる - critic は read-only とし、修正や状態変更を任せない - critic の指摘は重複排除し、採用したものだけ findings または fixes に反映する - critic 経路が使えない場合は、自分で second-pass security review を行い、使えなかった理由を `Verification` に書く ## Verification 可能な範囲で、finding を出す前に read-only または低リスクの確認を行う。 - data flow、call site、sanitizer、auth guard、policy、config、dependency source を確認する - 既存の secure coding pattern と比較する - 必要なら focused test、typecheck、lint、secret scan、dependency metadata 確認を実行する - 実行できない場合は、理由と代替確認を明記する - review-only ではコードを編集しない。ファイル作成・修正・削除も行わない - fix mode では、critic review 後に最小修正を行い、focused validation を実行する ## Output Format 重大度順に findings を先に出す。 ```markdown ## Security Findings ### 1. {短いタイトル} - Severity: Critical | High | Medium | Low - Confidence: N/10 - Category: {カテゴリ名} - File: {path}:{line} - Problem: {脆弱性と exploit path} - Evidence: {差分、data flow、guard 確認、仕様から確認した根拠} - Suggested Fix: {実装方針。review-only ではコードは変更しない} ## No Security Vulnerabilities {finding がない場合だけ、高信頼の脆弱性が見つからなかった理由を 1 行で書く} ## Assumptions / Not Reviewed - {未確認範囲、閾値未満の懸念、実行できなかった検証。なければ None} ## Fixes Applied - {fix mode の場合だけ、変更したファイルと理由。review-only では None} ## Verification - {実行した確認、critic review 経路、または未実行理由} ``` 褒め、長い作業ログ、見たファイルの網羅列挙は出さない。 ## Completion Criteria - 対象差分または指定範囲を特定した - 11 カテゴリを確認した - finding は exploit path と confidence threshold を満たすものだけに絞った - finding または fix mode では critic review を行った、または代替 second-pass を明記した - 可能な範囲で guard / sanitizer / data flow / focused validation を確認した - review-only ではコードを変更していない - fix mode では最小修正後に focused validation を行った
View on GitHub