From 3c769b1b53828bc60ae671c6559071bb17490144 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Sun, 30 Aug 2026 13:04:49 +0000 Subject: [PATCH] =?UTF-8?q?fix(discord-bridge):=20scot=20Bash(ssh:*)/Bash(?= =?UTF-8?q?scp:*)=20din=20deny=20=E2=80=94=20blocau=20accesul=20la=20infra?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) Claude-Session: https://claude.ai/code/session_01B29CApsP1JkSdjYaGaHpE7 --- .../discord-bridge/security/README.md | 10 ++++++++-- .../discord-bridge/security/bot-settings.json.example | 4 +--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/proxmox/lxc171-claude-agent/discord-bridge/security/README.md b/proxmox/lxc171-claude-agent/discord-bridge/security/README.md index d75a7b4..38c7d18 100644 --- a/proxmox/lxc171-claude-agent/discord-bridge/security/README.md +++ b/proxmox/lxc171-claude-agent/discord-bridge/security/README.md @@ -2,8 +2,14 @@ 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**, -nu accident. S-a verificat empiric ca regulile `deny` din settings **nu sunt o bariera** -(`/usr/bin/ssh -V` si `bash -c "ssh -V"` trec pe langa ele) — raman doar strat cosmetic. +nu accident. **Atentie la regulile `deny` din settings:** ele au precedenta peste `bypassPermissions` si +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: diff --git a/proxmox/lxc171-claude-agent/discord-bridge/security/bot-settings.json.example b/proxmox/lxc171-claude-agent/discord-bridge/security/bot-settings.json.example index 3803e6c..7ddcda2 100644 --- a/proxmox/lxc171-claude-agent/discord-bridge/security/bot-settings.json.example +++ b/proxmox/lxc171-claude-agent/discord-bridge/security/bot-settings.json.example @@ -15,10 +15,8 @@ ] }, "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": [ - "Bash(ssh:*)", - "Bash(scp:*)", "Bash(pct destroy:*)", "Bash(qm destroy:*)", "Bash(zfs destroy:*)"