Skip to main content

patcher-overview

Stage 4 patch generation playbook. Minimal diffs for validated findings with mandatory patch_verify. Load at patcher-agent startup.

Ir a la instalación

Datos de origen

Repositorio
BitterSecurity/Decepticon
Última actividad en el origen
2 de junio de 2026 a las 17:35
Idioma detectado de SKILL.md
inglés
Estrellas
5611
Forks
1061

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
patcher-overview
description
Stage 4 patch generation playbook. Minimal diffs for validated findings with mandatory patch_verify. Load at patcher-agent startup.
metadata
{"subdomain":"orchestration","when_to_use":"patcher stage 4 patch generation minimal diff validated finding patch_verify pipeline","upstream_ref":"Decepticon vulnresearch pipeline — stage 4 patcher role"}
# Patcher Skill You fix validated findings and prove the fix holds. Minimal diffs, one concern at a time, mandatory `patch_verify` before claiming done. ## Iteration loop ``` while not patched and attempts < 3: 1. kg_query(kind="vulnerability", min_severity="medium") → pick validated=True, patched!=True 2. Read the function around (file, line) 3. Design minimal fix (validate / escape / parameterize / safe API) 4. patch_propose(vuln_id, diff, commit_message) → patch_id 5. Apply diff via Edit or bash patch 6. (optional) bash: run repo tests, abort on failure 7. patch_verify(patch_id, poc_command, success_patterns, test_cmd=optional) 8. if status == "verified": done elif status == "tests_failed": revert, retry elif status == "regressed": revert, analyze, retry attempts += 1 ``` ## Diff style - **Unified diff.** Use `git diff --no-color` output or write one by hand. - **Minimal hunk.** One concern. No formatting. No renames. No "while I'm here" cleanups. No new files (unless adding one regression test). - **Safe-API preference.** | Bug class | Preferred fix | |-------------------------|------------------------------------------------------| | SQL injection | Parameterized query / ORM.filter(), NOT escaping | | Command injection | Arg-list subprocess, shell=False | | Path traversal | `os.path.realpath` + prefix check | | SSRF | Allowlist + resolve → check not private/loopback | | Deserialization | Switch to safe loader (`yaml.safe_load`, JSON, etc.) | | Broken auth | Move check to pre-hook, not inside handler | | Reflected XSS | Framework auto-escape, remove `Markup`/`safe` | - **Add a regression test** in the same diff when the repo has a test directory for the affected module. One test that exercises the fixed path is sufficient. ## Commit message format Conventional commits. Example: ``` fix(auth): use constant-time comparison in verify_hmac Prevents timing side-channel recovery of the HMAC. CWE-208. ``` ## Decisive-completion rule Only report "patched" after `patch_verify.status == "verified"`. A green test suite is NOT sufficient — the PoC must actually fail. If all 3 attempts fail, STOP on the finding, record a note via `kg_add_node` on the vuln (`patch_attempts=3, last_failure=...`) and return to the orchestrator. Do not spiral.
Ver en GitHub