codeql
Scans a codebase for security vulnerabilities using CodeQL's interprocedural data flow and taint tracking analysis. Triggers on
AItrailofbits
official
Данные
Что делает навык
Skill выполняет сканирование кодовой базы на уязвимости безопасности с помощью межпроцедурного анализа потока данных и taint tracking в CodeQL. Он поддерживает Python, JavaScript/TypeScript, Go, Java/Kotlin, C/C++, C#, Ruby и Swift, обеспечивая глубокую проверку через создание баз данных и запуск специфичных запросов.
Когда применять
- Автоматизированный аудит безопасности проектов на Python, JavaScript, Go, Java, C/C++, C#, Ruby или Swift.
- Выявление уязвимостей в фреймворках Django, Spring и Express, где стандартные модели CodeQL могут не покрывать специфичные API.
- Проверка качества извлеченной базы данных CodeQL для предотвращения ложноположительных или ложноотрицательных результатов.
- Настройка анализа на macOS Apple Silicon с учетом особенностей сборки для компилируемых языков.
Как работает
- Инициализировать базу данных CodeQL для целевого языка программирования, убедившись в корректности сборки (избегая кэшированных сборок, которые не извлекают данные).
- При необходимости создать или использовать data extensions для покрытия специфичных паттернов, не охваченных стандартными моделями (например, обертки для вызовов БД или парсинга запросов).
- Сгенерировать явный файл набора запросов (.qls) вместо передачи имен пакетов, чтобы избежать скрытой фильтрации и потери результатов.
- Запустить скрипт {baseDir}/scripts/check_db_quality.py после создания базы данных для подтверждения её качества.
- Выполнить анализ с помощью codeql database analyze, используя сгенерированный .qls файл, и подтвердить успешность проверки набора запросов через {baseDir}/scripts/verify_query_suite.py.
- На macOS Apple Silicon при ошибках сборки (exit code 137) использовать инструменты Homebrew arm64 или Rosetta, либо переключиться в build-mode=none.
Примеры запросов агенту
Проведи анализ безопасности проекта на Python с помощью CodeQL, проверь качество базы данных и сгенерируй отчет об уязвимостях.
Запусти taint tracking анализ для Java-проекта на Spring, убедившись, что используются явные .qls файлы и проверено качество извлечения.
Проверь Go-проект на уязвимости через CodeQL, учитывая особенности сборки на macOS Apple Silicon.
Что понадобится
- CodeQL CLI и соответствующие языковые пакеты для поддерживаемых языков.
- Скрипты проверки качества: {baseDir}/scripts/check_db_quality.py и {baseDir}/scripts/verify_query_suite.py.
- Доступ к ресурсам в {baseDir}/references/ и {baseDir}/workflows/.
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «codeql» из репозитория:
# https://github.com/trailofbits/skills
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r codeql/ ~/.claude/skills/codeql/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.