T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Chinese novel-writing skill is coherent, but it should be reviewed because it can send manuscript text to third-party LLMs and may keep making paid API calls without a clear per-chapter limit.
Install only if you are comfortable sending outlines and generated text to the listed LLM providers. Use a dedicated API key with spending limits, run it in a contained environment, and avoid very broad chapter ranges until the script has request and progress limits.
SKILL.md:16Unpinned Third-Party Dependency Installation
scripts/batch_generate.py:165Unbounded Chapter Generation Loop Can Exhaust API Quotas and Local Resources
The file states these constraints are '注入所有 prompt', making the Chinese-only restriction a global policy applied to all generated prompts. A universal forced locale is a stronger policy concern because it removes any opportunity for user language preference.
The skill explicitly reads API keys from environment variables, reads local files, writes generated chapter files, and sends user-provided text to external network endpoints, but it does not declare any tool scope or permission boundaries. This creates an authorization and transparency gap: an agent or reviewer cannot easily constrain or audit the skill’s access to secrets, filesystem contents, or outbound data flows, increasing the risk of unintended secret exposure or excessive data access.
The prompt explicitly requires '纯中文' and forbids any English or Arabic numerals, which imposes a fixed language/locale constraint. The file does not offer user opt-in or explain a justified region-specific need, so this is a natural-language policy violation under the language-choice rule.
This line again forces output to be entirely in Chinese and prohibits English and Arabic numerals. Repeating the constraint in another template section reinforces a hardcoded locale policy without user choice or justification.
The natural-language constraint explicitly requires exclusively Chinese output and forbids English or Arabic numerals. This imposes a fixed language policy in the skill behavior without user opt-in or an explained region-specific justification.
The script transmits user-provided outline, plot details, and prior chapter text to third-party LLM endpoints, but it does not provide an explicit runtime warning, consent step, or data-handling notice before doing so. This creates a real privacy and data-governance risk because users may unintentionally send proprietary, confidential, or sensitive manuscript content to external services with different retention and logging policies.