[agents] Mandate local reproduction for vulnerability classification This CL updates the v8-security-triaging skill to enforce empirical verification as a prerequisite for classifying reports as vulnerabilities. Key changes: - Added a "Mandatory Local Reproduction" core principle to the v8-security-triaging skill. - Updated the classification guidance to mandate "Failed to Reproduce" if local reproduction is unsuccessful. - Enforced that "Vulnerability" status can only be assigned after successful local reproduction. R=ishell@chromium.org No-Try: true Change-Id: I81a86835fea75c5a0d84d4878dee74fb2efb2975 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7830726 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#107196}
diff --git a/agents/skills/v8-security-triaging/SKILL.md b/agents/skills/v8-security-triaging/SKILL.md index 72cd961..0599dea 100644 --- a/agents/skills/v8-security-triaging/SKILL.md +++ b/agents/skills/v8-security-triaging/SKILL.md
@@ -16,6 +16,12 @@ - **Technical Skepticism**: Treat all reporter claims (e.g., "OOB write", "RCE", "Silent Write") as **hypotheses**, not facts. Your primary job is empirical verification. +- **Mandatory Local Reproduction**: A report MUST NOT be classified as a + "Vulnerability" unless it is empirically reproduced locally (e.g., + demonstrating a crash, memory corruption, or a clear security boundary + violation). If the provided POC does not reproduce the claimed behavior, do + NOT classify it as a vulnerability. Instead, report that it did not reproduce + in the final report. - **Scope Limitation**: This skill is strictly for **triaging and impact analysis**. It does NOT include implementing a fix or creating a CL. Fixing is a separate task that must be explicitly requested by the user after triage is @@ -160,7 +166,10 @@ (Status, Classification, Rationale, etc.) and ensure there are **double line breaks** between each list item for optimal rendering in Buganizer. - **Content**: - - **Classification**: Vulnerability / Bug / Not a Bug (Intended Behavior). + - **Classification**: Vulnerability / Bug / Not a Bug (Intended Behavior) / + Failed to Reproduce. **MANDATORY**: Only classify as "Vulnerability" if + local reproduction was successful. If reproduction fails, classify as + "Failed to Reproduce". - **Security Impact**: Provide the label (e.g., `Security_Impact-Head`) and a short explanation. Skip or simplify the CVSS vector unless requested.