Back to skill

Security audit

code-3d-explainer

Security checks for vulnerabilities and agentic risk

Overview

ClawScan marks this skill suspicious because it found an unauthenticated rendering server with a file exposure risk, alongside other concerns about external services and installation; some files were only partially analyzed.

Consider avoiding installation until the rendering-server exposure is reviewed and the affected checks are addressed. If you proceed, use a pinned installer version, and avoid sending confidential scripts to external narration services unless you understand and approve that disclosure. The scan covered only 16 of 23 components fully, so its evidence is incomplete.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/capture.ts
Finding

Unauthenticated rendering server permits sibling-directory traversal

Content
View full analysis

Impact

Attackers with network access during rendering can retrieve known readable files from sibling directories sharing the project's name prefix. The listener also makes project files available without authentication. This is not unrestricted filesystem traversal: unrelated path prefixes are rejected.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (22)

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 9)May include surrounding context.

md
with headless Chrome (scripts/capture.ts) or HyperFrames, and QA scripts that check label overlap, phone

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 55)May include surrounding context.

md
bun scripts/capture.ts . --stills 2.6,8.4,20.5 # look at qa/stills/*.png first

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 56)May include surrounding context.

md
bun scripts/capture.ts . --out renders/master.mp4 --labels qa/labels.json

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 175)May include surrounding context.

md
| `scripts/capture.ts` | render MP4 / stills / label boxes / determinism check / `--eval` from any page that publishes `window.__film`; system Chrome over DevTo

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 57)May include surrounding context.

md
bun scripts/check_labels.ts qa/labels.json # overlap, safe area, phone size, reading time

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 96)May include surrounding context.

md
- `check_labels.ts`: no overlapping text, 64 px side margins, names ≥ 46 px (9 px on a phone), every

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 176)May include surrounding context.

md
| `scripts/check_labels.ts` | overlap, safe area, anchor covered, phone size, reading time on the real render |

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 58)May include surrounding context.

md
bun scripts/check_facts.ts factsheet.md qa/labels.json # every word on screen is in the sheet

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 98)May include surrounding context.

md
- `check_facts.ts`: on-screen text equals the sheet, every claim sourced, critic verdict PASS;

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 177)May include surrounding context.

md
| `scripts/check_facts.ts` | on-screen text vs the fact sheet, sources, critic verdict, approval |

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 59)May include surrounding context.

md
bun scripts/sheet.ts renders/master.mp4 qa/sheet.png --n 24 --cols 6 --tile 400

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 60)May include surrounding context.

md
bun scripts/sheet.ts renders/master.mp4 qa/phone.png --phone # 390 px tiles = a phone feed

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 178)May include surrounding context.

md
| `scripts/sheet.ts` | contact sheets from a video or a stills folder, `--phone` 390 px tiles, `--at` times |

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 64)May include surrounding context.

md
Then replace `factsheet.md`, `story.json` and `cell.js` with your subject; `lib/` is the engine.

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 164)May include surrounding context.

md
| `cell.js` | the subject: geometry, placement, anchors, `update(t)` |

MCP server referenced without pinned version: 'npx skills'.

Medium
Category
MCP Rug Pull
Confidence
87% confidence
Finding

The documented npx command can download and execute an unpinned version of the skills installer with the user's privileges. Although this is an installer rather than an MCP server, a compromised or unexpected future package release could execute harmful code; nothing here indicates malicious author intent.

Content

No source excerpt is available for this finding.

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: env, network.

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

The narration workflow sends script content to external services without a privacy warning.

Medium
Category
Output Handling
Confidence
88% confidence
Finding

The optional narration workflow directs script content to varg and ElevenLabs without a privacy checkpoint for confidential material. Naming the providers and requiring cost approval reduce surprise, but do not ensure that the user understands or authorizes disclosure of sensitive script content.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

The narration workflow sends the entire script to third-party speech services without a privacy warning.

Medium
Category
Output Handling
Confidence
94% confidence
Finding

The instructions explicitly send the entire narration script to external speech services, potentially exposing unpublished research or other confidential content. This is task-related processing rather than covert exfiltration, but approval of the quoted price is not necessarily informed approval of sensitive-data disclosure.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

The source-check exemption applies to any row marked 'no claim', although the documented exemption is restricted to titles.

Medium
Category
Excessive Agency
Confidence
97% confidence
Finding

Any row whose claim field contains 'no claim' bypasses the missing-source check, even when it is not a title or actually asserts a factual claim. An untrusted or incorrectly generated fact sheet can therefore make unsupported statements pass this QA gate, although this affects content integrity rather than enabling code execution.

Content

No source excerpt is available for this finding.