RSS Блог "След бит"
Подписаться
Trailmark превращает код в графики
Trailmark — это новая библиотека с открытым исходным кодом, которая преобразует исходный код в запрашиваемый граф вызовов. Этот граф представляет функции, классы и их взаимосвязи, а также семантические метаданные. Навыки Claude могут напрямую взаимодействовать с этим графом через Python API. Традиционный анализ безопасности часто опирается на списки результатов, но злоумышленники мыслят графами, что создает преимущество для защитников. Trailmark призван предоставить моделям ИИ, таким как Claude, эту возможность графового мышления.
Мутационное тестирование, метод оценки качества тестов путем внесения небольших изменений в код, генерирует множество выживших мутантов. Плоский список этих мутантов не различает эквивалентные, мертвый код или действительно значимые. Trailmark позволяет Claude классифицировать эти мутанты на основе их значимости для безопасности, такой как достижимость из недоверенного ввода. Библиотека обрабатывает код в три этапа: парсинг с помощью tree-sitter для AST, индексация в высокопроизводительный граф и запрос информации, такой как вызывающие, вызываемые и поверхности атаки.
Trailmark поддерживает семнадцать языков программирования и предлагает восемь готовых навыков Claude Code. Эти навыки помогают в таких задачах, как классификация мутантов, генерация тестовых векторов и построение диаграмм протоколов. Например, навык "genotoxic" использует графовый анализ для классификации выживших мутантов. Аналогично, "vector-forge" генерирует тестовые векторы для устранения выявленных пробелов в покрытии. Trailmark также интегрирует результаты статических анализаторов и инструментов аудита, отображая их на графе кода.
Внутреннее использование в криптографических библиотеках показало, что эквивалентные мутанты часто составляют большинство в хорошо протестированном коде, что упускается из виду плоскими списками. Графовый анализ также выявил архитектурные узкие места, такие как единый примитив перестановки в libhydrogen, который влияет на все криптографические операции. Мутационное тестирование оказывается ценным для новых конструкций, не имеющих стандартизированных тестовых векторов, путем выявления того, где тесты не ограничивают поведение кода. В различных кодовых базах проявились общие закономерности: арифметические модули имеют высокие радиусы поражения, парсеры кодеков являются основными целями для фаззинга, а тестирование на основе свойств часто бывает редким. В конечном итоге Trailmark служит связующим звеном, объединяя различные инструменты анализа и обеспечивая более целенаправленные оценки безопасности.