T09 · Insecure Skill Coding Practices
- Location
skills/smyx_common/scripts/util.py:317- Finding
Authentication Credentials Can Be Forwarded to Arbitrary Absolute URLs
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This camera-management skill has real device-control functionality, but it under-discloses sensitive account, stream, credential, and face-analysis data handling that users should review before installing.
Install only if you accept that this skill can contact external Life Emergence/Open API services, manage and control registered cameras, expose stream links, create or reuse an account from your OpenClaw identity, and store tokens locally. Treat it as needing review or remediation before normal use: remove or separate the face-analysis component, require explicit consent for account creation and media uploads, avoid HTTP/query-string playback secrets, redact logs, and store credentials in a proper secret store.
skills/smyx_common/scripts/util.py:317Authentication Credentials Can Be Forwarded to Arbitrary Absolute URLs
skills/smyx_common/scripts/util.py:370Raw Authentication Headers Are Exposed in Success and Error Logs
skills/smyx_common/scripts/dao.py:62Cloud Authentication Tokens Are Stored Unencrypted in a Workspace-Wide SQLite Database
scripts/api_service.py:33Camera Playback Tokens and Connection Strings Are Exposed in Plain-HTTP URLs
skills/smyx_common/scripts/util.py:296Environment-Derived Sender Identifiers Are Silently Used for Remote Account Registration
skills/face_analysis/scripts/skill.py:102Bundled Face-Analysis Component Can Upload Local Biometric Media Outside the Declared Device-Management Scope
scripts/device_management.py:98Device Login Credentials Can Be Persisted in Plaintext YAML
The requirements pin Authlib to 1.6.6, and the supplied advisories include critical issues affecting JWT/JWE/OAuth flows such as signature bypass and padding-oracle style attacks. In a device-management skill that may expose authenticated APIs, stream URLs, or camera controls, weaknesses in auth and token handling materially increase the risk of account takeover, token forgery, or unauthorized device access.
GitPython 3.1.45 is flagged with multiple critical advisories including command injection and unsafe option forwarding. If the skill or its supporting tooling interacts with repositories, branches, tags, or checkout paths derived from user or agent-controlled input, this can lead to arbitrary command execution or repository manipulation.
langchain-core 1.0.2 has multiple critical advisories including SSRF and template injection style issues. Because this skill appears to be an LLM-enabled device-management integration, SSRF could be especially dangerous by enabling access to internal device endpoints, metadata services, or private stream URLs, while template injection can subvert prompt or tool behavior.
The requirements file pins Authlib to a version flagged by multiple advisories, including severe JWT/JWE validation and CSRF-related issues. In a device-management skill that may handle authentication, tokens, and live stream access, vulnerable auth libraries materially increase the risk of account compromise, token forgery, or unauthorized device access.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
This finding points to automatic login/token acquisition, token persistence, file writes, and generic HTTP wrappers beyond the user-facing description. In a device-control skill, silent authentication material handling and persistence are sensitive because they can expand access, enable cross-user confusion, and create durable secrets on disk.
The instruction to execute device-listing commands automatically when keywords appear removes a key human-approval checkpoint. Because device inventories and stream access are sensitive surveillance data, automatic execution materially increases the risk of data disclosure and unintended actions from ambiguous or injected prompts.
If click 8.3.1 is affected by a command-injection vulnerability as indicated, any administrative tooling, deployment script, or maintenance command that passes untrusted input into Click-backed commands could become an execution vector. Even though this is a requirements file and exploitation depends on how the package is used, device-management environments often include operational scripts where command execution impact is significant.
cryptography 3.4.8 is an old security-sensitive package version with multiple advisories, including oracle and bundled OpenSSL issues. In a system handling HTTPS, tokens, certificates, or signed device-control traffic, weaknesses in cryptographic primitives or linked libraries can undermine confidentiality and authentication guarantees.
httplib2 0.20.2 is reported vulnerable to decompression-bomb denial of service via unbounded compressed responses. In a service that may fetch remote resources such as stream metadata, auth endpoints, or third-party APIs, an attacker-controlled endpoint could trigger memory or CPU exhaustion.
The dependency list includes idna 3.11 with reported security issues in handling crafted internationalized domain inputs. If this application accepts or constructs URLs for camera endpoints, callback hosts, or external integrations, IDNA parsing ambiguities could contribute to SSRF, validation bypass, or hostname confusion.
langchain-openai 1.0.1 is reported with security advisories, and as a bridge between the application and model/tooling stack it can amplify prompt-injection, data-exfiltration, or unsafe request-processing issues. In this skill context, compromised model integration could expose camera metadata, device identifiers, or internal endpoints.
langgraph 1.0.2 is flagged by advisories affecting the agent workflow layer. Since agent graphs orchestrate tool calling and state transitions, vulnerabilities here can lead to unauthorized tool execution, state corruption, or leakage of device-management context in a system that may control or disclose surveillance resources.
langgraph-checkpoint 3.0.0 has multiple advisories, and checkpoint/state persistence vulnerabilities can expose or corrupt conversational and tool state. In a device-management skill, persisted state may include device identifiers, stream URLs, auth material, or prior tool outputs that should not be disclosed or tampered with.