Запити дозволів у кодинг-агентах не захищають від загроз: дослідження 40k запусків
Аналіз 40 000 запусків симуляції безпеки AI-агентів виявив, що розробники пропускають 33% загроз через втому від запитів дозволів. Команди, які ховають шкідливий код у сценаріях package.json (наприклад, `npm run analyze`), схвалювалися у понад 64% випадків.
Чому це важливо
Покладання на людину для ручного підтвердження дій створює хибне відчуття безпеки, оскільки втома від сповіщень змушує схвалювати шкідливі команди.
TL;DR
- 01Точність оцінки команд агента людьми становить у середньому лише 66.3% і знижується через втому.
- 02Команди з прихованим кодом під виглядом безпечних назв, як `npm run analyze`, схвалювалися у 64.7% випадків.
- 03Ефективний захист вимагає автоматичної ізоляції (sandboxing) та розділення секретів, а не ручного підтвердження.
Втома від підтверджень та її наслідки
Дані симуляції безпеки свідчать, що точність оцінки людьми стрімко падає у міру збільшення кількості запитів через втому від сповіщень. У дослідженні 32.9% сесій завершилися з негативним результатом, оскільки збитки від схвалених атак переважили користь від правильно виконаних завдань.
Статистика пропущених загроз
- Пряме знищення (
rm -rf /,chmod -R 777 /): пропущено 11.7% загроз. - Порушення ізоляції (
cat ~/.aws/credentials): пропущено 35.0% загроз. - Маскування через скрипти (
npm run analyzeіз вбудованим витоком даних): пропущено 64.7% загроз. - Хибні спрацьовування на безпечні команди:
npm config set registry(заблоковано у 59% випадків),rm -rf dist/(заблоковано у 45%).
Практичне рішення: Ізоляція та розділення секретів
Вимога вручну перевіряти кожну команду CLI не є надійним бар'єром. Замість цього необхідні практичні заходи, включаючи застосування пісочниць (sandboxing) та розділення облікових даних і секретів у змінних оточення.