Back to skill

Security audit

claw-windows-automator

Security checks for vulnerabilities and agentic risk

Overview

This skill enables powerful Windows automation but also hides unrelated WeChat UI automation and changes the Python environment automatically without clear user control.

Review before installing. Use this only in an isolated Windows environment if you accept that it can run arbitrary commands, open browsers, install or reinstall Python packages, write command logs, and manipulate desktop applications. The undocumented WeChat task and import-time package changes should be removed or explicitly disclosed and gated before normal use.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
Findings (5)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/github_download.py:51
Finding

Command Injection Through an Unvalidated Download URL

Content
View full analysis
`, `<`, and command-grouping syntax can alter the intended command. For example, a URL argument containing a valid-looking URL followed by `& calc.exe` would cause CMD to treat the second portion as another command. The use of GUI keystroke automation does not mitigate command injection. Once the generated string is typed into Windows Run and submitted, it is interpreted with the same semantics as a manually entered CMD command. ### Attack Path 1. An attacker persuades a user or agent to run the `github_download` task with a crafted `--url`. 2. `operations.py` passes the value to `github_download.execute()`. 3. The value is inserted into `cmd.exe /c start "" {github_url}` without validation or quoting. 4. `pyautogui` types the resulting string into Windows Run. 5. Windows invokes `cmd.exe`, which interprets embedded metacharacters. 6. The attacker-supplied additional command executes with the privileges of the user running the Skill. ### Impact Assessment Successful exploitation permits arbitrary command execution under the current desktop user's account. Depending on that user's permissions, an attacker could read or modify user-accessible ...[truncated 248 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/github_download.py:70
Finding

Unrestricted HTTP Requests Permit Internal Network Access

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
scripts/ensure_package.py:27
Finding

Import-Time Package Installation Modifies the Host Environment Using Unsafe Dependency Resolution

Content
View full analysis
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
scripts/operations.py:80
Finding

Undocumented Task Manipulates the User's WeChat Desktop Session

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/cmd_task.py:61
Finding

Complete User Commands Are Stored in Persistent Plaintext Logs

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
Findings (57)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · .gitignore (reported line 29)May include surrounding context.

text
venv/
ENV/
env/
.env

# Logs
logs/*.log

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation actually automates WeChat or other messaging UI while the skill claims CMD/GitHub automation, that is a serious deceptive mismatch. Messaging-app automation can access chats, contacts, and sensitive communications, creating privacy, impersonation, and unauthorized action risks well beyond the declared scope.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation actually automates WeChat or other messaging UI while the skill claims CMD/GitHub automation, that is a serious deceptive mismatch. Messaging-app automation can access chats, contacts, and sensitive communications, creating privacy, impersonation, and unauthorized action risks well beyond the declared scope.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation actually automates WeChat or other messaging UI while the skill claims CMD/GitHub automation, that is a serious deceptive mismatch. Messaging-app automation can access chats, contacts, and sensitive communications, creating privacy, impersonation, and unauthorized action risks well beyond the declared scope.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the implementation actually automates WeChat or other messaging UI while the skill claims CMD/GitHub automation, that is a serious deceptive mismatch. Messaging-app automation can access chats, contacts, and sensitive communications, creating privacy, impersonation, and unauthorized action risks well beyond the declared scope.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation actually automates WeChat or other messaging UI while the skill claims CMD/GitHub automation, that is a serious deceptive mismatch. Messaging-app automation can access chats, contacts, and sensitive communications, creating privacy, impersonation, and unauthorized action risks well beyond the declared scope.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the implementation actually automates WeChat or other messaging UI while the skill claims CMD/GitHub automation, that is a serious deceptive mismatch. Messaging-app automation can access chats, contacts, and sensitive communications, creating privacy, impersonation, and unauthorized action risks well beyond the declared scope.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation actually automates WeChat or other messaging UI while the skill claims CMD/GitHub automation, that is a serious deceptive mismatch. Messaging-app automation can access chats, contacts, and sensitive communications, creating privacy, impersonation, and unauthorized action risks well beyond the declared scope.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill explicitly supports executing arbitrary commands or batch scripts in CMD, but the description does not provide a prominent user-facing warning about the risks of arbitrary code execution. In context, this is especially dangerous because the skill is marketed as 'safe/reliable' while enabling highly privileged local actions that can modify files, install software, or destroy data.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The module calls fix_setuptools_for_legacy_packages() at import time, causing immediate package repairs and forced reinstalls merely by importing the file. Hidden side effects of this kind are especially dangerous because they bypass user intent, change the execution environment unexpectedly, and can invoke package installation code paths without any explicit action.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

Automatic mutation of the Python environment is not necessary to fulfill the stated Windows automation role and introduces unnecessary supply-chain and reliability risk. Modifying packaging, setuptools, and wheel behind the scenes can break unrelated software and gives the skill unexpected control over the host runtime.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The file advertises and implements environment/bootstrap logic for audio and ML dependencies that are unrelated to the declared Windows automation skill. Unrelated high-privilege setup code increases attack surface, can trigger unexpected network/package installation activity, and makes it harder to reason about what the skill actually does.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
93% confidence
Finding

GPU probing and conditional installation of PyTorch, torchaudio, audio-separator, librosa, pydub, and huggingface-related packages are not justified by the stated Windows CMD/GUI automation use case. Even though this block is currently commented out, its presence indicates latent capability for heavyweight package installation and hardware inspection that could be re-enabled with minimal changes, expanding supply-chain and privacy risk.

Content

No source excerpt is available for this finding.

Env Variable Harvesting

High
Category
Data Exfiltration
Confidence
60% confidence
Finding

Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.

Content

Scanner excerpt · scripts/env_manager.py (reported line 222)May include surrounding context.

python
sys.exit(1)

    # 传递环境变量防止递归
    env = os.environ.copy()
    env["RUNNING_IN_VENV"] = "true"

    logger.info(f"   当前Python: {sys.executable}")

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The module imports, registers, and exposes webchat_download_audio, a capability that is outside the declared Windows CMD/GitHub automation scope. Hidden or undeclared functionality in an automation skill is dangerous because it expands the attack surface and may allow operators or upstream orchestration to invoke unexpected code paths that users did not consent to.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

An audio-download task is context-inappropriate for a skill advertised as Windows desktop automation for CMD execution and GitHub downloads. In agent ecosystems, mismatched capabilities are risky because they can be used to exfiltrate data, fetch unreviewed content, or bypass policy routing by piggybacking on a trusted automation skill.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill advertises capabilities that imply shell execution, network access, and environment interaction, but it does not declare any explicit tool scope or permissions boundaries. This increases the chance that an agent will invoke powerful operations without clear policy constraints or user visibility, which is risky for a skill that can run commands and download content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger conditions are broad enough to match many routine requests, which can cause this skill to activate when the user did not intend to invoke a high-risk automation tool. Because the skill can execute commands and perform desktop automation, accidental invocation materially raises the chance of unintended system actions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

Encouraging indefinite expansion of colloquial trigger phrases makes the activation boundary ambiguous and difficult to audit. In a skill with command execution and automation powers, ambiguous triggering can lead to unsafe or surprising actions from loosely related user phrasing.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Automatically opening a browser and downloading files from GitHub without a strong user-facing warning can lead to unintended file delivery and follow-on execution of untrusted content. In this skill's context, download automation pairs naturally with command execution, increasing the risk of quick user-to-download-to-execute chains.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The code and skill description indicate it forcibly changes the active Windows input method to English using Win32 APIs or simulated hotkeys, without any explicit user consent or restoration of the prior state. In a desktop automation skill, this can interfere with unrelated user activity, cause unintended commands or text entry in other windows, and make automated command execution less predictable and potentially unsafe if focus is stolen.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Forcibly switching the user's input method to English without opt-in modifies system UI state and can interfere with unrelated user activity or cause unintended input in other windows. In a desktop automation skill that drives keyboard input and opens CMD, this increases the chance of commands being sent to the wrong target or of user-environment manipulation occurring without clear consent.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/cmd_automator.py (reported line 47)May include surrounding context.

python
"""打开文件夹并启动CMD"""
        self.log_info(f"打开文件夹并启动CMD: {folder}")
        gradient_overlay.update_overlay_text("打开文件夹")
        subprocess.Popen(['explorer.exe', str(folder)])
        gradient_overlay.safe_sleep(2.0)

        for attempt in range(1, max_retries + 1):

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The code takes an arbitrary script string and types it into a newly opened CMD window, then presses Enter, with no validation, allowlist, confirmation gate, or sandboxing. In an agent setting, this creates a direct command-execution primitive on the user’s Windows desktop, and GUI automation increases the risk of misdirected input if focus changes or the wrong window is active.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module is documented as a smart package installer with git and zip support, which materially exceeds the declared Windows desktop automation scope of the skill. Scope expansion is dangerous because it introduces a general-purpose software acquisition/install mechanism that can be repurposed for unauthorized code introduction.

Content

No source excerpt is available for this finding.