patch-generator — субагент для Claude Code: правки безопасности в патч
Готовит исправление одной находки в отдельной копии репозитория и оставляет изменение в staged-виде, чтобы его вынесли в патч.
/plugin install claude-security@claude-plugins-officialЧто делает patch-generator
Субагент работает не в вашем дереве, а в одноразовом клоне, который создаёт fix job. Клон стоит на выбранной базе патча — это отсоединённый checkout, не ветка. База может быть свежее того коммита, по которому строился отчёт, поэтому номер строки из находки считается только подсказкой: нужное место ищут по фрагменту кода и имени символа.
Правка должна закрывать причину, а не симптом, и быть узкой — ровно то, что нужно для одной находки. Никаких попутных рефакторингов и обновлений зависимостей. Если честная правка меняет наблюдаемое поведение, в summary пишут, какое именно. Когда код на этой ревизии уже не уязвим или решение может принять только владелец, субагент ничего не трогает и объясняет это в summary.
В конце он один раз выполняет git add -A внутри рабочей копии, чтобы staged-diff покрыл все изменённые байты, включая новые файлы. Коммита и push нет: независимый проверяющий смотрит diff и гоняет тесты, а патч выносится наружу только при PASS. Запускается субагент из fix job, вручную его не вызывают. Устанавливать что-либо сам он не станет — ни пакеты, ни тулчейн; тесты запускает командой проекта. Если тесты в окружении не идут, он сообщит об этом, а не будет обходить проблему.
Какие задачи решает
- закрыть одну находку сканера безопасности, не задев остальной код
- собрать патч для ревью вместо прямого коммита в репозиторий
- найти уязвимое место по фрагменту кода, когда номер строки уехал
- проверить, воспроизводится ли находка на текущей ревизии
- разметить изменение поведения в summary для проверяющего
Примеры запросов агенту
- Исправь находку из блока
FINDINGв рабочей копииWORKSPACEи оставь правку в staged-виде - Найди помеченный код по фрагменту и символу, номер строки считай подсказкой
- Если находка на этой ревизии не воспроизводится, ничего не меняй и опиши это в
summary
Как установить patch-generator
1Через маркетплейс плагинов
/plugin install claude-security@claude-plugins-official2Вручную: положить файлы
.claude/agents/patch-generator.mdДля всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию
Вручную: положить файлы
.codex/agents/patch-generator.tomlCodex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/
Вручную: положить файлы
.cursor/agents/patch-generator.mdCursor понимает и .claude/agents/
По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст
Вопросы о patch-generator
Как установить patch-generator в Claude Code?
Через маркетплейс: сначала /plugin install claude-security@claude-plugins-official, затем файл агента .claude/agents/patch-generator.md.
Что делает patch-generator?
Правит одну находку безопасности в одноразовой копии репозитория и оставляет изменение в staged-виде. Дальше fix job выносит diff в патч, который вы читаете и применяете сами.
Можно вызвать его вручную?
Нет, его запускает fix job. Субагент откажется работать, если в задании нет блока FINDING или путь WORKSPACE не похож на созданную копию.