T08 · Insecure Dependencies
- Location
SKILL.md:70- Finding
Unpinned Runtime Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly an AI Hive image-editing wrapper, but it handles a bearer API key in ways that can send it to a user-configurable endpoint and includes broader helper code than the advertised image-only purpose.
Install only if you trust the AI Hive endpoint and will keep the default base URL. Avoid setting AI_HIVE_BASE_URL or --base-url to untrusted hosts, use a limited API key if available, install dependencies in a virtual environment, and review where outputs are downloaded before running it on sensitive images.
SKILL.md:70Unpinned Runtime Dependency Installation
scripts/imagegen.py:91Bearer API Key Can Be Sent to an Arbitrary Configurable Endpoint
scripts/imagegen.py:399Remote Task Metadata Is Used in Download Paths Without Sanitization
The file is presented as a specialized Nano Banana 2 image-edit skill, but the implementation bundles a generic AI Hive client supporting chat, model listing, media upload, image generation, and video generation. This violates least-privilege for skills: if an agent can invoke this script beyond the intended wrapper, it gains materially broader capabilities than the manifest suggests, enabling policy bypass or unauthorized use of other model types.
The embedded text-chat capability allows arbitrary prompt submission to any text model, which is outside the declared Nano Banana 2 image-edit purpose. If reachable, an agent could use this skill as a general LLM access channel, bypassing capability restrictions, logging expectations, or approval flows meant to limit the skill to image editing.
The file includes arbitrary video-generation support with image/video/audio uploads and frame controls, far exceeding the declared image-edit scope. This materially broadens execution capability and cost/risk exposure, enabling misuse of the skill for unrelated media generation workloads or policy evasion through an apparently benign image-edit tool.
The skill invokes shell commands, installs packages, reads local image files, and calls a networked script, but it does not declare any explicit tool or permission scope. That creates an over-privileged execution model where an agent may grant broader file, shell, environment, and network access than the task actually needs, increasing the blast radius if the skill or its helper script is abused or compromised.
The manifest description and the entire skill instructions are written in Chinese, and there is no indication that users may interact in another language or locale. Under the stated policy, a skill that effectively imposes a specific language without opt-in is a natural-language policy concern unless the locale restriction is explicitly justified.
The module docstring and parser branding describe a 'generic AI capability invocation tool' rather than a narrowly scoped image-edit skill. That mismatch increases the chance that orchestration layers, reviewers, or users misunderstand the skill’s true privileges, which is a security boundary issue when trust is granted based on manifest scope.
This code embeds the primary skill description entirely in Chinese, and later CLI help and user-facing prompts are likewise presented only in Chinese. That can violate a language/locale policy when the skill forces one language without explicit user opt-in or an offered alternative.
Exposing a user-info/account inspection capability is unrelated to image editing and can disclose wallet balance or account metadata to contexts that should only have media-edit privileges. In a skill ecosystem, unnecessary account introspection expands available sensitive information and weakens compartmentalization.
Model enumeration and arbitrary model lookup are not needed for a fixed-purpose Nano Banana 2 skill and expose broader platform knowledge plus selection flexibility. In context, this makes abuse easier by helping an agent discover alternative models or route requests outside the intended narrow path.
This markdown file contains user-facing natural language only in Chinese across the substantive changelog entries. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation, and there is no indication here that the skill is intentionally region-specific or that alternative locales are supported.
The string literal on L2 uses Chinese text ('请替换为你的APIKey') as the only instructional placeholder. This imposes a specific language in the file content without any user opt-in or documented locale-specific scope, which matches the language/locale policy concern.
No suspicious patterns detected.