К основному содержанию
скилл CX Codex

address-sanitizer — скилл для Claude Code: что делает и как установить

Скилл учит агента собирать код с -fsanitize=address, читать отчёты ASan и снимать лимиты памяти у фаззера. Нужен, когда падает C/C++ или Rust с unsafe-блоками.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add trailofbits/skills --skill address-sanitizer -a claude-code
Открыть на GitHub

Что делает address-sanitizer

Скилл даёт агенту порядок действий с AddressSanitizer: собрать бинарник с -fsanitize=address и -g, выставить ASAN_OPTIONS, прочитать отчёт и понять, где код вышел за границу буфера или полез в освобождённую память. Внутри пошаговый разбор, короткая таблица опций (verbosity, abort_on_error, detect_leaks) и отдельные разделы под libFuzzer, AFL++ и cargo-fuzz.

Память ASan резервирует щедро: около 20TB виртуального адресного пространства. Поэтому фаззеру лимит придётся снять: -rss_limit_mb=0 у libFuzzer, -m none у AFL++. Иначе процесс прибьют на старте, и вы решите, что виноват код. Для Rust тот же режим включается флагом --sanitizer=address в cargo fuzz.

Сборка с ASan идёт примерно в 2-4 раза медленнее обычной. На Windows поддержка экспериментальная, на macOS ограниченная. В прод такой бинарник не берут: он и медленнее, и защищённости не добавляет, а скилл нужен в тестах, где падение лучше поймать сразу. В чистом Go или Java пользы мало.

Какие задачи решает

  • собрать бинарник под ASan и не забыть -g ради читаемого стека
  • понять, почему фаззер умирает через секунду после старта
  • разобрать отчёт heap-buffer-overflow и найти строку в коде
  • поймать утечку памяти на прогоне юнит-тестов
  • включить ASan для Rust с unsafe-блоками или FFI

Примеры запросов агенту

  • Собери fuzz_target.c с -fsanitize=address -g и запусти с ASAN_OPTIONS=verbosity=1:abort_on_error=1
  • Фаззер падает сразу после старта — сними лимит памяти через -rss_limit_mb=0
  • Разбери этот ASan-отчёт: на какой строке heap-buffer-overflow?

Как установить address-sanitizer

1Через Skills CLI (Vercel)

npx skills add trailofbits/skills --skill address-sanitizer -a claude-code

2Вручную: положить файлы

~/.claude/skills/address-sanitizer/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/address-sanitizer/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о address-sanitizer

Как установить address-sanitizer в Claude Code?

Выполните npx skills add trailofbits/skills --skill address-sanitizer -a claude-code. Файл скилла появится по пути ~/.claude/skills/address-sanitizer/SKILL.md.

Что делает этот скилл?

Он задаёт агенту рабочую процедуру для сборок под ASan: флаги компилятора, переменная ASAN_OPTIONS, чтение отчёта о падении и настройки фаззера, при которых процесс доживает до находки.

Потянет ли ASan на macOS и Windows?

На Windows поддержка экспериментальная, на macOS часть возможностей не работает. Полноценно рассчитывать на ASan стоит на Linux.

Похожие скиллы

Всё по теме «Тесты и QA» →
rust-security mohitmishra786 Скилл для проверки Rust-проектов на уязвимости: cargo-audit, cargo-deny, RUSTSEC, безопасный FFI, фаззинг и Miri. CX Codex +1 544установок memory-safety-patterns Seth Hobson Скилл помогает писать код на Rust, C++ и C с учётом владения памятью, RAII и управления ресурсами. Подойдёт для системного кода и поиска ошибок памяти. CX Codex 11 746установок differential-fuzzer tursodatabase Скилл помогает запускать дифференциальный фаззер Turso и разбирать расхождения с SQLite. Нужен при поиске ошибок корректности в сгенерированных SQL-запросах. CX Codex +1 1 200установок rust-systems-programming manutej Скилл по системному Rust: владение, заимствование, потоки, async, unsafe и оптимизация. Пригодится, когда пишешь низкоуровневый код или переписываешь C/C++. CX Codex +1 485установок output-sanitizer UseAI-pro Скилл проверяет ответ агента перед показом или записью в лог и вырезает ключи, PII и внутренние пути. Пригодится, когда вывод уходит наружу. CX Codex +1 475установок security-fuzzing Eyadkelleh Подключает подборку пейлоадов из SecLists для поиска инъекций и проверки валидации ввода. Пригодится при аудите защищённости своего кода и на CTF. CX Codex +1 583установок

Из того же набора77

fuzzing-dictionary Скилл помогает составлять словари токенов и байтов для фаззинга парсеров и протоколов. Пригодится, когда генератор слепых мутаций застревает на проверке заголовков или сигнатур. CX Codex +1 5 300установок semgrep-rule-variant-creator Переносит готовые правила Semgrep на выбранные языки и создаёт отдельные каталоги с правилами и тестами. Нужен, когда исходное правило уже написано. CX Codex +1 5 300установок cosmos-vulnerability-scanner Ищет в модулях Cosmos SDK и контрактах CosmWasm уязвимости, из-за которых цепь останавливается или теряются средства. Пригодится перед запуском сети. CX Codex +1 5 300установок fuzzing-obstacles Помогает обойти блокирующие проверки вроде хешей и системного времени при фаззинге C/C++ и Rust кода. Пригодится, когда фаззер застревает на ранней валидации. CX Codex +1 5 300установок substrate-vulnerability-scanner Скилл проверяет паллеты Substrate и Polkadot на 7 критических уязвимостей, включая паники и переполнения. Пригодится при аудите рантайма FRAME перед запуском сети. CX Codex +1 5 200установок atheris Настраивает coverage-guided фаззинг Python-кода и C-расширений через Atheris. Нужен для поиска сбоев и повреждений памяти. CX Codex +1 5 200установок ossfuzz Инструктирует агента по подключению репозитория к OSS-Fuzz и запуску фаззинг-тестов на локальной машине через вспомогательные скрипты. CX Codex +1 5 200установок devcontainer-setup Скилл создаёт изолированный devcontainer с предустановленным Claude Code, инструментами под Python, Node, Rust или Go и постоянными томами. Пригодится для безопасного запуска агента в песочнице проекта. CX Codex +1 5 200установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой