Инструмент статического анализа кода с учётом фреймворков для автоматизированного ревью исходного кода, включающий платформозависимые правила, анализ потоков данных (taint analysis), оценку трудозатрат и базовые линии подавления предупреждений.
Author:
- Debasis Mohanty ([email protected])
- Twitter / X: @coffeensecurity
- www.coffeeandsecurity.com
Daksh SCRA (Source Code Review Assist) создан для повышения эффективности процесса проверки исходного кода, обеспечивая хорошо структурированный и организованный подход для проверяющих код.
Вместо того чтобы без разбора помечать всё как потенциальную проблему, Daksh SCRA поощряет вдумчивый анализ, побуждая к исследованию и подтверждению потенциальных проблем. Такой подход снижает спешку в попытках пометить каждую потенциальную проблему как баг, сокращая путаницу и потери времени на ложные срабатывания.
Daksh SCRA был впервые представлен во время обучающей сессии по проверке исходного кода на Black Hat USA 2022 (6–9 августа), где он был ненавязчиво показан определённой аудитории. Его официальный публичный дебют состоялся на Black Hat USA 2023 в Лас-Вегасе.
DakshSCRA объединяет отличительные возможности для ручной проверки исходного кода — от областей интереса в путях к файлам и оценки трудозатрат до разведки программного обеспечения, контекстных правил и межфайлового анализа.
| Возможность | Тег | Почему это важно |
|---|---|---|
| Области интереса в путях к файлам | Первый в мире* | Сканирует сами имена файлов и каталогов наряду с кодом, чтобы отметить подозрительные пути, такие как резервные копии, отладочные эндпоинты, дампы конфигураций и файлы с учётными данными, которые проверяющие часто пропускают. |
| Научная оценка трудозатрат | Первый в мире* | Формирует количественную оценку трудозатрат на ручную проверку на основе размера кодовой базы и сигналов проекта. Настраиваемые допущения делают планирование работ явным и воспроизводимым. |
| Области интереса, а не флаги багов | Контроль у проверяющего | Выявляет паттерны, заслуживающие исследования, а не помечает каждое совпадение как уязвимость. Контекстные правила и доказательства подавления снижают шум при триаже и оставляют контроль у проверяющего. |
| Разведка программного обеспечения | Интегрированная разведка ПО | Определяет языки, фреймворки и инфраструктуру по содержимому файлов и структуре проекта до сканирования. Связывает инвентаризацию технологий с автоматическим выбором правил, семантическим анализом и планированием проверки. |
| Условные правила RDL | Продвинутые условные правила | Выходит за рамки простых regex с помощью PRESENT, MISSING, булевых выражений и условий на файлы/пути. RDL v1 фиксирует решения и причины подавления; RDL v2 добавляет типизированные семантические сервисы и ограниченные межфайловые доказательства. |
| Продвинутый семантический и межфайловый анализ | Создан с нуля | Отслеживает контролируемые пользователем данные от источника до стока через поддерживаемые границы файлов с помощью специализированного анализа. Advanced Analysis вышел вместе с оригинальным RDL в марте 2026 года; RDL v2 расширяет семантическую оценку правил на несколько файлов. |
| Платформо-независимое автосканирование | Автоматическая мультиплатформенность | Используйте -r auto для сканирования проектов со смешанными технологиями без предварительного выбора одного языка. Разведка автоматически выбирает правила поддерживаемых платформ и фреймворков. Представлено в v0.23-beta, ноябрь 2024. |
| Специфичная для приложения логика безопасности | Пользовательские пакеты RDL | Кодирует границы доверия приложения, решения об авторизации и бизнес-инварианты в опциональных пользовательских пакетах RDL. Логика, специфичная для проекта, работает наряду с общими правилами сканирования. |
| Интерактивные текстовые и графовые доказательства | Следуйте за доказательствами | Отслеживайте записанные пути от источника к стоку в связанных текстовых и графовых представлениях. Выдержки из исходников, дорожки файлов и детали передачи делают межфайловые доказательства удобнее для изучения. |
| Жизненный цикл проверки и портативные отчёты | Проверка, возобновление и экспорт | Сохраняйте историю сканирований, подавления при проверке и возобновляйте прерванные сканирования. Экспортируйте HTML, PDF, редактируемый Word и JSON через общие отчёты CLI и Web UI, с офлайн-навигацией по доказательствам там, где это доступно. |