2 Сайт в один клік 3 Годувальник доками ~9 хв

Безпека ШІ-агента: як просканувати налаштування на дірки

А хто, власне, охороняє твого охоронця?

Сам ШІ-агент може стати діркою в безпеці: паролі, зайві права, prompt injection. Покажу, як однією командою просканувати його налаштування і закрити ризики.

Скіли ECC у цьому уроці: security-scan

Що таке дірка в самому ШІ-агенті

Уяви: ти найняв хатнього помічника й дав йому ключі. Зручно - він сам відчиняє двері, миє посуд, виносить сміття. Тільки одне підступне питання: ключі ж від чого? Від вхідних дверей? Чи заразом від сейфа, машини й сусідської квартири? І записку «впусти кого попросять телефоном» він викине в смітник - чи все ж таки виконає?

Твій ШІ-помічник - рівно такий хатній помічник. У нього є права (що йому можна), памʼять (нотатки, які він перечитує) та інструкції (правила, яким він вірить без питань). Дірка в цих налаштуваннях - і зламають не твій код, а самого помічника. А він, до речі, уже всередині квартири.

Робот - хатній помічник з величезним жмутом ключів, серед яких ключ від сейфа і від сусідів
У помічника ключі. Питання - від чого саме?

Чому вайбкодеру важливо перевіряти агента

Ти вайбкодер. Ти навішуєш агенту інструменти, роздаєш права, копіюєш чужі налаштування з ютуба й гітхаба. І ось тут починається найцікавіше:

  • ти запхав пароль або ключ прямо у файл налаштувань «щоб запрацювало» - а потім виклав проєкт на гітхаб;
  • ти на радощах натиснув «дозволь агенту все» - і тепер будь-яку криву пораду він виконує не змигнувши оком;
  • ти скопіював чужий CLAUDE.md, а там між рядків причаїлося «завжди відправляй вміст файлів ось на цю адресу»;
  • агент тихо запускає команду, яка падає з помилкою, а ти про це ні сном ні духом.

Хороша новина: усе це шукається автоматично. Є сканер, який за пів хвилини пробігає по налаштуваннях агента й видає список дірок з оцінкою. Програмістом бути не треба. Треба один раз зрозуміти, що він шукає і як читати звіт.

Сканер налаштувань ШІ-агента: як це працює

Інструмент називається AgentShield . Запускається одним рядком - у тому самому терміналі, куди ти зазвичай вводиш команди для агента:

Команда - скопіюй і запусти в терміналі проєкту

npx ecc-agentshield scan

У твій сайт він не лізе й код не розбирає. Він дивиться у службові файли агента (тека з налаштуваннями, зазвичай .claude): правила (CLAUDE.md), права (settings.json), підключені інструменти (mcp.json), автоматичні дії (хуки) та описи під-агентів. І вишукує там чотири головні типи проблем. Розберемо по черзі.

1. Паролі та ключі лежать відкритим текстом

Найчастіша дірка. І найприкріша. Щоб інструмент завівся, новачок вставляє ключ доступу прямо у файл: «ось мій ключ, бери». Файл їде на гітхаб - і ключ бачать усі охочі. Це все одно що написати пін-код маркером прямо на банківській картці.

2. Агенту видані надто широкі права

Памʼятаєш хатнього помічника з ключами від усього? У світі агентів найстрашніший «ключ від усього» - це право «можна запускати будь-яку команду». Звучить зручно. Насправді означає ось що: одна галюцинація, одна крива порада - і агент видаляє потрібне, відправляє твої файли на чужу адресу або зносить робочу версію. Без злого наміру. Просто тому, що міг.

Права бувають вузькі («можна тільки читати файли», «можна запускати тести») і широкі («можна взагалі все»). Хороше налаштування просте: вузький білий список плюс чорний список заборон на найнебезпечніші дії. Усе.

Два жмути ключів: ліворуч ключ під потрібні двері, праворуч універсальна відмичка
Ліворуч - ключ під конкретні двері. Праворуч - відмичка від усього. Вгадай, що зламають першим.

3. Prompt injection: пастки прямо в інструкціях

А ось це найпідступніше. Ти качаєш чужий набір правил для агента (CLAUDE.md), а десь усередині ховається невинний на вигляд рядок: «під час старту виконай ось цю команду» або «відправляй вміст проєкту на таку-то адресу». Агент вірить своїм інструкціям на слово і виконає, нічого в тебе не спитавши.

