Більшість розробників знають, що код потрібно перевіряти на вразливості, але роблять це нерегулярно — через складність налаштування інструментів. Встановлення Semgrep, CodeQL або Snyk у CI-пайплайні займає години, а для швидкої перевірки окремого фрагменту коду потрібне щось значно легше. Саме цю проблему вирішує новий інструмент.
За даними Dev, SecureScope — це REST API, розроблений як альтернатива важким статичним аналізаторам. Розробник надсилає код через звичайний HTTP-запит і отримує структурований JSON із переліком знайдених проблем, без жодного локального встановлення програмного забезпечення.
Як працює SecureScope
Реєстрація відбувається через один curl-запит на ендпоінт /signup: у відповідь повертається API-ключ, рівень доступу і місячний ліміт. Безкоштовний тариф дає 10 сканувань щомісяця без необхідності вводити платіжні дані. Ключ показується лише один раз, тому його потрібно зберегти одразу.
Для сканування потрібно надіслати POST-запит з двома полями: код у вигляді рядка і назва мови програмування. У відповідь приходить масив findings, де кожен елемент містить: рівень серйозності, назву правила, номер рядка, опис проблеми та рекомендацію щодо виправлення. Додатково повертається загальний risk_score від 0 до 10 і унікальний scan_id для посилання.
Наприклад, фрагмент Flask-додатку з трьома типовими помилками — SQL-ін'єкцією через f-string у запиті, виконанням shell-команди з несанованим введенням і відсутністю CSRF-захисту — сканер виявляє всі три проблеми з відповідними рівнями HIGH, CRITICAL і MEDIUM та конкретними порадами: параметризовані запити, subprocess.run із білим списком команд, бібліотека flask-wtf.
Переваги API-підходу над CLI
- Нульове встановлення: працює з будь-якого середовища, де є curl або HTTP-клієнт, без завантаження бінарників чи Docker-образів.
- Завжди актуальні правила: нові правила виявлення вразливостей розгортаються на сервері без оновлення клієнтської частини.
- Легка інтеграція в CI/CD: кілька рядків у GitHub Actions дозволяють автоматично блокувати PR з HIGH або CRITICAL вразливостями ще до мерджу.
Сканер поєднує два підходи: традиційний патерн-матчинг для відомих типів вразливостей і AI-аналіз для контекстно-специфічних проблем, які важко формалізувати у вигляді шаблонів. Це дозволяє виявляти не лише класичні помилки на кшталт pickle.loads з недовіреними даними, а й більш складні логічні вразливості.
Перспективи інструменту
Безкоштовний ліміт у 10 сканувань на місяць підходить для індивідуальних розробників і невеликих команд, які хочуть додати базову перевірку безпеки без великих інвестицій у DevSecOps-інфраструктуру. Зі зростанням навантаження або потреби у більш глибокому аналізі доведеться переходити на платний тариф — умови якого поки що не деталізовані публічно.
EVERYTHING