Что такое ASOC и ASPM и при чём тут ИИ
Пару месяцев назад я проходил тех. собес. Где была часть с ручным анализом кода и тогда я прошёл её успешно: нашёл path traversal, объяснил логику, показал как я подтверил уязу. Но вот тему триажа я раскрыл слабо. Точнее, не раскрыл её в той терминологии, которую от меня ждали: ASOC, ASPM и всё, что вокруг них. Терминологию я как тогда так и сейчас не особо люблю)
Тогда это и послужило отказу. Сейчас же решил закрыть этот момент через пост и заодно объяснить другим, что это вообще такое и как оно связано с моей практикой триажа.
━━━━━━━━━━ Что такое ASOC ━━━━━━━━━━
ASOC (Application Security Orchestration and Correlation) это сервис, который помогает собрать в одном месте результаты из разных инструментов: • SAST • DAST • SCA • secrets • container / IaC / и не только
ASOC нужен для того, чтобы: • подтянуть результаты из разных тулзов • убрать часть дублей • связать находки с репозиторием, пайплайном, владельцем • показать всё это в едином workflow
В пример могу назвать ArcherySec, с которым я работал и работаю. Это open-source дашборд, где видно, как отработала та или иная тулза и что она вообще принесла в отчёте.
━━━━━━━━━━ Что такое ASPM ━━━━━━━━━━
ASPM — это уже Application Security Posture Management.
Если ASOC в основном собирает, оркестрирует и коррелирует результаты, то ASPM идёт дальше и задаёт более взрослые вопросы: • это production или test? • сервис internet-facing или нет? • есть ли реальные exploit conditions? • кто владелец? • насколько критичен бизнес-процесс? • есть ли runtime-контекст? • насколько риск важен именно для этого приложения?
━━━━━━━━━━ Мини вывод по ASOC и ASPM ━━━━━━━━━━
➤ ASOC помогает собрать и разложить алерты ➤ ASPM помогает понять, какие из них реально важны для бизнеса
ASOC вполне можно воспринимать как один из блоков более широкого ASPM-подхода.
━━━━━━━━━━ Как лично я реализовываю триаж ━━━━━━━━━━
Любой, кто реально работал со сканерами, знает: n инструментов легко дадут сотни и тысячи алертов, из которых огромная часть будет шумом, дублями или просто false positive.
И вот именно здесь “красивый дашборд” заканчивается, а начинается реальный триаж. Лично я триаж понимаю не как “посмотреть критичность”, а как: • подтвердить или опровергнуть эксплуатацию • есть ли реальный taint flow
Для ускорения этой работы я использую локальные модели. Я не скармливаю отчёты и код в облачные LLM наподобие публичных SaaS-решений. Для бизнеса это прямая дорога к утечкам чувствительной информации.
Мой подход зависит от мощности модели.
Если модель слабее — условно район 30B: • передаю сам алерт • передаю нужный блок кода, чаще класс или модуль • задаю жёсткий шаблон ответа • прошу объяснить, почему уязвимость подтверждается или не подтверждается Если вводных не хватает — я сам достраиваю taint flow вручную и докидываю недостающий контекст.
Если модель сильнее — условно 100B+: • уже можно давать больше кода • несколько алертов сразу • и просить модель самой строить цепочку до sink по моему шаблону отчёта
И именно поэтому сегодня триаж для меня — это уже не “разобрать всё за несколько дней”, а уложиться в несколько часов и сразу принести в джиру тикет с подробным описанием эксплутаации вулны.
#AppSec #ASOC #ASPM #DevSecOps #SSDLC #AI #LLM #CodeReview #CyberSecurity