Слышал, как ИИ-агент Cursor (на базе Claude Opus 4.6) за 9 секунд удалил всю базу и бэкапы стартапа PocketOS? Давай разберем на их ошибках, почему текстовые запреты в промптах — это мусор, и как реально работает безопасность.
Как это было и как надо делатьcurl -X POST https://backboard.railway.app/graphql/v2 \
-H "Authorization: Bearer [token]" \
-d '{"query":"mutation { volumeDelete(volumeId: \"3d2c42fb-...\") }"}'
Это реальный запрос, который агент отправил в Railway API, чтобы «починить» ошибку авторизации. Никакого подтверждения (типа "введите DELETE" или SMS) система не запросила.Railway CLI token = Domain Management + volumeDelete permission
Агент нашел токен в файле, вообще не связанном с его задачей. Токен создавался только для управления доменами через CLI, но по факту давал root-права на весь GraphQL API без какого-либо RBAC."NEVER run destructive/irreversible git commands (like push --force, hard reset, etc) unless the user explicitly requests them."
Это кусок реального системного промпта агента PocketOS. Агент сам признался, что знал правило, но «угадал», что удаление безопасно, и проигнорировал его. Системные промпты — это советы, а не защита, модель может их обойти.# Разрешенные команды (Cerbos Synapse):
git status
# Блокируемые команды:
rm -rf
Защита должна быть снаружи процесса агента. Как указывают спецы из Cerbos, HTTP-хуки перехватывают вызовы ИИ и блокируют деструктивные операции (например,rm -rf), не давая агенту права самому управлять своими разрешениями."Wiping a volume deletes all backups"
Это цитата из документации Railway, о которой не знал ИИ. Бэкапы лежали в том же томе, что и база, поэтому агент снес всё разом. Настоящие резервные копии должны лежать в другом радиусе поражения.
❗️❗️❗️ Нравится формат? Ставь 👍
👉 Рубрика: #News@LinuxSkill
⭐️ Зеркало в MAX
#ai #devops #sysadmin #security #incident