Semgrep v1.167.0: Пропуск Бинарных Файлов и Константная Проброска

TL;DR

  • Semgrep теперь пропускает бинарные файлы по умолчанию, ускоряя сканирование.
  • Расширенная константная проброска поддерживает больше операторов для точного анализа.
  • Новое поле nosemgrep_disabled позволяет централизованно управлять комментариями nosemgrep.

Key Changes

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

Added

  • Улучшенная Константная Проброска: Движок теперь поддерживает более широкий спектр операторов для константной проброски, включая вычитание, деление, побитовые операции, битовые сдвиги и сравнения. Это приводит к более точному анализу потока данных.
  • Централизованное Управление nosemgrep: Новое поле nosemgrep_disabled в конфигурации сканирования позволяет платформам глобально отключать встроенные комментарии nosemgrep для игнорирования для определенных сканирований.
  • Пропуск Бинарных Файлов по Умолчанию: Semgrep теперь автоматически пропускает бинарные файлы (например, изображения, архивы, скомпилированные исполняемые файлы) во время сканирования, определяемые по расширениям файлов и “magic bytes”. Это значительно повышает скорость сканирования. Чтобы сканировать бинарные файлы, используйте флаг --no-exclude-binary-files.

Fixed

  • Точность Вывода SARIF: Команда semgrep ci с флагом --sarif теперь корректно заполняет поле ignores найденными элементами, подавленными с помощью nosemgrep, что соответствует другим форматам вывода.

Infra/Release Changes

  • Обновление Tree-sitter Core: Субмодуль ocaml-tree-sitter-core был обновлен, что обеспечивает улучшенную потокобезопасность и обновляет внутреннюю опцию Tree-sitter CLI с 0.20.6 до 0.20.8.

Impact for QA Teams

Команды QA заметят ускорение сканирования статического анализа благодаря пропуску бинарных файлов по умолчанию. Улучшенная константная проброска повышает точность обнаружения проблем безопасности и качества, уменьшая количество ложных срабатываний и пропусков. Возможность централизованного отключения комментариев nosemgrep обеспечивает больший контроль над соблюдением политик, а улучшенный вывод SARIF гарантирует согласованную отчетность по подавленным результатам.

FAQ

  • В: Каково основное улучшение производительности в этом обновлении?
    • О: Semgrep теперь пропускает бинарные файлы по умолчанию, что значительно сокращает время сканирования в репозиториях, содержащих много неисходных файлов.
  • В: Как улучшенная константная проброска влияет на анализ?
    • О: Она позволяет Semgrep более точно отслеживать поток данных, что приводит к более точному обнаружению уязвимостей и проблем качества кода.
  • В: Можно ли глобально игнорировать встроенные комментарии nosemgrep?
    • О: Да, новое поле nosemgrep_disabled в конфигурации сканирования позволяет платформам отключать эти комментарии на уровне организации.