pi-safety-destructive-commands

Intercepts dangerous bash commands (dd, mkfs, rm -rf /, fork bombs, iptables flush, shutdown…) and hard-blocks or prompts for confirmation before execution.

Package details

extension

Install pi-safety-destructive-commands from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-safety-destructive-commands
Package
pi-safety-destructive-commands
Version
0.1.1
Published
Mar 13, 2026
Downloads
43/mo · 5/wk
Author
pierre-mike
License
MIT
Types
extension
Size
8.6 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "."
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

🛡️ Safety Guard: Destructive Commands

Intercepts bash tool calls that match dangerous patterns and blocks or prompts for confirmation.

What it protects against

🔴 Hard-blocked (always, no override)

Pattern Why
dd … of=/dev/… Raw disk write — destroys partitions
mkfs Formats a filesystem
> /dev/sd* Redirect to raw block device
rm -rf / Wipe root filesystem
Fork bombs :(){ :|:& };: Infinite process spawning
shutdown, reboot, halt, poweroff System power control
iptables -F Flush all firewall rules

🟡 Confirmation required

Pattern Why
rm -r, rm -f, rm -rf Recursive / forced deletion
sudo … Elevated privileges
chmod … 777, chmod -R Dangerous permission changes
chown -R Recursive ownership change
killall, pkill -9 Mass process termination
systemctl stop/disable/mask Disabling system services
launchctl unload/remove Removing macOS services
truncate, shred Destructive file operations

✅ Safe exceptions (auto-allowed)

These common dev patterns are not intercepted:

  • rm -rf ./node_modules
  • rm -rf ./dist, ./build, ./.next, ./target
  • rm -rf /tmp/…

Behavior

Mode Action
Interactive Shows confirmation dialog with the command
Non-interactive (headless/RPC) Blocks outright with reason

Status bar

Shows 🛡️ cmd-guard in the footer when active.

Installation

Already active — lives in ~/.pi/agent/extensions/safety-destructive-commands/index.ts and auto-loads with every pi session.

Example

⚠️ Recursive delete (rm -r)
  rm -rf ./some-important-directory

  Allow this command?

  [Yes]  [No]