Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add hooks/marek-burza/shrubbery/notificationgit clone --depth 1 https://github.com/marek-burza/shrubberyGrade B, and why
Notification scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the commands this hook runs, not an audit. A hook is shell that executes on your machine at the event it names, which is why every command in it is printed with what was found.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
"command": "/usr/bin/pw-cat --playback .claude/complete.flac" The source is not reproduced here
Licensed GPL-3.0
The repository is licensed GPL-3.0, which this catalogue does not treat as permission to reproduce the file. Read it at the source.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 13 lines scan B aa5ed4888a09
Notification is a hook published in the GitHub repository marek-burza/shrubbery (16 stars, last pushed yesterday), licensed GPL-3.0. Its token cost is not measured: a hook is shell that never enters the context. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other hooks, from other repositories
SubagentStart
Runs when a subagent starts, executing log_agent_metrics.py via uv. From streamlit/streamlit.
PreToolUse
Runs before the agent uses a tool for Bash tool calls, executing format.sh. From zenml-io/zenml.
PostToolUse
Runs after a tool call finishes for Edit and Write tool calls, executing post_edit_autofix.sh. From streamlit/streamlit.
PostToolUse
Runs after a tool call finishes for Read, Edit, Write, MultiEdit and NotebookEdit tool calls, executing ds-python.sh via bash (2 commands). From StamKavid/last-ds-mile.
SessionStart
Runs when a session starts on startup, resume and clear, executing ds-python.sh via bash. From StamKavid/last-ds-mile.
PostToolUse
Runs after a tool call finishes for Write and Edit tool calls, executing format_and_lint.sh. From supabase/supabase.