T08 · Insecure Dependencies
- Location
SKILL.md:28- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears purpose-aligned for generating a Chinese finance/news briefing, with some installation and data-integrity cautions but no evidence of deception, exfiltration, or unsafe persistence.
Install only if you are comfortable with a Chinese-language briefing tool that contacts China News and Tencent market-data endpoints and automatically writes dated Markdown reports to your Desktop. Prefer installing dependencies in a virtual environment with pinned versions, and avoid relying on the HTTP market data for financial decisions without verification.
SKILL.md:28Unpinned Third-Party Dependency Installation
scripts/morning_briefing.py:54Financial Market Data Retrieved over Plaintext HTTP
The declared purpose understates behavior by omitting significant local file writes and by overselling the source coverage as 'global news' when it is actually a fixed set of RSS feeds. This mismatch is dangerous because users and policy systems may approve the skill under false assumptions, while the skill also produces additional output artifacts beyond the advertised Markdown briefing.
The skill documents network access and local file creation but does not declare any explicit tool scope or permissions, which weakens containment and informed consent. In agent environments, undeclared capabilities can lead to broader-than-expected execution, especially when the scheduled example explicitly enables exec for a script that fetches remote content and writes files.
The natural-language description and generated user-facing content are fixed in Chinese, which can violate language or locale policy when no user opt-in or choice is provided. There is no indication in the file that the skill is region-specific by design or that users can select another language.
The script always creates the Desktop output directory and writes the full markdown report before checking whether --stdout was requested. This violates the apparent contract of stdout-only mode and can cause unintended local data persistence, which matters because the report contains externally sourced content and links that a user may have expected not to be stored.
SQP-3 applies to all file types and covers language or locale policy violations. This file presents the skill's instructions and behavior in Chinese without indicating that users may choose another language or that the skill is intentionally restricted to a Chinese-speaking or China-specific audience.
This markdown file applies to SQP-2, and it explicitly states that a full Markdown report is stored locally. While the behavior is mentioned, there is no clear user-facing warning or caution about automatic file creation, persistence, or where data will be stored, which could affect user data management expectations.
The script writes a generated report to a Desktop path in the user's home directory without prompting, opt-in, or a clearly advertised side effect at runtime. While not a code-execution issue, unexpected writes can expose sensitive browsing/interests metadata, create clutter, and violate least-surprise expectations for an agent skill.