fix(guardrails): block-root-delete-target judges backticks inside a quoted heredoc body
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #7186 de @kyle-sexton — fusionado
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
Línea de trabajo
Start with plugins/guardrails/hooks/block-root-delete-target.sh and the hook-precision conventions in docs/conventions/hook-precision. Add a stay-quiet regression case for the quoted-heredoc payload, and verify that the unquoted-heredoc case remains refused. Done when both acceptance cases pass.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
block-root-delete-target refuses a command whose quoted heredoc body (<<'EOF') contains a backticked rm -rf span. The quoted delimiter makes the body inert text: bash runs no command substitution in it. The guard still lifts the backtick span out as a substitution and judges it.
Seen in practice: gh pr create --body-file - <<'EOF' with a PR body that quoted an example command in Markdown backticks was refused. The workaround was to write the body to a file.
Repro
Payload (stdin to plugins/guardrails/hooks/block-root-delete-target.sh):
{"tool_name":"Bash","tool_input":{"command":"cat <<'EOF'\nnote: `rm -rf /`\nEOF"},"cwd":"/"}
Actual: exit 2, "recursive delete of a filesystem root". Expected: exit 0, because the heredoc delimiter is quoted.
Acceptance
- A stay-quiet case for the payload above fails before the fix (docs/conventions/hook-precision).
- An unquoted heredoc (
<<EOF) whose body holds`rm -rf /`stays refused, because bash does run that substitution.
Related: #6020, found while working #6542.
- Lenguaje dominante
- Shell
- Estrellas
- 22
- Forks
- 2
- Merge medio
- 8 h 34 min
- PR fusionados (30 d)
- 946
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de melodic-software/claude-code-plugins
-
needs-human needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
melodic-software/claude-code-plugins#7636 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
agent-ready needs-human
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
melodic-software/claude-code-plugins#7598 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
good first issue priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
melodic-software/claude-code-plugins#7530 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs-human priority: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
melodic-software/claude-code-plugins#7455 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
priority: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
melodic-software/claude-code-plugins#7351 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de melodic-software/claude-code-plugins
Issues similares
-
agent/quality help wanted origin/quality quality stage/010-actionable testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
hivecommons/hotshot#227 ·
Los mantenedores suelen responder en 1 día
-
Add PhotocraftAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
Missing icon: novelWriterAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
gke-labs/kube-agents#3394 ·
Los mantenedores suelen responder en 1 día