У каждого агента кодирования есть список запретов. Почти никто его не устанавливает, потому что каждому инструменту нужен свой файл, разный синтаксис и разное представление о том, что означает «запретить». Я прошел через все из них, пока строил охранника. Это ауди...
У каждого агента кодирования есть список запретов. Почти никто его не устанавливает, потому что каждому инструменту нужен свой файл, разный синтаксис и разное представление о том, что означает «запретить».
Я прошел через все из них, пока строил охранника. Это аудит по состоянию на сентябрь 2026 года. Используйте его, даже если никогда не устанавливали penv.
Угроза скучна
Ваш агент работает от вашего имени. Если вы умеете катить .env, то и он тоже. Он не обязательно должен быть вредоносным: grep для контекста, env во время отладки, трассировка стека с прикрепленной средой. Значение попадает в расшифровку на чужом сервере.
Правило запрета останавливает чтение. Это не останавливает утечку значения, когда оно уже находится в процессе. Держите обе проблемы в голове; этот пост только о первом.
Чего хочет каждая подвеска
Два шаблона повсюду: .env и .env.*. Не *.env, не .env.local прописано. Во втором заключается вся суть: правило только для .env ничего не делает для .env.local, .env.production, .env.bak.
Клод Код
Файл: .claude/settings.json (проект). Два механизма, и вам нужны оба.
{
"permissions": { "deny": ["Чтение(./.env)", "Чтение(./.env.*)"] },
"песочница": { "файловая система": { "denyRead": ["./.env", "./.env.*"] } },
"крючки": {
"PreToolUs