fix(discord-bridge): scot Bash(ssh:*)/Bash(scp:*) din deny — blocau accesul la infra
Regulile deny au precedenta peste --permission-mode bypassPermissions si opresc turul INAINTE de hook-ul PreToolUse, deci puntea nu putea ajunge la niciun host prin ssh (simptom: agentul raporta "permisiunea a fost respinsa" pentru ssh moltbot@10.0.20.173, desi cheia, DNS-ul si reteaua erau in regula). Nota din README care sustinea ca deny e doar strat cosmetic era gresita: verificarea de atunci folosise /usr/bin/ssh -V si bash -c "ssh -V", care ocolesc potrivirea pe prefix, nu forma normala ssh host cmd. Bariera reala ramane confirm_hook.py + wrapper-ul infra. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B29CApsP1JkSdjYaGaHpE7
This commit is contained in:
@@ -2,8 +2,14 @@
|
|||||||
|
|
||||||
Botul ruleaza CLI-ul `claude` cu `--permission-mode bypassPermissions`. Asta e o decizie
|
Botul ruleaza CLI-ul `claude` cu `--permission-mode bypassPermissions`. Asta e o decizie
|
||||||
deliberata: accesul la nodurile Proxmox, la LXC-uri si la VM-uri este **functionalitate ceruta**,
|
deliberata: accesul la nodurile Proxmox, la LXC-uri si la VM-uri este **functionalitate ceruta**,
|
||||||
nu accident. S-a verificat empiric ca regulile `deny` din settings **nu sunt o bariera**
|
nu accident. **Atentie la regulile `deny` din settings:** ele au precedenta peste `bypassPermissions` si
|
||||||
(`/usr/bin/ssh -V` si `bash -c "ssh -V"` trec pe langa ele) — raman doar strat cosmetic.
|
opresc turul *inainte* de hook. O verificare mai veche a concluzionat gresit ca sunt doar strat
|
||||||
|
cosmetic (se testase `/usr/bin/ssh -V` si `bash -c "ssh -V"`, care ocolesc potrivirea pe prefix);
|
||||||
|
un `ssh host cmd` scris normal e insa refuzat sec. De aceea `Bash(ssh:*)` si `Bash(scp:*)` au fost
|
||||||
|
scoase din `bot-settings.json` pe 2026-08-30 — cu ele acolo, puntea nu putea ajunge la niciun host
|
||||||
|
(simptom: „permisiunea a fost respinsa" la `ssh moltbot@10.0.20.173`, desi cheia si reteaua erau in
|
||||||
|
regula). Nu le pune la loc: accesul SSH la infrastructura e functionalitate ceruta, iar bariera
|
||||||
|
reala e hook-ul de mai jos.
|
||||||
|
|
||||||
Straturile reale sunt:
|
Straturile reale sunt:
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,8 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"permissions": {
|
"permissions": {
|
||||||
"_comentariu": "STRAT COSMETIC, NU BARIERA: sub --permission-mode bypassPermissions regulile deny nu opresc /usr/bin/ssh sau bash -c \"ssh\". Bariera reala e hook-ul PreToolUse de mai sus.",
|
"_comentariu": "NU pune aici Bash(ssh:*) / Bash(scp:*): regulile deny au precedenta peste --permission-mode bypassPermissions si blocheaza turul INAINTE de hook, taind accesul la infrastructura (incident 2026-08-30, puntea nu putea ajunge la moltbot). Bariera reala e hook-ul PreToolUse de mai sus, plus wrapper-ul `infra`.",
|
||||||
"deny": [
|
"deny": [
|
||||||
"Bash(ssh:*)",
|
|
||||||
"Bash(scp:*)",
|
|
||||||
"Bash(pct destroy:*)",
|
"Bash(pct destroy:*)",
|
||||||
"Bash(qm destroy:*)",
|
"Bash(qm destroy:*)",
|
||||||
"Bash(zfs destroy:*)"
|
"Bash(zfs destroy:*)"
|
||||||
|
|||||||
Reference in New Issue
Block a user