Semgrep v1.166.0: Межфайловый анализ Gosu и улучшения

TL;DR

  • Экспериментальный межфайловый анализ для Gosu (Pro-функция).
  • Расширенная поддержка операторов для константной проброски.
  • Исправления парсинга Python и стабильности semgrep ci.

Ключевые Изменения

Semgrep v1.166.0, выпущенный 11 июня 2026 года, сосредоточен на улучшениях производительности и безопасности. Полную информацию можно найти в официальных примечаниях к выпуску.

Добавлено:

  • Межфайловый анализ Gosu (Pro): Добавлен экспериментальный межфайловый анализ (interfile) для Gosu, позволяющий отслеживать распространение данных (taint tracking) между несколькими исходными файлами Gosu. (gosu-interfile)
  • Улучшенная константная проброска: Добавлена поддержка большего количества операторов для константной проброски (constant propagation), включая вычитание, деление, битовые операции, битовые сдвиги и сравнения, повышая точность анализа.

Исправлено:

  • Улучшения парсинга: Исправлен парсинг целочисленных литералов с подчеркиванием сразу после префикса системы счисления (например, 0x_dead_beef). Парсинг Python теперь сохраняет параметры типа (type parameters) в определениях def и class.
  • Безопасность: Semgrep больше не сохраняет API-токен, предоставленный через переменную окружения SEMGREP_APP_TOKEN, в ~/.semgrep/settings.yml.
  • Стабильность CI: Сканирования semgrep ci, запущенные из pre-commit hook, больше не будут завершаться ошибкой Unable to create '<tmp>/.git/index.lock' в определенных случаях.

Влияние на QA-команды

QA-команды получат выгоду от более точного статического анализа, особенно для приложений Gosu, и повышенной надежности semgrep ci в рабочих процессах pre-commit. Улучшенная константная проброска помогает выявлять больше потенциальных проблем на ранних этапах цикла разработки.