fix(hooks): fail closed on crash in the remaining blocking hook rows
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia leggendo le righe degli hook per worktree-add-containment, pr-body-linkage, pr-linkage-mcp, test-weaken e run-python-hook, insieme all’intestazione di exec-bash.mjs e all’issue #8569. Aggiorna ogni riga bloccante elencata in modo che arresti anomali, bash mancante, errori di avvio di node, timeout e arresti anomali di Git Bash blocchino la chiamata; l’issue rimanda il meccanismo alla revisione di hardening differita. Il lavoro è completato quando ogni modalità di errore elencata impedisce la chiamata allo strumento.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Refs: #8569, #8282
Outcome
Every blocking hook row whose crash should deny the tool call fails closed: a bash crash, missing bash, a node start failure, the 60 s timeout, or a Git Bash crash read as exit 0 blocks the call instead of allowing it.
Current behavior
#8569 (PR #8674) adds an opt-in --fail-closed flag to exec-bash.mjs, passed only by the guardrails guard rows. These blocking rows in other plugins do not pass it, so a crash in any of the cases above allows the call (GitHub Security & Cost review of #8674 at e8309efd4b, 2026-10-21):
- source-control:
worktree-add-containment,pr-body-linkage,pr-linkage-mcp - testing:
test-weaken - disk-hygiene:
run-python-hook
Desired behavior
Each row above fails closed on every failure mode listed in Outcome. Claude Code's hook onFailure: "block" setting (v2.1.295+, https://code.claude.com/docs/en/hooks) covers all of them, including the cases --fail-closed cannot see (missing bash, node start failure, timeout).
Out of scope
- Non-blocking rows (formatters, linters), whose fail-open is deliberate (
exec-bash.mjsheader). - The guardrails rows, covered by #8569.
Notes
Severity low; queued for the #8282 deferred-hardening review (2026-11-18) unless the owner wants it sooner. Which mechanism (onFailure: "block" per row vs --fail-closed) is a design choice for that review.
- Lingua principale
- Shell
- Stelle
- 22
- Fork
- 2
- Merge medio
- 7h 57m
- PR unite (30g)
- 938
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di melodic-software/claude-code-plugins
-
priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
melodic-software/claude-code-plugins#8831 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
priority: medium status: confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
melodic-software/claude-code-plugins#8801 ·
I maintainer di solito rispondono entro 1 giorno
-
fix(links): make the online link check green (23 errors since 2026-10-11)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertapriority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
melodic-software/claude-code-plugins#8730 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
melodic-software/claude-code-plugins#8709 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
fix(source-control): ready-hold check treats a Hold: line that says do not merge as a flip holdApertapriority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
melodic-software/claude-code-plugins#8708 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di melodic-software/claude-code-plugins
Issue simili
-
data only (no code) good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
kind/bug needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
projectbluefin/common#1521 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
upstream-release
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
pypa/advisory-database#401 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno