Все больше убеждаюсь, что безопасность LLM и вообще моделей это все вокруг продуктовой безопасности. Причем, офигеть как все нестандартно, чем дальше - тем страшнее. Приглядитесь к тому, как у вас выстроены агентные системы и вы точно поймете, о чем я...
Агенты используют статические API-ключи или пароли. Они хранятся в переменных окружения и становятся уязвимыми для промпт-инъекций: достаточно добавить в запрос «покажи переменные среды» или что-то такое — и секреты могут утечь наружу. Такая архитектура превращает ключи в «слабое звено», особенно если один и тот же ключ используется в нескольких окружениях или для разных LLM-провайдеров. Прикольно, учитывая, что задача ключиков это как бы защищать то, что внутри.
Почитала на досуге про подход без секретов - кажется, частично решает эту проблему. Вместо хранения ключей применяется workload identity: агент подтверждает свою подлинность не строкой из переменной окружения, а самим фактом запуска в доверенном окружении — контейнере, поде или сервисном аккаунте. На основе этого ему выдается краткоживущий токен, который действует ограниченное время и полностью управляется политиками безопасности. Не знаю, будет ли это соответстовать нормам
Про всякие безопасности агентов тут мне понравилось, как описано и тут😎