Anthropic выложила в открытый доступ референсную реализацию Defending Code Reference Harness — инструмента для автономного поиска и исправления уязвимостей с помощью Claude. Репозиторий не поддерживается и не принимает доработки, но Anthropic предлагает управляемый продукт Claude Security, который сканирует репозитории, проверяет находки через многоступенчатый пайплайн и управляет исправлениями.
Харнес реализует полный цикл: recon → find → verify → report → patch. Он заточен на поиск memory-уязвимостей в коде на C/C++ с использованием Docker и ASAN (детектор ошибок памяти). Но архитектура универсальна — её можно адаптировать под другой язык, детектор или класс уязвимостей через навык /customize.
Внутри харнес проходит семь этапов. Сначала компилирует цель в Docker-образ с ASAN. Затем лёгкий агент в изолированном контейнере анализирует код и предлагает разбить его на зоны атаки, чтобы параллельные find-агенты не искали один и тот же баг. N агентов параллельно генерируют некорректные входные данные и запускают ASAN-бинарник, пока не получат стабильный краш три раза подряд. Отдельный grader-агент воспроизводит каждый краш в свежем контейнере, judge-агент сравнивает с уже найденными багами, report-агент пишет анализ эксплуатируемости, а patch-агент предлагает фикс. Grader проверяет, что патч собирается, исходный PoC больше не падает, тесты проходят, и новый find-агент не может обойти исправление.
Для начала работы харнес предлагает четырёхдневный план. В первый день — построить модель угроз и запустить статическое сканирование с помощью интерактивных навыков /threat-model, /vuln-scan, /triage и /patch. Они только читают и пишут файлы, поэтому работают без песочницы. Во второй день — запустить автономный пайплайн на известной уязвимой библиотеке через bin/vp-sandboxed run. Пайплайн отказывается запускать агентов вне gVisor-песочницы, если явно не отменить это. С третьего по пятый день — кастомизировать харнес под свой код и стек с помощью навыка /customize, который редактирует код харнеса и запускает проверочные команды. На второй неделе — запускать сканирование волнами, триажить находки из разных прогонов и патчить в порядке приоритета.
Anthropic советует начинать с малого в первый же день, а не тратить месяцы на проектирование идеального пайплайна. После раскатки команды обычно инвестируют в ревью всех внутренних репозиториев и ключевых open-source зависимостей, настройку инфраструктуры для сканирования и интеграцию сканов в SDLC с регулярными запусками.