T09 · Insecure Skill Coding Practices
- Location
SKILL.md:153- Finding
Unvalidated MCP-Provided Image URLs Can Access Local or Internal Resources
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is purpose-aligned for HotelPost social-media publishing, but it needs review because it can publish or schedule real posts while storing powerful tokens in agent config and giving under-scoped shell/file handling guidance.
Review this skill before installing. Use it only for a HotelPost workspace where you are comfortable letting the agent draft, schedule, and publish to connected social accounts. Store hp_sk_* and uk_* values in a protected secret store when possible, rotate them if exposed, require explicit confirmation before every publish or schedule action, and avoid blindly downloading or forwarding image URLs returned by the MCP service.
SKILL.md:153Unvalidated MCP-Provided Image URLs Can Access Local or Internal Resources
references/feishu-guide.md:54Predictable Shared Temporary File Enables Symlink and Cross-Session Attacks
references/user-onboarding.md:67Long-Lived Bearer Credentials Are Stored Directly in Agent Configuration
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
feishu-send image "oc_demo_group_id" /root/.openclaw/workspace/post3.png
rm /tmp/card.json
The skill explicitly forbids using curl/exec for MCP access, but elsewhere instructs the agent to invoke shell commands like curl and mkdir for image handling, creating contradictory execution guidance. In an agent environment, this kind of mixed instruction can cause the model to perform unintended local shell actions, expand attack surface to SSRF or unsafe file writes from untrusted image URLs, and bypass safer tool-mediated controls.
The activation criteria are broad enough to trigger on generic terms like hotel, post, publish, Instagram, or marketing, which can cause the skill to activate outside the user's intended HotelPost workflow. In a skill capable of drafting, scheduling, and publishing to external accounts, over-activation increases the chance of inappropriate tool use, confusion about authority, or unintended external side effects.
The skill supports publish_post and schedule_post, which can create real, externally visible changes on connected social media accounts, but it does not prominently warn users about that risk or require a strong confirmation boundary. In this context, missing irreversible-action warnings materially increases the chance of accidental publication, reputational harm, and cross-account misuse within a workspace.
The example flow shows the assistant proceeding from account listing directly to publishing without an explicit user-facing warning that publishing is an external side effect and may be difficult or impossible to undo. In a skill that can post to real social media accounts via authenticated connections, this increases the risk of accidental or socially engineered unauthorized posting.
The scheduled publishing example states that publishing is set and will occur automatically, but it does not clearly warn before scheduling that the action will execute later unless cancelled. Because the skill can act with workspace token and AgentAuth-backed social connections, a user may unintentionally authorize future external posting that happens out of band and is easier to forget or overlook.
The guide instructs users to obtain and paste a live AgentAuth user token into agent configuration, but it does not clearly warn that the token is a sensitive secret or explain the consequences of leakage. Because this skill operates through an MCP server and requires persistent header-based authentication, mishandling the token could expose user identity and enable unauthorized MCP requests in combination with a workspace token.
The guide tells users to create and paste a raw hp_sk_* workspace API key into MCP headers without a prominent warning that it grants workspace-scoped access and must be treated like a password. In this skill context, that is more dangerous because the token directly authorizes agent actions against social media workspace resources, so leakage could allow unauthorized posting, review actions, or access to workspace content.
No suspicious patterns detected.