AIKraft/Skills/trailmark-variant-neighborhood

trailmark-variant-neighborhood

Расширяет подтвержденную уязвимость в граф-окрестность Trailmark, находя родственные функции, общих вызывающих, чувствительные точки и структурно похожие узлы. Применяется после обнаружения проблемы для подготовки данных variant-analysis, semgrep-rule-creator, static-analysis или ручного анализа.

TOBTrail of Bits official Разработка ★ 7.4k

Что делает навык

Находит родственные функции, общих вызывающих, чувствительные точки и структурно похожие узлы в графе Trailmark, расширяя подтвержденную уязвимость в набор кандидатов. Генерирует цели для проверки, а не подтвержденные уязвимости.

Когда применять

  • Когда найдена подтвержденная или правдоподобная уязвимость, и существуют подозрения на наличие вариантов.
  • Когда уязвимый паттерн зависит от контекста вызова.
  • Когда проблема связана с общим стоком, источником, валидатором, интерфейсом, переопределением, трейтом, хуком, обработчиком, адаптером или критическим типом.
  • Когда следующим шагом требуется подготовка данных для variant-analysis, semgrep-rule-creator, static-analysis или ручного анализа.

Как работает

  1. Нормализовать и привязать исходную проблему к узлу Trailmark, зафиксировав корневую причину.
  2. Расширить графовое окрестность по измерениям: общие вызывающие, общие callees и стоки, соседи путей entrypoint, родственники интерфейсов/переопределений/трейтов, соседи кластеров файлов, соседи границ течения/привилегий, соседи типов и состояний.
  3. Ранжировать кандидатов, приоритизируя достижимые, загрязненные, граничные, высоко-взрывоопасные, с общим стоком, тем же интерфейсом и близким расстоянием, и снижая ранг для тестов, моков, сгенерированного, вендорского и недостижимого кода.
  4. Извлечь руководство по паттерну: определить, что следует искать синтаксически, а что требует семантического анализа, и выбрать инструмент для следующего шага (variant-analysis, semgrep-rule-creator, static-analysis или manual review).
  5. Сформировать пакет передачи данных (handoff packet) с ранжированными кандидатами, причинами включения, исключениями, ограничениями и инструкциями для variant-analysis.

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

Найди варианты уязвимости в функции processPayment, используя граф Trailmark.
Расширь подтвержденную проблему в shared sink для поиска похожих узлов в модуле auth.
Подготовь данные для variant-analysis, найдя родственные функции к найденной уязвимости в интерфейсе IHandler.

Что понадобится

  • Инструменты: trailmark, variant-analysis, semgrep-rule-creator, static-analysis (CodeQL или SARIF-producing tools)
  • Файлы справки: references/neighborhood-patterns.md, references/ranking.md, references/output-format.md

Описание составлено по SKILL.md навыка, сверено 09.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «trailmark-variant-neighborhood» из репозитория: # https://github.com/trailofbits/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r trailmark-variant-neighborhood/ ~/.claude/skills/trailmark-variant-neighborhood/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.