Index of every page on this site: llms.txt
All skills
tristanmanchester avatar

/audit-openclaw-security

@3323bc9
Run it yourself

Audit an OpenClaw deployment's gateway exposure, authentication, channel access, tool permissions, and secret handling. Use for OpenClaw security reviews or interpreting openclaw security audit results, not unrelated host hardening.

Use this Skill: https://skilld.dev/gh/tristanmanchester/agent-skills/audit-openclaw-security

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

SKILL.md

≈64 tokens for metadata: the name and description. ≈1.1k when used: this file. ≈8.2k more on demand in 10 files.

Description uses 3.2% of example budget

Before choosing a Skill, your Agent reads its name and description. All available Skills share that space.

  • A shorter description leaves more room for other Skills. This entry exceeds our 1% size suggestion.

In our Claude Code example, all Skill names and descriptions share 8,000 characters. This Skill uses ≈258 characters, or 3.2%.

The 1% threshold is a size suggestion. Longer descriptions can still fit.

Your model, settings, and other Skills decide how much text your Agent can read.

Example settings and source

The example uses a 200k-token context and default Claude Code settings. The count includes the name, description, separators, and when_to_use when present. Codex also counts local file paths.

Skit's source and limits: Codex 0.160.1, Claude Code 2.1.292.

Audit OpenClaw security

Audit systems the user owns or is authorised to assess. Start read-only; get approval for configuration changes, repairs, restarts, credential rotation, or exposure changes. Never request raw tokens, passwords, cookies, or credential stores.

Establish the trust boundary

Record the installed OpenClaw version, host/container arrangement, gateway bind address, proxy/tunnel path, and who can send messages or invoke tools. One gateway is one trusted operator/team boundary, not isolation between mutually adversarial users. Use separate gateways and credentials for separate trust domains.

Host installs and container images can have different bind defaults. Inspect the running listener and published container ports rather than inferring exposure from the install method.

Collect evidence

Resolve SKILL_DIR to the directory containing this file. Bundled paths are relative to that directory, not the project being audited. Keep output local and private until reviewed.

openclaw --version
openclaw security audit --help
openclaw security audit --json
openclaw security audit --deep --json

For a fuller host/network capture, run the bundled collector and renderer:

bash "$SKILL_DIR/scripts/collect_openclaw_audit.sh" --out ./openclaw-audit
python3 "$SKILL_DIR/scripts/render_report.py" --input ./openclaw-audit --output ./openclaw-security-report.md

Record failures and unsupported commands as missing evidence, never as passed checks. The renderer is a report aid, not a proof that the deployment is secure. CLI diagnostics can include private identifiers or sensitive free text; inspect them before sharing.

Redact configuration only when necessary

Prefer targeted reads of non-secret settings over complete configuration exports. When a configuration must be shared:

python3 "$SKILL_DIR/scripts/redact_openclaw_config.py" ~/.openclaw/openclaw.json > openclaw.redacted.json

The helper parses JSON/JSON5, replaces complete values of sensitive fields, and removes credentials from URLs. It returns a non-zero status with empty stdout on invalid input. Install a JSON5 parser when required; do not fall back to regex editing of raw configuration. Comments disappear during parsing. Review unknown fields and free text manually: redaction is not an exhaustive secret detector. The output is not a restorable backup.

Triage and remediate

  1. Contain public exposure and open message surfaces with runtime/filesystem/elevated tools.
  2. Verify gateway authentication, allowed origins, trusted proxies, and the real client-identity path. Tailscale Serve and public Funnel have different exposure; neither substitutes for checking access policy.
  3. Review DM pairing/allowlists, group access, mention gates, and session isolation. A mention gate controls triggering, not a hostile-user security boundary.
  4. Restrict tool, browser, node, plugin, and automation permissions to the task. Test the effective policy, not just its intended configuration.
  5. Review credential, transcript, and log permissions and retention. Treat installed plugins and writable skills as executable supply-chain inputs.
  6. For each approved change, capture the previous configuration securely, apply one coherent change, then rerun the relevant audit and functional checks. Preserve a rollback path.

Use the installed CLI and current official configuration schema for exact keys. Do not infer safety from an old check-ID list or blindly paste a platform baseline.

Load supporting material when needed

  • references/platform-mac-mini.md, references/platform-personal-laptop.md, references/platform-docker.md, or references/platform-aws-ec2.md: platform investigation prompts.
  • references/openclaw-audit-checks.md and assets/openclaw_checkid_map.json: explanations for known findings; an unknown current check still needs triage.
  • assets/report-template.md: final report structure.

Report scope/version, observed findings with redacted evidence, severity and impact, approved changes, verification results, and untested boundaries. Separate observations from proposals.

Sources and validation

Reviewed 2026-09-13 against OpenClaw security, including its current trust-model, audit, network-exposure, and secrets sections. Consult those pages before changing security policy.

Run the offline redaction regressions with:

python3 -m unittest discover -s "$SKILL_DIR/tests" -v

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

1 alert1mo5 checks · Risk MEDIUM
  • Gen Agent Trust Hub1mo

    The skill is a comprehensive security auditing tool for OpenClaw deployments. It correctly includes safety features such as a redaction script to prevent the accidental sharing of secrets and emphasizes a read-only approach. It does utilize sudo to inspect firewall rules and employs dynamic module loading to handle configuration files, which are behaviors that warrant user awareness during execution.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

  • Runlayer7mo

    11/14 files flagged

  • ZeroLeaks6mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 3323bc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Steadyupdated last month
metadata
{
  "version": "3.0.0",
  "reviewed": "2026-09-13"
}
Other metadata
compatibility
OpenClaw CLI and a local shell for collection; Python 3.10+ for helpers. JSON5 redaction requires json5 or pyjson5.

README badge

README badge for tristanmanchester/agent-skills/audit-openclaw-security