Semgrep v1.164.0: Улучшения Производительности и Точности Сканирования

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

TL;DR

  • Baseline diff сканирование теперь точнее обрабатывает сбои правил, уменьшая ложные срабатывания.
  • Сканирование Semgrep Pro interfile в Linux адаптирует лимиты памяти к cgroup.
  • Расширена поддержка языка Dart, включая типизированные метапеременные и улучшенный парсер.

Key Changes

  • Производительность и Совместимость: Сканирование Semgrep Pro interfile в Linux теперь динамически регулирует лимит памяти на основе cgroup контейнера, оптимизируя использование ресурсов. Совместимость с Glibc расширена до версий >=2.34, что включает RHEL 9 и AL2023. Это позволяет более широко устанавливать Semgrep wheel.
  • Точность и Надежность Сканирования: Важное исправление касается baseline diff сканирования (semgrep ci и --baseline-commit), предотвращая пометку всех найденных уязвимостей в файле как новых, если одно из правил завершилось с ошибкой. Это улучшает соотношение сигнал/шум для новых находок. Также устранены проблемы с парсингом yarn.lock для записей Yarn Berry и ненадежной фильтрацией целей при параллельном сканировании.
  • Поддержка Языка Dart: Анализ Dart получил новые возможности, включая типизированные метапеременные ($X as T), привязку метапеременных внутри строковых интерполяций и шаблоны определения функций. Улучшена точность парсера Dart для грамматических особенностей Dart 3, что сокращает количество ошибок PartialParsing в реальных пакетах.
  • Коррекция Вывода SARIF: Подавленные находки теперь корректно исключаются из отчетов --sarif-output и --sarif, обеспечивая точные результаты сканирования и предотвращая блокировки.

Impact for QA Teams

Команды QA получат более точные отчеты baseline diff, что снизит усилия по приоритизации новых находок. Улучшенная совместимость с распространенными дистрибутивами Linux и более надежный статический анализ для проектов Dart означают более широкое и стабильное покрытие для рабочих процессов SAST. Точный вывод SARIF гарантирует, что подавленные находки не будут мешать отчетности или CI/CD пайплайнам.

FAQ

  • Q: Каково основное улучшение для baseline сканирования?
    • A: Baseline diff сканирование больше не помечает все находки как новые при сбое правила, предоставляя более точные сравнения “новое против baseline”.
  • Q: Как это обновление влияет на Semgrep в Linux?
    • A: Сканирование Pro interfile теперь адаптирует лимиты памяти к cgroup, а совместимость с Glibc расширена до версий, таких как 2.34 (RHEL 9).
  • Q: Есть ли новые функции для проектов Dart?
    • A: Да, Dart теперь поддерживает типизированные метапеременные, привязку метапеременных в строковых интерполяциях и улучшенную точность парсера для Dart 3.