T08 · Insecure Dependencies
- Location
SKILL.md:21- Finding
Unpinned Third-Party Dependencies Are Downloaded and Executed at Installation Time
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill's reading workflow is mostly disclosed, but its install path asks users to run unpinned network packages and even suggests sudo, which needs review before use.
Review this before installing. Avoid using sudo, prefer pinned dependency versions or a sandbox/virtual environment, and review RSS sources before testing or running. Also confirm you are comfortable granting Feishu permissions and storing article titles, source URLs, and generated materials in Feishu cloud documents.
SKILL.md:21Unpinned Third-Party Dependencies Are Downloaded and Executed at Installation Time
scripts/random_source_picker.py:27Configuration-Controlled HTTP Requests Permit Access to Internal or Link-Local Destinations
A description-behavior mismatch is dangerous because reviewers and users may approve the skill for one purpose while it performs additional actions such as RSS selection or external requests. Even if the extra behavior is not overtly malicious here, undisclosed network activity materially changes the trust and review assumptions.
The README instructs users to execute npx -y @larksuite/openclaw-lark-tools install without pinning an exact package version. This creates a supply-chain risk: whoever controls the package or a compromised latest release can cause arbitrary code to run on the user's machine at install time, and the -y flag reduces friction by auto-confirming execution.
The README suggests adding sudo if there are permission issues when installing a package from the network. Running npx/package installation with root privileges greatly increases the blast radius of any malicious or compromised install script, potentially leading to full system compromise instead of user-level impact.
npx -y @larksuite/openclaw-lark-tools install
# 如遇权限问题请加 sudo
The skill requires file reads and network access but does not declare any explicit tool scope or permissions boundary. This makes the operational surface less transparent to users and hosts, increasing the chance the agent performs filesystem or external network actions without clear authorization expectations.
The description states the skill generates English reading material and the workflow consistently requires rewritten English articles and English vocabulary explanations. This is a language/locale constraint expressed in natural language, but the file does not indicate any user opt-in or alternative language choice.
Using npx -y @larksuite/openclaw-lark-tools install without a pinned version allows the latest package to be fetched at install time, which creates a supply-chain risk. If the upstream package is compromised or a breaking version is published, users may execute unreviewed code during installation.
The repeated unpinned npx install instruction creates the same supply-chain exposure in user guidance, not just metadata. Because the skill explicitly tells users to run it, the risk is more likely to be realized in practice.
The skill instructs the agent to modify configuration files and append tracking data without clearly warning the user at the time of use. Silent local state changes can surprise users, persist unintended preferences, and create integrity/privacy issues if files are shared or later consumed by other processes.
The activation wording says the skill should run when the user sends commands with a similar meaning, and includes the generic phrase "生成英语阅读材料". This does not clearly bound what counts as an invocation, which increases the risk of unintended activation from ordinary requests about English reading materials.
The skill writes article source URLs and metadata into a Feishu cloud document without presenting a privacy warning or clarifying the visibility and retention implications of cloud storage. Publishing metadata to a third-party platform can expose reading interests, internal research topics, or sensitive source patterns depending on the user context.
The manifest describes a skill that generates CEFR-adapted English reading material and creates a Feishu cloud document. This helper script adds a separate capability to probe all configured RSS URLs over the network, which is not part of the described user-facing generation flow and goes beyond a straightforward implementation detail of producing one reading output.
The natural-language description frames the skill as an English-only experience and the outputs described are English reading materials with English vocabulary explanations. Under the policy for this audit, forcing a specific language without user opt-in can be a locale/language policy issue unless the restriction is explicitly justified as region- or purpose-specific.
This config mixes English source names with Chinese description text, and the Chinese descriptions appear to assume a specific user language preference. Because the file provides no documented user opt-in or stated locale constraint, this may conflict with an organizational policy requiring language choice rather than forcing a locale.
This config mixes English source names with Chinese description text, and the Chinese descriptions appear to assume a specific user language preference. Because the file provides no documented user opt-in or stated locale constraint, this may conflict with an organizational policy requiring language choice rather than forcing a locale.
This config mixes English source names with Chinese description text, and the Chinese descriptions appear to assume a specific user language preference. Because the file provides no documented user opt-in or stated locale constraint, this may conflict with an organizational policy requiring language choice rather than forcing a locale.