T09 · Insecure Skill Coding Practices
- Location
scripts/screenshot.js:21- Finding
Unrestricted Browser Access to Internal and Link-Local Network Resources
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This web reconnaissance screenshot skill has a real security-testing purpose, but it automatically probes sensitive paths and stores captured page data without strong scoping or opt-in controls.
Install only if you intend to run authorized web reconnaissance and are comfortable with it probing common admin/debug/config paths automatically. Use it only on targets you control or are explicitly permitted to test, avoid internal or sensitive network targets unless that is intended, and treat the generated screenshots and JSON reports as potentially sensitive local evidence that may need protection or deletion.
scripts/screenshot.js:21Unrestricted Browser Access to Internal and Link-Local Network Resources
SKILL.md:8Unpinned and Inconsistent Playwright Dependency Installation
Referenced artifact was not completely inspected
node scripts/screenshot.js https://example.com
Including '/.env' in the probe list specifically targets a well-known location that can expose application secrets, API keys, database credentials, and other confidential configuration if misconfigured. In the context of a screenshot tool, this is especially dangerous because it turns the skill into credential-oriented reconnaissance rather than simple visual capture.
'/debug',
'/phpmyadmin',
'/wp-admin',
'/.env',
'/config',
'/swagger',
'/swagger-ui',
The example trigger phrase Check login pages for issues is broad and generic enough that it could match common user requests outside a clearly bounded security-testing context. Overly broad activation phrases can cause unintended invocation of a skill that performs network reconnaissance and screenshot capture, potentially leading to accidental scanning or collection against targets the user did not explicitly scope. The recon-focused context makes this somewhat more dangerous than a generic utility skill because the actions involve external browsing and artifact collection.
The skill instructs users to run npx playwright install chromium, which resolves and executes tooling without pinning an explicit version. This creates a supply-chain risk: a compromised or unexpectedly changed upstream package/version could execute unreviewed code in the user's environment during installation. In a security-oriented skill, this is more concerning because users may run the setup on analyst workstations with elevated trust and broad network access.
The skill claims to take screenshots of a target, but it also performs multi-endpoint probing and collects security-relevant metadata across common sensitive paths. This expands behavior beyond the stated purpose, creating undisclosed active scanning that can surprise users, trigger alerts, or be misused for reconnaissance.
The hardcoded path list includes administrative and sensitive endpoints such as /admin, /phpmyadmin, /wp-admin, /.env, and /debug that are commonly used for reconnaissance. Probing these locations is riskier than ordinary screenshot capture because it actively searches for exposed management surfaces and sensitive files.
The code actively requests multiple potentially sensitive paths on the target without an explicit warning that it will perform scanning behavior beyond visiting the provided URL. This can cause unauthorized or unexpected interactions with target systems and may violate user expectations or organizational policies.
The script stores screenshots, page text snippets, headers, form details, and interesting links to disk, which may capture credentials, tokens, internal URLs, or other sensitive information. Persisting this data without prominent notice, minimization, or protection increases the chance of inadvertent data exposure on the operator's system.