T09 · Insecure Skill Coding Practices
- Location
scripts/doubao-batch-gen.js:57- Finding
Shell Command Injection Through the LOCALAPPDATA Environment Variable
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill does what it says, but it controls the user's normal logged-in Edge browser too broadly and can disrupt or expose unrelated browser sessions.
Install only if you are comfortable letting the skill control a logged-in Edge profile. Prefer using a separate Edge profile dedicated to Doubao, close unrelated browser sessions first, avoid sensitive prompt files or image uploads, and do not leave the CDP-enabled browser running after use.
scripts/doubao-batch-gen.js:57Shell Command Injection Through the LOCALAPPDATA Environment Variable
scripts/start-edge-cdp.ps1:76Authenticated Daily Browser Profile Exposed Through Broad CDP Control
The skill describes automation that uses environment-dependent local paths, browser profiles, and debugging endpoints, but it declares no explicit tool scope or permissions boundary. In practice this can cause the agent to invoke local execution and access sensitive user context without an upfront capability declaration, increasing the chance of overbroad access and unsafe execution.
The core design intentionally reuses the user's real Edge profile and logged-in Doubao session via CDP, giving the automation access to cookies, account state, and potentially other browser data in that profile. This makes the skill substantially more dangerous than ordinary web automation because any mis-trigger, prompt injection, or script flaw operates with the user's live authenticated context.
The trigger phrases include broad language such as '帮我操作豆包做 XXX', which can match ordinary conversational requests and invoke a high-impact automation skill unexpectedly. Because this skill can take over a logged-in browser session and perform account actions, accidental triggering materially raises the risk of unintended actions, privacy exposure, or downloads.
The instructions direct the user or agent to force-kill all Edge processes with taskkill /F, which can terminate unrelated browsing sessions, discard unsaved work, and interrupt security-sensitive flows. In the context of an agent skill, this is especially dangerous because the action affects the user's primary browser globally rather than an isolated automation instance.
The script can upload a local file to a third-party web service and download remote content onto the local filesystem, but it provides no explicit user-facing confirmation, path safety checks, or trust warning before doing so. In an agent-skill context, that matters because a higher-level agent could trigger these actions with user-provided or model-generated parameters, causing unintended disclosure of local files or silent writes of untrusted content to disk.
The script starts Edge with a remote debugging port and explicitly points at the user's real Edge profile directory, then attaches via CDP. That gives the automation access to the user's authenticated browser state, cookies, open pages, and potentially other sensitive session data without an explicit consent or warning boundary, which is dangerous if the skill is misused or invoked unexpectedly.
The script navigates to doubao.com and later submits prompt contents from a local file to that external service. In this skill context, transmitting prompts is part of the intended functionality, but the lack of an explicit privacy notice or validation increases the risk that users unknowingly send sensitive local data, proprietary prompts, or personal information to a third party.
The script unconditionally kills all running msedge processes with Stop-Process -Force before starting a debug-enabled instance. This disrupts unrelated browsing sessions, can cause loss of unsaved browser state or downloads, and widens impact beyond the stated Doubao automation task. In this skill's context, taking over an already logged-in browser makes this more sensitive because it manipulates the user's real profile and active session rather than an isolated automation profile.
The script forcefully terminates every running Edge process without any confirmation or opportunity to cancel, which is an unsafe destructive action. This can abruptly end unrelated work and interfere with the user's authenticated browser environment; in a skill designed to control a logged-in browser via CDP, the lack of consent and isolation makes the behavior more dangerous.
Natural-language strings in the file, including the description, usage examples, prompts, selectors, and console output, are all Chinese with no option for the user to choose another language. Under the stated policy, forcing a specific language without opt-in is a locale/language policy violation.
Detected: suspicious.dangerous_exec