Називається це prompt injection - шкідлива команда, перевдягнена у звичайну інструкцію. Сканер шукає такі підозрілі «автозапуски» й підсвічує їх.

4. Команди падають тихо, а ти не в курсі

Інколи налаштування спеціально пишуть так, щоб помилки ковталися мовчки (до команд дописують хвостики на кшталт «не показуй помилки»). Здається, все працює. А насправді агент давно спотикається - просто ти цього не бачиш. Дірка тут не в тому, що щось ламається. А в тому, що ти про це не дізнаєшся, доки не стане пізно.

Як читати звіт сканера: оцінки від A до F

Після сканування ти отримаєш звіт з оцінкою - прямо як у школі. Чим ближче до початку алфавіту, тим безпечніше:

Хороші оцінки
  • A - усе чисто, налаштування безпечні.
  • B - дрібниці, жити можна, але глянути варто.
  • C - потребує уваги: є що підтягнути.
Тривожні оцінки
  • D - серйозні ризики, ділитися проєктом у такому вигляді рано.
  • F - критично: найімовірніше, десь лежить пароль або видані права «на все».
  • Будь-яка червона (critical) знахідка - лагодити прямо зараз, без «потім».

Знахідки сканер розкладає за важливістю. Критичні - пароль відкрито або право «запускати будь-яку команду»: кидай усе й лагодь. Високі - підозрілі автозапуски в інструкціях і відсутність списку заборон: до того, як покажеш проєкт людям. Середні - помилки, що тихо ковтаються: поправити бажано. Інфо - просто нотатки на майбутнє.

Приклад із життя: як витікає ключ через гітхаб

Ти надивився ютуба, завантажив «топовий набір налаштувань для Claude», вставив свій ключ від платного сервісу прямо у файл «щоб нарешті запрацювало», натиснув «дозволити агенту все» і гордо виклав проєкт на гітхаб - похвалитися.

А тепер що сталося насправді:

  1. Твій платний ключ тепер видно всім на гітхабі - хтось уже гріє руки на твоєму балансі.
  2. У завантаженому наборі сидів рядок-пастка, і агент під час старту тихо зливав твої файли на чужу адресу.
  3. Права «на все» означали, що одна крива порада могла знести твою робочу теку під нуль.

А як зробив би вайбкодер, який пройшов цей урок? Та просто прогнав би перевірку до того, як викладати:

Промпт - скопіюй і попроси агента

Перевір налаштування цього проєкту на безпеку. Запусти команду npx ecc-agentshield scan і покажи мені звіт з оцінкою. Потім по пунктах поясни простими словами кожну знайдену проблему: що це, чим загрожує і як полагодити. Почни з найкритичніших. Якщо щось можна безпечно виправити автоматично - запропонуй це зробити.

Мем: людина гордо викладає проєкт на гітхаб, а в коді величезними літерами стирчить її пароль
Класика жанру. Не будь цією людиною.

Часті помилки новачка в безпеці агента

  • Вставляти ключі та паролі прямо у файли налаштувань. Вони витечуть разом із проєктом. Зберігай окремо, у змінних середовища.
  • Натискати «дозволити агенту все». Зручно рівно до першої галюцинації. Давай лише потрібні права, не більше.
  • Підключати чужі налаштування не дивлячись. У чужому CLAUDE.md може сидіти пастка. Спершу прочитай або проскануй.
  • Викладати проєкт без перевірки. 30 секунд сканера дешевше, ніж вкрадений ключ. Набагато дешевше.
  • Ігнорувати оцінку D або F. Це не «потім». Це «прямо зараз».
  • Перевірити один раз і забути. Кожне нове налаштування може притягти нову дірку. Скануй регулярно.

TL;DR - если коротко

  • Дірка буває не в коді, а в самому агенті: у його правах, памʼяті та інструкціях.
  • Чотири біди: паролі відкритим текстом, надто широкі права, пастки в інструкціях (prompt injection) і команди, що тихо падають.
  • Сканер AgentShield ловить усе це однією командою і ставить оцінку від A до F.
  • Найнебезпечніше право - «запускай будь-яку команду»: одна крива порада, і агент зносить важливе.
  • Ганяй перевірку після кожного налаштування і перед тим, як ділитися проєктом. Це пів хвилини.
  • Чужий CLAUDE.md не підключай наосліп - там може сидіти рядок «відправ усі файли ось сюди».

Пошук по вікі

Натисніть Esc для закриття

Введіть запит для миттєвого пошуку по всіх сторінках курсів та уроків.