codeql

Scans a codebase for security vulnerabilities using CodeQL's interprocedural data flow and taint tracking analysis. Triggers on

trailofbits 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 с учетом особенностей сборки для компилируемых языков.

Как работает

  1. Инициализировать базу данных CodeQL для целевого языка программирования, убедившись в корректности сборки (избегая кэшированных сборок, которые не извлекают данные).
  2. При необходимости создать или использовать data extensions для покрытия специфичных паттернов, не охваченных стандартными моделями (например, обертки для вызовов БД или парсинга запросов).
  3. Сгенерировать явный файл набора запросов (.qls) вместо передачи имен пакетов, чтобы избежать скрытой фильтрации и потери результатов.
  4. Запустить скрипт {baseDir}/scripts/check_db_quality.py после создания базы данных для подтверждения её качества.
  5. Выполнить анализ с помощью codeql database analyze, используя сгенерированный .qls файл, и подтвердить успешность проверки набора запросов через {baseDir}/scripts/verify_query_suite.py.
  6. На 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 и совместимые) подхватывает его по описанию и следует шагам.