Caveat verdict

Deserialization Audit

phy-deserialization-audit

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Receives external input AND uses eval

Static scanner for OWASP A08 unsafe deserialization patterns across multiple languages; dynamic_eval capability is present in the capabilities list but the content describes purely static regex analysis with zero external API calls.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
80
transparency
70
maintenance

What it does

These are capability combinations: each listed behavior occurs in the skill, but Caveat 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 uses eval — the remote code-injection pattern (data-flow not verified)

LLM01 · LLM05 · ASI01 · ASI05

Capability combination critical

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

LLM05 · LLM06 · ASI10

Capability combination critical

Encodes data AND uses eval — the obfuscated-execution pattern (atob + eval; data-flow not verified)

LLM05 · ASI05 · ASI10

Findings (7)

Pattern match critical

Uses eval() — can execute arbitrary code

SKILL.md · code · eval(

Pattern match critical

Dynamic Function constructor — equivalent to eval()

SKILL.md · code · new Function(

Pattern match high

Uses exec() — may execute shell commands

SKILL.md · code · exec(

Pattern match high

Pipe to python — executes piped content as Python code

SKILL.md · prose · downgraded · | Python

Pattern match medium

Base64 encoding/decoding

SKILL.md · code · base64_decode

Pattern match medium

References child_process — can spawn system processes

SKILL.md · prose · downgraded · child_process

Pattern match low

Python directory traversal

SKILL.md · code · os.walk(

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class D). 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.

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