playwright-skill
Verdict safe, but 1 finding (1 medium), mainly unauthorized tool use. Most recent scan 2026-02-08.
The playwright-skill is a legitimate browser automation tool with MODERATE security concerns. The skill's core functionality (writing Playwright test scripts and executing them via Node.js) is appropriate for its stated purpose. Primary concerns include: (1) missing allowed-tools declaration reducing transparency, (2) dynamic path resolution pattern that requires agent-side variable substitution, and (3) use of shared /tmp directory for executable scripts. No evidence of data exfiltration, credential theft, prompt injection, or malicious behavior was found. The skill appears to be a genuine development tool for browser testing. The referenced files (this.py, skill.py, user.py) were not found, but API_REFERENCE.md contains legitimate Playwright documentation. Recommended for use with the remediation steps applied.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
The two scanners disagree: Cisco found nothing and SkillSpector says do not install. One of them has a blind spot here; read the skill before trusting either. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.
- Package
- 5 files, 48 KB
- SKILL.md
- 1623 words, 12+ sections
- Code
- JavaScript (2)
SKILL.md covers: Playwright Browser Automation · How It Works · Setup (First Time) · Execution Pattern · Common Patterns · Test a Page (Multiple Viewports) · Test Login Flow · Fill and Submit Form · Check for Broken Links · Take Screenshot with Error Handling · Test Responsive Design · Inline Execution (Simple Tasks)
Findings
MEDIUM Missing allowed-tools Declaration Unauthorized Tool Usellm
The skill manifest does not specify the 'allowed-tools' field, which is optional but recommended for transparency. The skill executes Bash commands and Node.js scripts, but users cannot verify tool restrictions from the manifest. This reduces transparency about what agent capabilities the skill will use.
SKILL.md
YAML manifest missing 'allowed-tools' field. Skill uses Bash execution (cd $SKILL_DIR && node run.js) and file operations (writing to /tmp).What is in the package
| File | Kind | Size |
|---|---|---|
API_REFERENCE.md | doc | 16 KB |
SKILL.md | doc | 14 KB |
package.json | config | 652 B |
run.js | script | 5.7 KB |
lib/helpers.js | script | 12 KB |
External hosts referenced
playwright.dev
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
SKILL_DIR TARGET_URL
Package contents recorded 2026-10-22 at commit bb7e920d3760. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/lackeyjb/playwright-skill
- Raw scan result: skills-playwright-skill-scan.json
- Badge for your README:
 - Request a re-scan