🤖 AI Code in the Wild: «хотели, как лучше...»
AI-кодер — будто «стажёр-всезнайка на стероидах»: пишет много и быстро то, что выглядит аккуратно и эстетично. А потом внезапно выясняется, что он по всему GitHub размножил один и тот же уязвимый паттерн...
Авторы опубликованного на днях исследования AI Code in the Wild собрали историю коммитов в топ-1000 репозиториев GitHub за 2022–2025 и отдельно 7000+ изменений кода, связанных с CVE, и на этом попытались измерить, где именно AI уже «живёт» и как он влияет на уязвимости.
Что выяснили:
• AI уже в кодовой базе, в заметной доле, но присутствует неравномерно.
Он особенно любит документацию (~38.6%), заметно залезает в бизнес-логику (~34.5%), а вот в конфигах/данных его уши торчат сильно реже (~9.65%) — видимо, туда его пока не особо пускают, уж больно легко сделать нехорошо продакшену парой токенов.
• У него есть «любимые» классы уязвимостей — и это даже не про сложную бизнес-логику.
В топе — ошибки обработки входных данных (62.7%) и криптографические продолбы (20.6%), оформленные настолько правдоподобно, что не всегда получается сходу их выявить. То есть AI отнюдь не изобретает новые баги, он старательно штампует узкий набор небезопасных идиом, мимикрируя их под нормально выглядящий код.
• По серьезности (CVSS) AI-уязвимости примерно такие же, как человеческие… но чаще торчат в сеть.
По распределению severity статистически авторы большой разницы не нашли (медианы близки), но вот по векторам атак — уязвимости, внесённые AI, слегка чаще оказываются эксплуатируемыми по сети (86.8% против 80.8% у «человеческих»).
• Самый неприятный вывод: AI-индуцированные уязвимости могут размножаться, как шаблоны.
Авторы прямо говорят: они видят почти идентичные небезопасные шаблоны в разных проектах, и это больше похоже на эффект общих моделей, чем общих мейнтейнеров.
Почему это заслуживает внимания:
Исследование аккуратно подводит к идее: в AI-эпоху «доверие» надо переносить с ревью одного PR на весь пайплайн — потому что скорость генерации AI-кода никак не масштабирует внимательность нашего брата. И если AI системно выдает повторяемые типы ошибок, их можно ловить правилами/типами/ограничениями так же системно, не надеясь на героизм ревьюеров.
Btw, описанная ими в статье методика классификации авторства кода (AI или человек), заслуживает отдельного внимания: ансамбль признаков и обучающая выборка из реального человеческого и синтетического AI кода, для получения вероятностной оценки.
⚠ TL;DR:
Это не очередная «AI иногда пишет небезопасно». Авторы берут топ-1000 репозиториев GitHub и тысячи CVE-патчей, детектят AI-код в реальных коммитах, и дальше показывают, что у AI есть повторяемые «любимые» ошибки (особенно в обработке входных данных и криптографии), и они имеют тенденцию размазываться по экосистеме как шаблоны, за счет использования одних и тех же моделей.
#ИИ_безопасность
Post #50
491

- 🔥 10
- ❤ 3
- 💯 2