Back to skill

Security audit

LiveClaw

Security checks across malware telemetry and agentic risk

Overview

This live-streaming skill is not clearly malicious, but it makes broad persistent platform changes and exposes sensitive live-control functions that need review before installation.

Install only on an isolated host or test workspace unless you are comfortable with public live streaming, shared OpenClaw configuration changes, persistent daemons, and bundled skills being added. Use dedicated least-privilege Tencent Cloud keys, put the viewer and gateway behind firewall/auth controls, review the email/music sub-skills, and confirm a working stop/uninstall process before exposing it to the internet.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (42)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
install_cmd = ["sudo", "-n", manager_cmd, "install", "-y", pkg]

    try:
        result = subprocess.run(
            install_cmd, capture_output=True, text=True, timeout=120
        )
        if result.returncode == 0:
Confidence
94% confidence
Finding
result = subprocess.run( install_cmd, capture_output=True, text=True, timeout=120 )

subprocess module call

Medium
Category
Dangerous Code Execution
Content
# 4. 设置 gateway 监听公网
    try:
        subprocess.run(
            ["openclaw", "config", "set", "gateway.bind", "lan"],
            capture_output=True, text=True, timeout=10
        )
Confidence
83% confidence
Finding
subprocess.run( ["openclaw", "config", "set", "gateway.bind", "lan"], capture_output=True, text=True, timeout=10 )

subprocess module call

Medium
Category
Dangerous Code Execution
Content
print(f"  [!] Missing Python dependencies: {', '.join(_missing_deps)}")
        print(f"  [*] Auto-installing: pip install {' '.join(_missing_deps)}")
        try:
            result = subprocess.run(
                [sys.executable, "-m", "pip", "install", "--quiet"] + _missing_deps,
                capture_output=True, text=True, timeout=120
            )
Confidence
85% confidence
Finding
result = subprocess.run( [sys.executable, "-m", "pip", "install", "--quiet"] + _missing_deps, capture_output=True, text=True, timeout=120 )

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill requests and documents capabilities that include shell execution, network access, file read/write, and environment usage, yet it declares no permissions. This undermines informed consent and platform enforcement because operators cannot accurately assess or constrain what the skill is allowed to do before installation or execution.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding
The documented purpose is live streaming, but the analyzed behavior reportedly extends to unrelated high-risk functions including SMTP email, music search/download, cloud stream-ingest control, and auto-installing additional bundled skills. That kind of scope expansion is dangerous because it hides materially different capabilities behind a benign-seeming description, increasing the chance of unauthorized data movement, persistence, or lateral feature enablement.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The README states that `setup.py --start` will automatically install additional skills (`email-skill`, `music-search`, `weather`) beyond the advertised live-streaming functionality. Auto-installing extra capabilities expands the trust boundary and attack surface without explicit, granular user consent, which is dangerous in an agent ecosystem where added skills may gain access to user data or actions.

Context-Inappropriate Capability

Medium
Confidence
92% confidence
Finding
The skill instructs copying itself into the global OpenClaw skills directory so it becomes available across sessions and channels. This creates persistence and broadens trigger surface beyond the immediate user interaction, which increases the blast radius if the skill is misused or later modified.

Context-Inappropriate Capability

High
Confidence
95% confidence
Finding
The skill requires changing gateway/timbot configuration and restarting the gateway so callbacks are reachable from the public network. Exposing a callback channel and binding to 0.0.0.0 materially increases attack surface, especially when combined with remote-triggered agent execution and insufficient discussion of authentication, authorization, and origin validation.

Context-Inappropriate Capability

