Security Ru

ИИ против живого аудитора: кто победит?

Меня часто спрашивают, пробовал ли я новые ИИ-инструменты для аудита и что я о них думаю. Это не статистическое исследование, а мой профессиональный взгляд на текущую ситуацию. Да, я использовал эти инструменты. И да, я провел сотни ручных аудитов безопасности.

Что такое уязвимость Уязвимость — это всегда больше, чем просто ошибка (как, например, функция, возвращающая неверную сумму). В коде это несоответствие. Оно выделяется через нестандартное поведение системы — то, что работать не должно, но работает. По сути, это ошибка мышления, которую невозможно полностью исключить.

Приведу реальный пример. Я нашел баг, где «нонс» (nonce) для одноразовой подписи не инкрементировался и не проверялся, хотя был частью подписи. Это оказалось огромной дырой в безопасности: любой мог повторно отправлять транзакции и забирать награды. Именно это я называю несоответствием: это ощущается как что-то неправильное.

В чем силен ИИ Инструменты на базе ИИ хорошо находят такие несоответствия: непохожие паттерны или несбалансированные реализации. Они даже могут помочь исправить ошибку или сослаться на стандарт.

Где ИИ проигрывает У нейросетей есть две слабые зоны: построение цепочек сценариев и проверка фактов. ИИ пытается, но часто безуспешно. Он упускает связь вида: «Это действие приведет к тому, а то, в свою очередь, вызовет катастрофу». ИИ видит паттерны. Человек видит последствия.

Проблема ложных срабатываний Главный подвох: ИИ помечает всё подозрительное. Иногда он выдумывает проблемы, которых не существует. Дэниел Стенберг верно заметил в своей статье «Буква I в аббревиатуре LLM означает Интеллект»: это похоже на студента, который не знает ответа, но пишет с полной уверенностью.

Среди всех ложных срабатываний разработчик должен найти то, что реально опасно. Кто это проверит? Безопасность всегда стоит ресурсов: времени и денег. Здесь выигрывает человек: аудитор может проверить факты, понять бизнес-контекст и знает об актуальных угрозах (zero-days). ИИ же ограничен тем, на чем его обучали.

Человеческий фактор Будем честны: специалисты по безопасности тоже ошибаются. После долгих часов концентрации крошечный баг может проскочить незамеченным. Это правда. ИИ не устает. Я же однажды пропустил баг в 2 часа ночи после трех эспрессо.

Что насчет совместной работы аудиторов и ИИ? Мы уже видим рост эффективности: разработчики используют ИИ, чтобы писать более качественный код. Поэтому, когда меня спрашивают об ИИ в безопасности, мой ответ прост. В безопасности, как и в жизни, самый умный ход — это не человек и не машина. Это квалифицированный эксперт, вооруженный машиной.