T08 · Insecure Dependencies
- Location
SKILL.md:42- Finding
Unpinned External Skill Recommendation and Invocation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:42-60,SKILL.md:155-174,references/avatar-style.md:83-105,references/error-handling.md:17-20
Vulnerability Type: Unpinned third-party Skill dependency
Risk Level: MediumVulnerable Code
From
SKILL.md:42-60:markdown ## Optional Dependency ### Avatar Auto-Generation: baoyu-image-gen skill The core output of this Skill is **text** (SOUL.md + IDENTITY.md + avatar prompt). Image generation is an **optional enhancement** provided by `baoyu-image-gen`. **Decision logic**: - If `baoyu-image-gen` is installed → call it in Step 5 to auto-generate - If not installed → output the full prompt text; user copies it to Gemini / ChatGPT / Midjourney **How to call** (only when installed): 1. Write prompt to `/tmp/openclaw-[lobster-name]-prompt.md` 2. Invoke `baoyu-image-gen` skill with the prompt file and output path > Install baoyu-image-gen: [https://github.com/JimLiu/baoyu-skills](https://github.com/JimLiu/baoyu-skills)From
references/avatar-style.md:83-105:markdown ## Image Generation Flow Once the prompt is assembled: ### Path A: baoyu-image-gen skill is installed 1. Write to file using the Write tool: `/tmp/openclaw-[lobster-name]-prompt.md` 2. Call the `baoyu-image-gen` skill to generate the image 3. Use the Read tool to display the generated image to the user 4. Ask if the user is satisfied; if not, adjust variables and regenerate ### Path B: baoyu-image-gen skill is not installed Output the complete prompt text with manual generation instructions: ```markdown **Avatar Prompt** (copy and paste into any of these platforms): - Google Gemini: paste directly - ChatGPT (DALL-E): paste directly - Midjourney: paste then add `--ar 1:1 --style raw` > [Full English prompt] Install the baoyu-image-gen skill for automatic image generation: https://github.com/JimLiu/baoyu-skillstext ### Techni ...[truncated 1922 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the external dependency to a reviewed commit hash or immutable, signed release rather than referencing a mutable repository head.
- Publish the expected source revision and cryptographic checksum in
SKILL.md. - Require signature or checksum verification before allowing the dependency to run.
- Require explicit user confirmation before delegating work to the external Skill, even when it is already installed.
- Document the dependency's required file, network, and tool permissions and enforce least privilege.
- Run image generation in a sandbox with access limited to the prompt file and a designated output directory.
- Preserve the existing prompt-only fallback so users can complete the workflow without installing or executing the external component.
- Re-audit and update the pinned revision through a controlled dependency-review process.