Medium
Confidence
86% confidence
Finding
The skill includes automatic package installation via system package managers during startup. Runtime installation of OS and Python dependencies can unexpectedly modify the host, pull unpinned third-party code, and create a privilege boundary issue if commands are run with sudo.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The page described as a viewer template also contains host logic that publishes local camera and microphone when the logged-in user matches a configured streamer ID. That means the same front-end can unexpectedly access and transmit local media, expanding capability beyond the declared skill purpose and creating a real privacy and surveillance risk if a user is induced to authenticate as the host or if identifiers are misconfigured.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The live-stream viewer UI includes launchers for unrelated Email, Music, and Weather apps and can invoke their activation paths. This violates least privilege and broadens the attack surface, especially because the same page can send control messages that affect other skills outside the stated live-streaming purpose.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The code can silently send IM commands like installation/activation requests for other skills without meaningful user disclosure beyond a UI toast. Silent cross-skill command dispatch is dangerous because it enables unauthorized capability expansion and could be abused to trigger side effects in other agents or services from a page users believe is only for viewing a stream.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The renderer performs a runtime download from GitHub to obtain a font, which introduces unexpected external network access and a supply-chain dependency into a local rendering component. If the remote content is changed, unavailable, or intercepted via a compromised trust chain, the process can be influenced by unpinned third-party data and may leak deployment metadata through outbound requests.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
This utility module can install system font packages via privileged package-manager operations, which is broader than the stated streaming and interaction purpose of the skill. In skill/plugin environments, host modification is especially sensitive because operators may not expect a live-stream helper to attempt package installation on the machine.

Context-Inappropriate Capability

Medium
Confidence
98% confidence
Finding
The module can automatically install tkinter-related packages using sudo, granting the skill persistent host-modification capability beyond its manifest scope. Because this is runtime utility code rather than a one-time installer, it creates an unexpected administrative side effect if invoked in production.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
The embedded HTTP server exposes unauthenticated API endpoints on `0.0.0.0` that can mint UserSig tokens from the stored `secret_key`, enumerate chat members, write agent events, and trigger IM actions as `administrator`. Anyone with network access to the port can abuse the server as a credential oracle and action proxy, leading to account impersonation and unauthorized messaging in the linked Tencent IM/TRTC environment.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The setup script deploys bundled skills unrelated to the declared live-streaming purpose, broadening the system's behavioral scope without clear user consent. In a shared agent environment, silently adding extra skills can change what the agent can do and increase attack surface unexpectedly.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
On startup, the script copies this skill and other assets into shared OpenClaw skills directories, modifying global installation state rather than staying self-contained. That behavior is risky for a skill because it persists outside the current session, affects other channels, and can overwrite or shadow existing content.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
This setup path installs plugins and rewrites OpenClaw and gateway configuration, including enabling timbot and altering bind behavior, thereby changing the host's security posture. In a skill package, such environment-wide side effects are dangerous because users may expect local setup, not persistent reconfiguration of shared services and externally reachable channels.

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The daemon explicitly ignores SIGTERM, which can prevent normal orchestrator-initiated shutdown and make the process harder to stop cleanly in containerized environments. In this skill's context, that increases operational and security risk because a long-running stream process may persist beyond intended lifecycle controls, interfere with cleanup, and require force-kill behavior that can leave inconsistent state or delay incident response.

Intent-Code Divergence

Medium
Confidence
97% confidence
Finding
The supervisor explicitly ignores SIGTERM, making it resistant to normal service-management and container shutdown behavior. In this skill’s context, that persistence is more concerning because the process is designed to keep other daemons alive and publicly accessible, so operators may be unable to stop streaming/TTS components cleanly during incident response or maintenance.

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
The worker explicitly ignores SIGTERM to resist external cleanup, causing the process to persist beyond normal lifecycle controls. In a containerized or managed environment, this weakens operator control, can interfere with shutdown/redeploy flows, and may leave a background service running unexpectedly with continued access to files, credentials, and outbound TTS capability.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The file implements SMTP email sending with arbitrary recipients and file attachments, which does not match the declared skill purpose of TRTC live streaming, avatar overlay, TTS, and IM-triggered agent interaction. This kind of manifest/behavior mismatch is dangerous because it can hide undisclosed data exfiltration capability behind an unrelated description, reducing operator scrutiny and enabling abuse of configured SMTP credentials to send data or spam externally.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The helper writes events to /tmp/trtc_stream/agent_events.jsonl for dashboard reporting, which is unrelated to the file’s declared music search/download purpose. This creates undisclosed side-channel telemetry about user activity and can leak search or execution metadata to broader agent infrastructure without user consent.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The second search_and_play implementation claims non-download behavior but still emits dashboard events containing the user’s music search term. That hidden reporting expands the data flow beyond expected functionality and may expose sensitive user interests or prompts to unrelated components.

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.insecure_tls_verification

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
skills/music-search/music_downloader.py:65