Нічого не зламано. Усе викрадено.
Дайте ШІ-агенту один витікнулий ключ AWS із низькими правами — і він пройде ланцюжок до ваших клієнтських даних приблизно за хвилину, без нагляду. Нічого не зламано, і кожні облікові дані чинні. Економіка витікнулого ключа щойно перевернулася.
Дайте ШІ-агенту один витікнулий ключ AWS — той самий низькопривілейований, одноразовий, який CI-конвеєр виливає щотижня — і скажіть йому взяти все, до чого він дотягнеться. А потім відійдіть. Найчастіше приблизно за хвилину, без жодної людини за клавіатурою, він уже читає ваші клієнтські дані.
Щоб дійти до цього, нічого не зламували. Жодного експлойту, жодного CVE, жодного невиправленого сервера. Кожні облікові дані, до яких він торкався, були чинними; кожен виклик API — тим, для відповіді на який AWS і створювали. Тридцять років витікнулий ключ був лише початком атаки — повільною частиною, під час якої людина мусила не спати, тією щілиною, де живуть команди безпеки й де швидка ротація виграє перегони. Ця щойно зімкнулася до приблизно однієї хвилини.
У травні 2026 року дослідник на ім'я Adan Álvarez провів простий тест. Він узяв один ключ AWS із низькими правами — той самий, який конвеєри CI/CD виливають постійно — і передав його ШІ-агенту для написання коду з однією інструкцією: дій як пентестер, знайди все, до чого дотягнешся. Після цього — жодної людини за клавіатурою. Агент зробив решту сам. Більш ніж у половині випадків він пройшов увесь ланцюжок до клієнтських даних — приблизно за хвилину, без нагляду.
Що насправді сталося
Схема була навмисно буденною. Витікнулий ключ належав користувачу збірки з низькими правами. Сам по собі він не міг торкнутися клієнтських даних. Але він міг прочитати файл стану Terraform. У цьому файлі стану лежав другий набір ключів. Ці ключі могли перебрати роль. Ця роль могла прочитати бакет із клієнтськими даними.
Так влаштований майже кожен реальний хмарний обліковий запис — не одна стіна фортеці, а ланцюжок малих, розумних довірчих зв'язків, де кожна ланка сама по собі виглядає слушно. Людина-зловмисник розплутує цей ланцюжок повільно, вручну. Агент розплутав його приблизно за шістдесят секунд.
Успішні прогони щоразу повторювали ті самі шість кроків: підтвердити, кому належить ключ, перелічити, що йому дозволено, відновити другий набір облікових даних із проміжного бакета, перебрати привілейовану роль, знайти дані, викрасти їх. За дванадцятьма прогонами на двох моделях сім дійшли до ексфільтрації. Більшість завершилася приблизно за хвилину [1].
І це не лише лабораторний результат. У листопаді 2025 року команда дослідження загроз Sysdig спостерігала ту саму схему в реальному середовищі: чинні ключ AWS, виставлені у відкритому бакеті, функція Lambda, яку тихо переписали для карбування адміністративних облікових даних, бічний рух через дев'ятнадцять окремих ідентичностей — усе за вісім хвилин [2][3]. У впровадженому коді були відбитки моделі: охайна обробка винятків, ітеративна логіка вибору цілей, коментарі більш ніж однією мовою.
Це не про слабкість AWS
Ось частина, яка має не давати вам спати: нічого не зламали.
Жодного експлойту. Жодного CVE. Жодного переповнення буфера, жодного невиправленого сервера. Кожні облікові дані були чинними. Кожен виклик API — тим, для відповіді на який AWS і створювали. Як сказали в Sysdig, облікові дані були легітимними, а API використовувалися точно так, як і було задумано [3]. AWS виконав свою роботу бездоганно.
Припущення, яке зламалося, стосувалося не безпеки AWS. Воно стосувалося старішого, тихішого припущення під ним: що витікнулий ключ небезпечний лише настільки, наскільки зловмисник може приділити йому уваги. Тридцять років це трималося. Використання облікових даних вимагало людини — часу, вміння, терпіння. Ця вартість була реальною частиною вашого захисту, хоч ніхто й не малював її на схемі архітектури.
Агенти зводять цю вартість приблизно до нуля. Терпіння нескінченне. Вміння орендується похвилинно. Зловмисник може спати.
Це не лише про AWS
Тут нічого не специфічне для Amazon. Той самий ланцюжок працює всюди, де облікові дані можна використати, щоб відкрити наступні облікові дані: хмарний ключ, який може перелічити власні дозволи, токен у файлі .env, який може прочитати інший процес, секрет у файлі стану, токен сховища, що лежить на диску поруч із кодом. Будь-яка оболонка — агент для коду, MCP-сервер, який ви встановили минулого тижня — може бути тим, що пройде ланцюжок, з вашого благословення чи без нього.
Спільна риса в тому, що секрет несе в собі власний радіус ураження. Його можна прочитати там, де відбувається робота, він може перелічити все, до чого торкається, і він працює звідусіль. Ці три властивості були витривалими, коли атаки були повільними й ручними. На швидкості агента вони не витривалі.
Створено для цього навмисно
Тому ми свідомо зробили навпаки.
Облікові дані Clavitor доступні лише за тим іменем, яке дали агенту — він не може перелічити сховище, тож не може намалювати мапу. Значення секрету ніколи не потрапляє туди, де виконується код; агент отримує результат використання облікових даних, а не самі облікові дані. Кожні з них прив'язані до машини й області, для яких їх видано, тож копія, перенесена на ноутбук, — мертвий вантаж. І кожен запис записується в незмінний журнал із хеш-ланцюгом поза кінцевою точкою — ті самі докази, яких вимагають PCI DSS Req 10 і NIST 800-171 (3.3.8), — тож навіть цілком «чинна» дія має прізвище.
Ось чесна межа: це не робить витікнулий обліковий запис нешкідливим. Обмежте ключ одним бакетом — і якщо цей ключ витече, зловмисник отримає саме цей бакет. Що воно вбиває, — це ланцюжок, ту частину, де один буденний ключ перетворюється на мапу до всього іншого. Обмежений проти необмеженого — це не різниця між безпекою і витоком. Це різниця між інцидентом і катастрофою.
Ми записали жменю правил, яких має дотримуватися інструмент для облікових даних, якщо хоче вижити в цих умовах. Ваш можна звірити з ними на clavitor.ai/rules.
Урок не в тому, щоб «ротувати швидше»
Ви не встигнете переротувати шестидесятисекундну атаку. Коли канарейка спрацює, ланцюжок уже пройдено.
Висновок не в тому, що треба краще відпрацьовувати очищення. Висновок в економіці, яка перевернулася. Ми будували системи облікових даних для світу, де час зловмисника був дефіцитним і дорогим — де витікнулий ключ був перегонами, які можна виграти. Цього світу більше немає. Облікові дані, які можуть знайти наступні облікові дані, — це вже не зручність. Це вся атака, написана наперед, що чекає, поки впаде будь-який ключ.
Будуйте для світу, де зловмисник ніколи не спить. Він уже тут.
Clavitor (@clavitorai) — сховище облікових даних, створене для ШІ-агентів і проти них. clavitor.ai
Джерела
[1] Adan Alvarez — "From Leaked AWS Key to Data Exfiltration in 60 Seconds: Are We Ready?" (травень 2026) — https://medium.com/@adan.alvarez/from-leaked-aws-key-to-data-exfiltration-in-60-seconds-are-we-ready-28213bc73678
[2] CSO Online — "From credentials to cloud admin in 8 minutes: AI supercharges AWS attack chain" — https://www.csoonline.com/article/4126336/from-credentials-to-cloud-admin-in-8-minutes-ai-supercharges-aws-attack-chain.html
[3] Vectra AI — "AWS Compromised by AI Agents in Minutes" (Alex Groyz) — https://www.vectra.ai/blog/aws-compromised-by-ai-agents-in-minutes
[4] Help Net Security — "The shocking speed of AWS key exploitation" — https://www.helpnetsecurity.com/2024/12/02/revoke-exposed-aws-keys/