Навыки моделирования угроз, сканирования, триажа и патчинга, плюс автономный сканирующий харнесс, который можно /customize
Эталонная реализация для автономного обнаружения и устранения уязвимостей с помощью Claude, основанная на нашем опыте партнёрства с командами безопасности в нескольких организациях с момента запуска Claude Mythos Preview. Подробный разбор этих выводов и лучших практик см. в сопроводительной записи в блоге (также доступна в blog-post.md). Лёгкое пошаговое руководство по тому же циклу recon → find → triage → report → patch только с помощью SDK см. в сопутствующем cookbook.
Этот репозиторий не поддерживается, и вклады в него не принимаются.
🔒 Нужен управляемый вариант? Anthropic предлагает Claude Security — размещённый продукт, который находит и устраняет уязвимости в вашем исходном коде в нескольких проектах. Claude Security сканирует ваш репозиторий на предмет уязвимостей, применяет многоступенчатый конвейер верификации для снижения числа ложных срабатываний и позволяет управлять находками на всём их жизненном цикле: триаж, проверка исправлений и быстрая генерация исправлений.
Этот репозиторий — открытая эталонная реализация, основанная на общих лучших практиках поиска уязвимостей с помощью Claude. Вы можете использовать его для создания собственного конвейера поиска уязвимостей, настраивать логику, и его можно использовать с любым доступом к API Claude (включая Bedrock, Vertex или Azure).
/quickstart, /threat-model, /vuln-scan,
/triage, /patch, /customize: интерактивное определение границ, сканирование,
триаж и патчинг. Откройте этот репозиторий в Claude Code и запустите /quickstart,
чтобы сориентироваться.harness/: автономный эталонный конвейер (recon → find → verify
→ report → patch), настроенный для поиска уязвимостей памяти в C/C++
с помощью Docker и ASAN. Этот стенд — эталонная реализация, а не продукт.
Общая архитектура, промпты и песочница переиспользуемы, но стенд
не будет работать с любой кодовой базой «из коробки». Запустите /customize,
чтобы перенести его на ваш язык, детектор или класс уязвимостей.⚠️ Безопасность:
/quickstart,/threat-model,/vuln-scanи/triageтолько читают и записывают файлы. Запуск/patchпо статическим находкам (TRIAGE.jsonилиVULN-FINDINGS.json) также заключается только в чтении и записи./customizeредактирует код стенда и выполняет команды проверки. Любой из этих навыков безопасно запускать вне песочницы, если вы просматриваете и одобряете каждое использование инструмента в Claude Code. Автономный эталонный конвейер (включая/patchпо результатам конвейера) выполняет целевой код, поэтому он отказывается запускаться вне песочницы gVisor без явного переопределения. Для настройки один раз запуститеscripts/setup_sandbox.sh, затем вызывайте конвейер черезbin/vp-sandboxed. Подробнее см. в docs/security.md и docs/agent-sandbox.md.
git clone https://github.com/anthropics/defending-code-reference-harness
cd defending-code-reference-harness
claude
# 30-sec intro + guided first run on the canary target
> /quickstart
> /quickstart how do I port the pipeline to Java?
> /quickstart how do I triage all these bugs?
Наиболее успешные команды безопасности, с которыми мы работали, — это те, кто быстрее всего перешёл к практической работе. Хотя и возникает соблазн потратить месяцы на проектирование идеального конвейера, мы рекомендуем начинать с малого в первый день и развивать его по мере поступления опыта. Приведённые ниже шаги следуют этой схеме и задают амбициозный (но разумный) темп, основанный на том, что мы видели.
| Шаг 1 | День 1 | Постройте модель угроз и выполните первое статическое сканирование + триаж |
| Шаг 2 | День 2 | Запустите эталонный конвейер на библиотеке C/C++ |
| Шаг 3 | Дни 3–5 | Настройте конвейер под вашу цель |
| Шаг 4 | Неделя 2 | Начните автономное сканирование, триаж и патчинг |
День 1 посвящён тому, чтобы увидеть весь цикл целиком. Используя только интерактивные навыки, вы построите модель угроз, выполните статическое сканирование в её границах, проведёте триаж полученных результатов и подготовите черновики кандидатных исправлений. К концу дня у вас будут модель угроз, ранжированный список статических находок и кандидатные патчи.
Соответствующие навыки только читают и записывают файлы в вашем репозитории. Пока вы запускаете Claude Code в интерактивном режиме и одобряете каждое использование инструмента, песочница не нужна.
# Pin every subagent to the model you want
export CLAUDE_CODE_SUBAGENT_MODEL=<model-id>
claude
# 0. intro + guided first run
> /quickstart
# 1. Build a threat model (aim before you shoot)
> /threat-model bootstrap targets/canary
# 2. Run a static scan, scoped by that threat model
> /vuln-scan targets/canary
# 3. Verify, dedupe, and rank what came back
> /triage targets/canary/VULN-FINDINGS.json
# 4. Generate candidate fixes for the verified findings
> /patch ./TRIAGE.json --repo targets/canary
Этот процесс создаёт THREAT_MODEL.md, VULN-FINDINGS.{json,md}, TRIAGE.{json,md} и PATCHES/.