T08 · Insecure Dependencies
- Location
requirements.txt:1- Finding
Third-Party Dependencies Installed Without Artifact Integrity Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it says, but it can send WeChat messages and reuse a cached login session with limited safeguards.
Install only if you are comfortable letting this skill act through your logged-in WeChat account. Use it in a private local environment, avoid sharing or syncing loginInfo.pkl, delete the cache when done, and review recipient plus message text carefully before running send commands.
requirements.txt:1Third-Party Dependencies Installed Without Artifact Integrity Verification
main.py:20Reusable WeChat Authentication State Persisted Without Application-Level Protection
The skill explicitly exposes the ability to enumerate recent chats and unread-message counts from a user's WeChat account, but the documentation does not clearly warn that this accesses private communication metadata. Even in a local-only workflow, chat names, last-message previews, and unread counts are sensitive and could be accessed or mishandled without informed user consent.
The login flow enables hotReload=True, which persists a reusable authenticated WeChat session on disk and reuses it automatically later. In a skill context, this weakens user awareness and consent around long-lived authentication state, and anyone with access to the host or cached session files may be able to act through the account without a fresh login.
This command sends arbitrary user-supplied text to an external WeChat recipient immediately, without a confirmation or clear disclosure that a real network action will occur. In an agent skill, this can be abused for unintended outbound messaging, social engineering, or exfiltration of sensitive data if higher-level tooling passes untrusted input into the command.
The listing function accesses account contacts and profile-like metadata and prints it directly, without warning the user that private account data will be retrieved and exposed to stdout. In an agent or automation environment, stdout may be logged, relayed, or consumed by other components, increasing the risk of unintended data disclosure.
The natural-language documentation and examples are entirely in Chinese, including user-facing invocation examples, without indicating that another language can be used or that the skill is intentionally limited to a Chinese-speaking context. This can violate a language/locale policy when no user opt-in or explicit locale justification is provided.
The unread-count command accesses account message metadata without notifying the user, which is a privacy-sensitive operation even if it returns only a count. While lower impact than message content or contact disclosure, it still exposes account state and may be invoked silently in an automated context.
No suspicious patterns detected.