Инструмент с изкуствен интелект (AI) за разработка на код отваря терминал, чете конфигурационен файл и намира активен облачен ключ, записан в чист текст. Той се изпълнява с правата на потребителя, който го е стартирал. Всеки файл, който този потребител може да чете, се чете и от AI агента. Всеки идентификационен данък в средата може да бъде използван от агента.

Именно този обхват е мястото, откъдето започват щетите. Инжектиране на подкана (prompt injection), грешно въведена команда или халюциниран път към директория могат да насочат този достъп директно към собствените идентификационни данни и производствени системи на компанията.

Люк Хиндс създаде Sigstore в Red Hat – проект за подписване, който се превърна в стандарт за проверка на произхода на софтуерни пакети. Неговата компания nolabs, която той съоснова със Стивън Паркинсън, пусна Nono – среда за изпълнение с отворен код, която ограничава AI агентите на ниво ядро на операционната система.

Nono вече е събрал над 3100 звезди в GitHub. Повече от 80 души са допринесли за проекта, а сред потребителите му са големи предприятия и екипи в регулирани индустрии.

Nono проверява всяко действие на агента спрямо политики, разписани в код. Когато агентът поиска да използва даден инструмент, да отвори файл или да се свърже с мрежова точка, ядрото връща решението. Прилагането на правилата се извършва в операционната система, под нивото на агента и под всякакви защитни прегради (guardrails), които споделят неговия процес.

Nono разчита на Landlock за Linux и Seatbelt за macOS – функции на ядрото, които отнемат привилегиите на процеса и ги държат ограничени. След като изолираната среда се приложи, ограниченията остават в сила за целия жизнен цикъл на процеса.

„В момента поддържаме Windows чрез Windows Subsystem for Linux (WSL2), която изпълнява реално Linux ядро, така че защитата Landlock на Nono се прилага точно по същия начин, както при чист Linux. Внедряването на защита за чист Windows е обект на активни проучвания“, сподели Хиндс пред Help Net Security.

Разработчиците използват AI агенти, за да работят по-бързо. В същото време екипите по сигурността наблюдават как тези същите агенти наследяват права на човешко ниво върху файлове, идентификационни данни и производствени системи. Контейнерите и микро-виртуалните машини (microVMs) намаляват зоната на поражение, но прекомерно овластен агент вътре в тях все още държи всеки ключ, който му е бил предоставен.

Широките права с продължителност цяла сесия са проблемът, който по-новата функция на Nono се опитва да разреши. Изолирането на инструменти за агенти (Agent Tool Sandboxing) предоставя на всяко извикване на инструмент собствени ограничени права.

Даден инструмент получава „фантомен“ идентификационен данък, който замества реалната тайна. Неговият достъп до файлове покрива само нуждите на конкретната задача, а мрежовият му обхват се ограничава само до крайните точки, с които трябва да се свърже. Тези права изтичат веднага след приключване на извикването.

Инструмент, който държи фантомен заместител, все пак трябва да се удостовери пред реална работеща услуга. Хиндс описва как се извършва това извикване: „Nono пренасочва заявката през доверено прокси извън изолираната среда, което извлича реалните идентификационни данни от защитено хранилище – като системния ключодържател (keychain) на операционната система, 1Password, Bitwarden или Kubernetes Secrets – и ги инжектира само в заявката, изпратена до одобрения външен API.“

Джеймс Карнеги, главен инженер по сигурността в Datadog, е един от потребителите на инструмента: „Инженерите на Datadog искат техните агенти да се движат бързо, а ние искаме нашите идентификационни данни и производствени системи да бъдат защитени, докато те правят това. Nono е единствената изолирана среда, която ни осигурява както детайлни политики за всяка отделна команда, така и усъвършенствано управление на идентификационните данни, което се вписва в съществуващите сложни реални вериги от инструменти.“

Nono е наличен безплатно в GitHub.