← Back to Security & Passwords
Security & Passwords by @globalcaos

shell-security-ultimate

Classify shell commands by risk level (SAFE→CRITICAL). Color-coded output, audit logging, enforcement scripts

0
Source Code

Shell Security Ultimate

Security-first command execution for AI agents. Classify, audit, and control every shell command.


The Problem

AI agents with shell access can:

  • Run destructive commands (rm -rf /)
  • Leak sensitive data (cat ~/.ssh/id_rsa)
  • Modify system state without oversight
  • Execute commands without explaining why

This skill solves it by enforcing security classification, transparency, and auditability for every command.


Coded vs Prompted Behaviors

There are two ways to control agent behavior:

Approach Enforcement Reliability Example
Prompted Instructions in MD files ~80% "Don't run dangerous commands" in SOUL.md
Coded Actual code/hooks ~100% Plugin that blocks rm -rf before execution

Why This Matters

  • Prompted behaviors decay β€” Agents can forget instructions during long sessions
  • Coded behaviors persist β€” Code doesn't forget, can't be talked out of rules
  • Defense in depth β€” Use both: prompts for guidance, code for enforcement

Current State of This Skill

Component Type Status
Classification guide Prompted βœ… In SKILL.md
Display script Coded βœ… scripts/cmd_display.py
SOUL.md integration Prompted βœ… Template provided
OpenClaw plugin hook Coded ❌ Not yet β€” requires before_tool_call hook
Blocklist enforcement Coded ❌ Planned β€” would reject commands matching patterns

Where we are: Mixed approach. The display script provides structure, but true enforcement (blocking dangerous commands before execution) requires an OpenClaw plugin. The current implementation relies on the agent choosing to use the wrapper.

Where we're going: Full coded enforcement via plugin that intercepts exec tool calls and applies security policy before execution.


Security Levels

Level Emoji Risk Examples
🟒 SAFE None ls, cat, git status, pwd
πŸ”΅ LOW Reversible touch, mkdir, git commit
🟑 MEDIUM Moderate npm install, git push, config edits
🟠 HIGH Significant sudo, service restarts, global installs
πŸ”΄ CRITICAL Destructive rm -rf, database drops, credential access

Usage

Basic Format

python3 scripts/cmd_display.py <level> "<command>" "<purpose>" "$(<command>)"

Examples

🟒 SAFE β€” Read-only:

python3 scripts/cmd_display.py safe "git status" "Check repo state" "$(git status --short)"

πŸ”΅ LOW β€” File changes:

python3 scripts/cmd_display.py low "touch notes.md" "Create file" "$(touch notes.md && echo 'βœ“')"

🟑 MEDIUM β€” Dependencies:

python3 scripts/cmd_display.py medium "npm install axios" "Add HTTP client" "$(npm install axios 2>&1 | tail -1)"

🟠 HIGH β€” Show only, don't execute:

python3 scripts/cmd_display.py high "sudo systemctl restart nginx" "Restart server" "⚠️ Manual execution required"

πŸ”΄ CRITICAL β€” Never auto-execute:

python3 scripts/cmd_display.py critical "rm -rf node_modules" "Clean deps" "πŸ›‘ Blocked - requires human confirmation"

Output Format

🟒 SAFE βœ“ git status --short β”‚ Check repo state
   2 modified, 1 untracked

🟠 HIGH ⚠ sudo systemctl restart nginx β”‚ Restart server
   ⚠️ Manual execution required

Agent Integration

Add to your SOUL.md or AGENTS.md:

## Command Execution Protocol

1. **Classify** every command before running (SAFE/LOW/MEDIUM/HIGH/CRITICAL)
2. **Wrap** with: `python3 <skill>/scripts/cmd_display.py <level> "<cmd>" "<why>"`
3. **HIGH commands** β€” Show for manual execution, do not run
4. **CRITICAL commands** β€” NEVER execute, always ask human first
5. **Summarize** verbose output to one line

Classification Quick Reference

🟒 SAFE (auto-execute): ls, cat, head, grep, find, git status, git log, pwd, whoami, date

πŸ”΅ LOW (execute, log): touch, mkdir, cp, mv (in project), git add, git commit

🟑 MEDIUM (execute with caution): npm/pip install, git push/pull, config file edits

🟠 HIGH (show, ask first): sudo *, service commands, global installs, network config

πŸ”΄ CRITICAL (never auto-execute): rm -rf, DROP DATABASE, credential files, system directories


Roadmap

  • Classification guidelines
  • Display wrapper script
  • Agent integration template
  • OpenClaw plugin for before_tool_call enforcement
  • Configurable blocklist patterns
  • Audit log persistence

Philosophy

"If you can enforce it with code, don't rely on documentation."

Prompted behaviors are suggestions. Coded behaviors are laws. This skill provides both β€” use the prompts now, upgrade to coded enforcement when the plugin is ready.


Credits

Created by Oscar Serra with the help of Claude (Anthropic).

Security is not optional. Every command an agent runs should be classified, justified, and auditable.