Repository navigation
Releases
Releases · abranchesia/pwnstop
pwnstop 0.1.3
Fixed
- The guard no longer reads a redirection as a package:
uv tool install ruff 2>&1 | tailwas blocked as "2 doesn't exist on PyPI". init --globalno longer hooks Cursor when Claude Code is hooked: Cursor runs the hooks in~/.claude/settings.jsontoo, so every check ran twice.
pwnstop 0.1.2
Added
SECURITY.md: report a vulnerability or a way around a rule privately, through GitHub's private reporting.- Issue forms: agent report, false alarm, new rule and bug.
CODE_OF_CONDUCT.md(Contributor Covenant 2.1) and a pull request template.
pwnstop 0.1.1
Changed
- README examples use
.exampleaddresses, which never resolve, instead of domains someone owns. - README: PyPI badge, and how to contribute and release. New
CONTRIBUTING.md.
pwnstop 0.1.0
First release.
Added
pwnstop guard, before every shell command: blocks piping the internet into a shell, base64 or hex decoded into a shell, reading credentials, sending secrets out, wiping/or~, SSH and cron backdoors, turning off protections,chmod 777, untrusted package indexes, and installing or running packages and MCP servers that are missing, pulled for malware, under 30 days old or known vulnerable (OSV).curl … | python3 -m json.toolruns.pwnstop verify, before the agent says done: scans the lines added in the session for 21 kinds of holes, including secrets with a default value, invisible text and pwn requests,.envfiles git would commit, and new dependencies inpackage.json,requirements*.txtandpyproject.tomland MCP servers in.mcp.json/mcp.json. Agent files (skills,AGENTS.md,CLAUDE.md, rules, hooks, MCP configs) get the guard's command rules. Each finding blocks once.pwnstop check [--base REF]for CI and git hooks, with findings shown on the PR's lines in GitHub Actions;pwnstop: ignoreon a line for reviewed exceptions.pwnstop check FOLDERaudits every line of the skills, rules and plugins you installed.pwnstop init [--global]for Claude Code, Codex CLI, Cursor, Gemini CLI and GitHub Copilot CLI.