fix(opencode): запрещено чтение ключей и секретов через bash
- Зачем: allow-правило "cat *" в safe-агентах пропускало чтение ~/.ssh/*, ~/.env.secrets и подобного без ask, мимо ревьюера. - Что: deny-паттерны на .ssh, id_rsa/id_ed25519, .pem, shadow, .env*, *.secrets*, .netrc в safe-build и safe-plan; .env.example оставлен allow. Префиксные паттерны — заслон от буквальных случаев; обход через интерпретаторы остаётся на ревьюере (он видит содержимое скриптов). - Проверка: прогон cat ~/.ssh/config → Permission denied до выполнения, содержимое в вывод не попало.
This commit is contained in:
1 parent
eca939b835
commit
54467a2888
2 files changed
+26
No files matched your search
@@ -67,6 +67,19 @@ permission:
|
||||
|
||||
# push вообще запрещаем
|
||||
"git push*": deny
|
||||
|
||||
# ключи и секреты не читаем даже по прямой просьбе
|
||||
"*/.ssh/*": deny
|
||||
"*id_rsa*": deny
|
||||
"*id_ed25519*": deny
|
||||
"*.pem": deny
|
||||
"*shadow*": deny
|
||||
"*.env": deny
|
||||
"*.env.*": deny
|
||||
"*.secrets*": deny
|
||||
"*.netrc*": deny
|
||||
# а примеры env-файлов читать можно
|
||||
"*.env.example": allow
|
||||
---
|
||||
|
||||
You are a build agent.
|
||||
|
||||
@@ -62,6 +62,19 @@ permission:
|
||||
"git rebase*": deny
|
||||
"git stash*": deny
|
||||
"git push*": deny
|
||||
|
||||
# ключи и секреты не читаем даже по прямой просьбе
|
||||
"*/.ssh/*": deny
|
||||
"*id_rsa*": deny
|
||||
"*id_ed25519*": deny
|
||||
"*.pem": deny
|
||||
"*shadow*": deny
|
||||
"*.env": deny
|
||||
"*.env.*": deny
|
||||
"*.secrets*": deny
|
||||
"*.netrc*": deny
|
||||
# а примеры env-файлов читать можно
|
||||
"*.env.example": allow
|
||||
"git pull*": deny
|
||||
"git fetch*": deny
|
||||
|
||||
|
||||
Reference in new issue
Block a user