Security
by @modeioai
Runs a backend-backed live safety check for instructions that may trigger tool execution, external calls, file edits, permission changes, destructive or irre...
clawhub install security-modeioπ About This Skill
name: security description: >- Runs a backend-backed live safety check for instructions that may trigger tool execution, external calls, file edits, permission changes, destructive or irreversible actions, prompt injection, or compliance-sensitive operations. Use before executing instructions with side effects; skip pure read-only chat, planning, or pre-install repository auditing. version: 0.1.0 metadata: clawdbot: homepage: https://github.com/mode-io/mode-io-skills/tree/main/security requires: bins: - python3
Run backend-backed live safety checks
Use this skill to gate instructions that may trigger tools or state changes behind a backend-backed safety decision before execution.
This skill is for live instruction and operation safety only. For pre-install repository auditing, use skill-audit.
Maintainer-only validation assets are excluded from ClawHub uploads.
Scope
scripts/safety.py
- backend-backed retry/error normalization for pre-execution decisions
skill-audit)
- content masking or restoration workflows (privacy-protector)
- request/response gateway routing (modeio-middleware)Working directory
Run these commands from inside the security folder.
Requirements
python3requestsSAFETY_API_URLCore commands
python3 scripts/safety.py -i "Delete /tmp/cache/build-123.log" \
-c '{"environment":"local-dev","operation_intent":"cleanup","scope":"single-resource","data_sensitivity":"internal","rollback":"easy","change_control":"none"}' \
-t "/tmp/cache/build-123.log" --jsonpython3 scripts/safety.py -i "DROP TABLE users" \
-c '{"environment":"production","operation_intent":"destructive","scope":"broad","data_sensitivity":"regulated","rollback":"none","change_control":"ticket:DB-9021"}' \
-t "postgres://prod/maindb.users" --json
Context contract
Pass --context as JSON with these keys when the instruction may change state:
{
"environment": "local-dev|ci|staging|production|unknown",
"operation_intent": "read-only|cleanup|maintenance|migration|permission-change|destructive|unknown",
"scope": "single-resource|bounded-batch|broad|unknown",
"data_sensitivity": "public|internal|sensitive|regulated|unknown",
"rollback": "easy|partial|none|unknown",
"change_control": "ticket:|approved-manual|none|unknown"
}
--target should be a concrete resource identifier such as an absolute path, table name, service name, or URL.
Runtime notes
success, tool, mode, datasuccess, tool, mode, errorvalidation_error, dependency_error, network_error, api_error--context and --target so the backend has enough context to judge riskCaller policy guidance
| approved | risk_level | Agent action |
|---|---|---|
| true | low | Proceed. |
| true | medium | Proceed and mention the risk. |
| false | medium | Require explicit confirmation before proceeding. |
| false | high | Block by default and require explicit override. |
| false | critical | Block and require explicit acknowledgement before any override. |
Resources
scripts/safety.py β live safety check entry pointARCHITECTURE.md β command-safety package boundaries