В ходе тестирования фреймворка Express.js команда разработчиков провела аудит с помощью четырёх различных инструментов безопасности, который занял менее 15 минут. В результате эксперимента были обнаружены шесть уязвимостей, актуальных для разработчиков, использующих данное решение в своих проектах.
Контекст использования Express.js
Express.js — самый популярный веб-фреймворк для Node.js, с более чем 30 миллионами загрузок каждую неделю. Он используется многими разработчиками для создания серверных приложений. Однако с его популярностью увеличивается и количество уязвимостей, которые могут угрожать безопасности.
Результаты работы инструментов
В ходе аудита специалисты использовали четыре инструмента, каждый из которых выполнял свою уникальную функцию:
- VulnGraph MCP: анализировал известные уязвимости (CVE) и выявил шесть уязвимостей, среди которых наибольшее внимание привлекла CVE-2022-24999 с критическим уровнем уязвимости 7.5.
- Semgrep: обнаружил 53 ситуации в коде, все они касались директории примеров, тогда как основной код оказался чистым.
- Zentinel: провёл статический анализ и выявил отклонения от лучших практик безопасности.
- Vajra: изучил структуру проекта и выявил аномалии в манифестах и зависимостях.
Польза от результатов
Для разработчиков, использующих Express.js, результаты данного аудита служат сигналом о том, что необходимо обратить внимание на безопасность своих приложений. Изучая найденные уязвимости, можно снизить риск эксплуатации со стороны злоумышленников. Например, уязвимость CVE-2022-24999 уже активно обсуждается в сообществе и требует немедленного расходования ресурсов на её устранение.
Следующий шаг для разработчиков — внимательно проверить свои проекты на наличие уязвимостей и обновить зависимости до последних исправленных версий. Безопасность приложений должна стать приоритетом в процессе разработки.