T08 · Insecure Dependencies
- Location
README.md:7- Finding
Unpinned Playwright Installation Creates a Mutable Supply-Chain Dependency
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This browser automation skill is coherent, but it can reuse logged-in browser sessions and automatically submit or post content without clear safeguards.
Review this skill before installing. Use it only in an isolated browser profile or test account, avoid saving personal or administrative login sessions in browser-state.json, do not commit or share generated state files or logs, and require explicit review before form submissions, uploads, batch posts, or scheduled runs.
README.md:7Unpinned Playwright Installation Creates a Mutable Supply-Chain Dependency
SKILL.md:220Authentication State Is Stored in a Predictable Plaintext File
The skill instructs users to save and reload browser storage state to a local JSON file without warning that this can persist authentication cookies, session tokens, and other sensitive state. If that file is exposed, reused across tasks, or stored insecurely, an attacker or unintended process could hijack authenticated sessions and access user accounts.
This markdown file includes examples for filling credentials into forms and submitting them, but it does not warn users that browser automation may transmit or modify user data on external websites. Under the markdown-specific warning rule, behaviors affecting privacy or user data should be disclosed in the skill description.
The listed trigger scenarios include broad phrases like '自动抓取网页', '自动化填表', and '定时任务执行' without defining when this skill should or should not activate. Because the description provides only generic scenarios and no exclusions or explicit trigger phrases, it risks unintended invocation for many ordinary browsing or automation requests.
The manifest description is written entirely in Chinese and provides no indication that users can choose another language or that the skill is intended only for a Chinese-speaking or region-specific audience. This creates a natural-language locale policy concern because the skill appears to impose a language choice by default.
This code performs potentially impactful actions by submitting forms and posting content to multiple target URLs, including automatic navigation and clicks that can publish or transmit user-provided data. While there is limited error logging elsewhere, these functions provide no confirmation prompt, user-facing disclosure, or warning comment indicating that submission/publication will occur automatically.
The file-level documentation describes this module as a form automation helper supporting batch filling, auto-submit, and file upload, but this function automates navigation to multiple target URLs and publishes content across platforms. Cross-site bulk publishing is a broader capability than assisting with form completion and is not justified by the module's documented purpose in this file.
The upload helper reads local file paths and attaches files to a browser form, which is a safety-relevant operation affecting user data. The function has no user-facing log, warning, or explanatory comment about accessing local files or sending them through a form submission workflow.
The README content is written entirely in Chinese, including headings and usage instructions, with no indication that users may choose another language. This can be a language policy issue when a skill imposes a specific language without opt-in or documented justification.
The phrase '一套搞定所有网页自动化需求' suggests the skill should activate for essentially any web automation request. This broad natural-language scope lacks constraints or negative examples, increasing the chance of accidental or overinclusive invocation.
This shell script presents all operational instructions and warnings in Chinese, such as the guidance on running scripts and starting Chrome remote debugging. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is documented and justified.
The natural-language documentation and inline descriptions in this file are presented exclusively in Chinese, which can impose a language constraint on users or maintainers without offering an alternative or opt-in. Under the stated policy, forcing a specific language without user choice is a natural-language policy concern.
The natural-language content in the file header and function comments is exclusively Chinese, which can amount to a language policy constraint for maintainers or users consuming this skill. There is no indication that Chinese is optional, selectable, or required for a documented region-specific purpose.
Detected: suspicious.dynamic_code_execution