Skills openclaw-bastion

OpenClaw Bastion

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/atlaspa/openclaw-bastion" ~/.claude/skills/clawdbot-skills-openclaw-bastion && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/atlaspa/openclaw-bastion" ~/.openclaw/skills/clawdbot-skills-openclaw-bastion && rm -rf "$T"
manifest: skills/atlaspa/openclaw-bastion/SKILL.md
source content

OpenClaw Bastion

Runtime prompt injection defense for agent workspaces. While other tools watch workspace identity files, Bastion protects the input/output boundary — the files being read by the agent, web content, API responses, and user-supplied documents.

Why This Matters

Agents process content from many sources: local files, API responses, web pages, user uploads. Any of these can contain prompt injection attacks — hidden instructions that manipulate agent behavior. Bastion scans this content before the agent acts on it.

Commands

Scan for Injections

Scan files or directories for prompt injection patterns. Detects instruction overrides, system prompt markers, hidden Unicode, markdown exfiltration, HTML injection, shell injection, encoded payloads, delimiter confusion, multi-turn manipulation, and dangerous commands.

If no target is specified, scans the entire workspace.

python3 {baseDir}/scripts/bastion.py scan

Scan a specific file or directory:

python3 {baseDir}/scripts/bastion.py scan path/to/file.md
python3 {baseDir}/scripts/bastion.py scan path/to/directory/

Quick File Check

Fast single-file injection check. Same detection patterns as

scan
, targeted to one file.

python3 {baseDir}/scripts/bastion.py check path/to/file.md

Boundary Analysis

Analyze content boundary safety across the workspace. Identifies:

  • Agent instruction files that contain mixed trusted/untrusted content
  • Writable instruction files (attack surface for compromised skills)
  • Blast radius assessment for each critical file
python3 {baseDir}/scripts/bastion.py boundaries

Command Allowlist

Display the current command allowlist and blocklist policy. Creates a default

.bastion-policy.json
if none exists.

python3 {baseDir}/scripts/bastion.py allowlist
python3 {baseDir}/scripts/bastion.py allowlist --show

The policy file defines which commands are considered safe and which patterns are blocked. Edit the JSON file directly to customize. Bastion Pro enforces this policy at runtime via hooks.

Status

Quick summary of workspace injection defense posture: files scanned, findings by severity, boundary safety, and overall posture rating.

python3 {baseDir}/scripts/bastion.py status

Workspace Auto-Detection

If

--workspace
is omitted, the script tries:

  1. OPENCLAW_WORKSPACE
    environment variable
  2. Current directory (if
    AGENTS.md
    exists)
  3. ~/.openclaw/workspace
    (default)

What Gets Detected

CategoryPatternsSeverity
Instruction override"ignore previous", "disregard above", "you are now", "new system prompt", "forget your instructions", "override safety", "act as if no restrictions", "entering developer mode"CRITICAL
System prompt markers
<system>
,
[SYSTEM]
,
<<SYS>>
,
<|im_start|>system
,
[INST]
,
### System:
CRITICAL
Hidden instructionsMulti-turn manipulation ("in your next response, you must"), stealth patterns ("do not tell the user")CRITICAL
HTML injection
<script>
,
<iframe>
,
<img onerror=>
, hidden divs,
<svg onload=>
CRITICAL
Markdown exfiltrationImage tags with encoded data in URLsCRITICAL
Dangerous commands
curl | bash
,
wget | sh
,
rm -rf /
, fork bombs
CRITICAL
Unicode tricksZero-width characters, RTL overrides, invisible formattingWARNING
Homoglyph substitutionCyrillic/Latin lookalikes mixed into ASCII textWARNING
Base64 payloadsLarge encoded blobs outside code blocksWARNING
Shell injection
$(command)
subshell execution outside code blocks
WARNING
Delimiter confusionFake code block boundaries with injection contentWARNING

Context-Aware Scanning

  • Patterns inside fenced code blocks (
    ```
    ) are skipped to avoid false positives
  • Per-file risk scoring based on finding count and severity
  • Self-exclusion: Bastion skips its own skill files (which describe injection patterns)

Exit Codes

CodeMeaning
0Clean, no issues
1Warnings detected (review recommended)
2Critical findings (action needed)

No External Dependencies

Python standard library only. No pip install. No network calls. Everything runs locally.

Cross-Platform

Works with OpenClaw, Claude Code, Cursor, and any tool using the Agent Skills specification.