Информационная безопасность
Альтернативы с открытым исходным кодом на фоне споров о лицензировании Semgrep

Сообщество специалистов по безопасности стало свидетелем кардинальных перемен в январе 2025 года, когда конкурирующие компании объединились для запуска Opengrep— форк статического инструмента тестирования безопасности приложений Semgrep. Когда-то прославившийся своей ориентированной на сообщество идеей открытого исходного кода, Семгреп вызвало споры, когда в декабре 2024 года изменило свою модель лицензирования. Эти изменения в лицензировании ограничили использование внесенных правил в коммерческих продуктах и переместили ключевые функции в режим платного доступа.
Semgrep стал важным инструментом для разработчиков по всему миру благодаря своей способности обнаруживать уязвимости в нескольких языках программирования. Однако решение компании рискует задушить инновации в области, жизненно важной для современной кибербезопасности.
На фоне разногласий стартап DevSecOps DeepSource запустил Глобстар, новый инструментарий с открытым исходным кодом для защиты кода. Созданный с нуля и выпущенный по лицензии MIT, Globstar заявляет, что его цель — предоставить неограниченный коммерческий и полный публичный доступ к своему коду.
«С помощью Globstar мы предлагаем новый подход к пользовательскому статическому анализу, разработанный с учетом потребностей групп безопасности. Он возник из внутренней структуры, которую мы разработали для обнаружения угроз», Санкет Саурав, соучредитель и генеральный директор ДипСорс, сказал мне. «Semgrep уже в надежных руках, и нашей целью было выбрать другой путь. Мы видим себя не как замену, а как альтернативу, которая привносит новую перспективу в пространство».
Компания привлекла в общей сложности 7.7 млн долларов финансирования и в настоящее время пользуется поддержкой инвесторов Y-Combinator.
Разработанный с использованием языка программирования Go и интегрированный с Tree-sitter, Globstar поддерживает более 20 языков программирования. Набор инструментов включает интуитивно понятный интерфейс YAML для создания пользовательских проверок безопасности и расширенный интерфейс Go для сложного анализа между файлами.
«Когда проект разветвляется, он часто принимает другую траекторию, но когда он ограничен построением поверх существующего продукта, инновации могут быть ограничены», — сказал Санкет. «Мы создали систему, которая упрощает процесс написания пользовательских средств проверки кода».
Бизнес-необходимость против сохранения открытого исходного кода
13 декабря 2024 года Semgrep обновила свою модель лицензирования, чтобы ограничить использование третьими лицами внесенных правил в конкурирующих коммерческих продуктах без разрешения. Более того, компания переименовала свою версию с открытым исходным кодом в «Semgrep CE» (Community Edition). Semgrep утверждает, что ее изменения в лицензировании необходимы для защиты интеллектуальной собственности и обеспечения устойчивого дохода. Компания утверждает, что ограничение коммерческого использования помогает сдерживать несанкционированную переупаковку и поддерживает долгосрочные инновации.
«Когда инженеры пишут код для решения проблемы, статический анализ проверяет код без выполнения, выявляя закономерности и потенциальные проблемы на ранних этапах процесса разработки. Semgrep — уважаемый игрок в этой области, и я отношусь к ним с большим уважением», — сказал Санкет. «Однако их изменение в лицензировании для коммерческих пользователей отражает более широкую реальность: компании, поддерживаемые венчурным капиталом, должны сбалансировать принципы открытого исходного кода с устойчивыми бизнес-моделями».
Он отмечает, что, хотя это изменение не оказало прямого влияния на конечных пользователей, оно порождает продолжающиеся дебаты о том, следует ли ПО с открытым исходным кодом оставаться полностью неограниченным или развивать его, чтобы обеспечить долгосрочную жизнеспособность.
В январе 2025 года 10 фирм DevSec, включая Aikido Security, Arnica, Amplify Security, Endor Labs, Jit, Kodem, Legit Security, Mobb и Orca Security, сформировали консорциум для запуска Opengrep. Традиционно яростные конкуренты, новый консорциум планирует напрямую оспорить решение Semgrep ограничить функциональность в пользу коммерческой выгоды. В блогеВ Endor Labs заявили, что статический анализ кода «слишком важен, чтобы его ограничивать».
Однако пока не ясно, является ли Opengrep просто переупаковкой устаревшего кода или предлагает совершенно новое решение.
Рост альтернатив с открытым исходным кодом
DeepSource осознала растущую потребность разработчиков в инструменте, который не наследует устаревшие ограничения. «Корпоративные клиенты не хотят жонглировать несколькими инструментами — это создает проблемы интеграции и стимулирует спрос на комплексное решение», — объяснил Санкет. «Статический анализ играет решающую роль в понимании архитектуры кода, поэтому мы позиционируем себя как единую платформу».
Однако Globstar от DeepSource не одинок, несколько альтернатив статического анализа кода получили поддержку после спора о лицензировании Semgrep. Например, SonarQube — это платформа анализа кода, которая предлагает как бесплатную Community Edition, так и платные версии для статического анализа кода, поддержки интеграции и отслеживания метрик. Аналогично, ShellCheck — это еще одна альтернатива, специально используемая для анализа скриптов оболочки и помогающая разработчикам выявлять ошибки скриптов, которые впоследствии могут привести к серьезным ошибкам или неэффективности. Он отмечает команды или синтаксис, которые могут быть непереносимыми в различных средах оболочки. Благодаря простоте использования — возможности запуска из командной строки и легкой интеграции в конвейеры CI/CD, ShellCheck становится все более популярным выбором.
В то время как Opengrep стремится сохранить открытые корни устаревшего инструмента, другие альтернативы, такие как SonarQube, Globstar и ShellCheck, также предлагают свежее, дальновидное решение. По мере того, как разворачиваются дебаты об открытом исходном коде, разработчики и предприятия сталкиваются с кардинальными выборами, которые могут переопределить ландшафт анализа кода.