This report does not block or authorize the manifest or ZIP.
Most documentation backtick and example URL detections are false positives. Material risks remain in run.js, which executes generated JavaScript with Node privileges and can install dependencies automatically. Header injection and sandbox-disabled browser launch also need remediation before marketplace auto-install.
Report position
Historical report
Open audit history before using this report to install.
Audit attestation
Not attestable
The required immutable binding is incomplete.
Human verification
Not verified
No human verification is recorded for this report.
Coverage
5 Files scanned · 1,806 Lines analyzed
27 items shown for review
Limitations
This report does not claim runtime or sandbox execution and does not prove the absence of side effects.
01
Evidence chain
Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.
run.js automatically runs npx playwright install chromium when Playwright is missing. That executes an external command and can fetch browser dependencies.
The skill tells the agent to write custom Playwright code and run it with run.js. run.js accepts file, inline, or stdin input, writes it to JavaScript, and loads it with require().
The documentation instructs generated script execution, and run.js implements file, inline, and stdin execution through require(). This directly grants generated code local Node.js privileges.
This line reads PW_HEADER_VALUE, which can hold credentials or tokens. The value is later propagated into HTTP headers, so the sensitive-data risk is real.
The spread merges environment-derived values into extraHTTPHeaders. This can propagate tokens to visited pages even though no certificate file is accessed.
Chromium is launched with --no-sandbox and --disable-setuid-sandbox by default. Disabling the browser sandbox increases impact from malicious or compromised pages.
The skill documents authentication tokens in custom headers and helper code applies environment-derived headers to browser contexts. A token for one target could be sent to another site.
The prose explicitly suggests authentication tokens, and the helper merges those environment values into extraHTTPHeaders. The code does not scope headers to a single origin.
The helper probes localhost ports to discover running services. The behavior is limited to common dev ports, but it is still local service reconnaissance.
04
Remediation
Suggested fixes recorded by this audit. Applying them is the maintainer’s responsibility.
FIX-001
Critical
Universal executor runs generated JavaScript with local Node.js privileges.
Replace require-based execution with a constrained Playwright runner, or require explicit user confirmation and sandbox generated code.
FIX-002
High
run.js automatically runs npm and npx commands when Playwright is missing.
Move dependency installation to an explicit setup step, pin dependencies with a lockfile, and avoid auto-install during execution.
FIX-003
High
Custom header environment variables can be sent to every browser context.
Scope injected headers to approved origins and warn users before using credential-bearing header values.
FIX-004
High
Chromium launches with sandbox-disabling flags by default.
Remove --no-sandbox defaults and make sandbox disabling an opt-in compatibility setting.
FIX-005
Medium
Executable temp files are written inside the skill directory and cleaned later.
Create temp files in the operating system temp directory, restrict accepted script paths, and remove files after execution.
05
Expert evidence
Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.
Artifact subject
Marketplace commit
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable
Analysis metadata
Audit model: codex
Analysis state: Complete
Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.