Back to skill

Security audit

Feishu Video Message

Security checks for vulnerabilities and agentic risk

Overview

This skill appears intended to send videos to Feishu, but it gives an agent broad ability to fetch or read video content and send it to caller-supplied Feishu destinations without clear recipient or source safeguards.

Install only if you trust the publisher and are comfortable with the agent sending user-selected local or remote videos to Feishu. Use it with explicit destinations, avoid sensitive local files, and prefer a version that restricts URLs, validates the Feishu recipient against the current chat, and asks before sending externally.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill clearly requires network access, local file reads, and shell-executed tools (`python3`, `ffmpeg`, `ffprobe`) to fetch remote videos, process them, and send them to Feishu, but no permissions are explicitly declared. This creates a security transparency and policy-enforcement gap: a caller or platform may invoke a skill with broader capabilities than expected, including downloading attacker-controlled URLs and reading local files via `--file`.

Missing User Warnings

Low
Confidence
88% confidence
Finding
When --url is used, the script fetches arbitrary remote content and then uploads it into Feishu, creating a blind network-to-chat transfer path. In an agent context, this can be abused for SSRF-like access to internal URLs, unintended retrieval of sensitive resources, or exfiltration of attacker-chosen content into an external messaging platform without an explicit confirmation at execution time.

External Transmission

Medium
Category
Data Exfiltration
Content
"msg_type": "media",
        "content": json.dumps(media_content),
    }
    resp = requests.post(
        FEISHU_SEND_MSG_URL,
        headers=headers,
        params=params,
Confidence
87% confidence
Finding
This code sends a media message to a Feishu chat using a receive-id supplied by the caller, and the skill description explicitly expects the model to pass the current chat identifier. In an agent setting, if the caller or prompt context is manipulated, the tool can be used to exfiltrate downloaded or local video content to an arbitrary Feishu chat/user without independent authorization or destination validation.

Static analysis

No suspicious patterns detected.