T01 · Skill Instruction Hijacking
- Location
SKILL.md:52- Finding
Untrusted Feishu Documents Are Treated as Authoritative Agent Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill matches its Feishu-based editing-script purpose, but it embeds Feishu app credentials and can create persistent Feishu documents without a clear confirmation gate.
Review before installing. Only use this with Feishu documents you are willing to share with the embedded robot app, rotate/remove the bundled Feishu secret before distribution, add explicit confirmation before any document creation, and treat retrieved rule documents as untrusted content rather than agent instructions.
SKILL.md:52Untrusted Feishu Documents Are Treated as Authoritative Agent Instructions
videoclaw_lib.py:12Hard-Coded Feishu Application Secret Exposes Tenant API Credentials
videoclaw_cli.py:33Sensitive Document Content Is Passed Through Process Command-Line Arguments
This finding indicates the underlying implementation likely includes embedded Feishu credentials, direct SDK-based access, wiki resolution, and document write capabilities that are not transparently declared in the skill’s stated role. Hidden credentials and undeclared external-resource access materially increase the risk of unauthorized document access, secret exposure, and user deception about what the skill can do.
This finding indicates the underlying implementation likely includes embedded Feishu credentials, direct SDK-based access, wiki resolution, and document write capabilities that are not transparently declared in the skill’s stated role. Hidden credentials and undeclared external-resource access materially increase the risk of unauthorized document access, secret exposure, and user deception about what the skill can do.
The CLI exposes a write path that can create or modify Feishu documents even though the skill is described primarily as a document-reading assistant for generating editing scripts. In an agent context, unexpected write capability materially expands the action surface: a prompt, tool misuse, or indirect instruction could cause external state changes, data tampering, or unauthorized document creation.
The code contains hardcoded Feishu APP_ID and APP_SECRET directly in source. Embedded secrets are highly sensitive because anyone with code access can reuse them to obtain tenant access tokens, read accessible documents, and create or modify Feishu content within the app's granted scope.
The skill metadata emphasizes a constrained document-reading workflow, but the library also exposes a writer that creates and populates remote Feishu documents. This expands the capability from read-only processing to external state modification, which can lead to unanticipated data exfiltration, persistent output creation, or abuse of the bound Feishu tenant if invoked without clear user authorization.
The skill exposes exec and explicitly instructs running a local Python CLI that accesses external Feishu resources, but it declares no tool scope or permissions boundary. This creates an opaque capability surface where networked document access and local command execution are available without clear restriction, increasing the risk of overbroad data access or abuse.
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
---
name: videoclaw-pro
model: kimi/kimi-k2.5
description: |
视频剪辑脚本执行助手(增强版)- 根据飞书提示词库和直播素材文字档生成剪辑建议脚本。
支持飞书文档(docx)和知识库(wiki)链接,自动解析权限问题。
The workflow directs the agent to create and write a new Feishu document automatically, but there is no requirement to obtain explicit user confirmation immediately before modifying an external system. That can lead to unintended document creation, overwriting, or disclosure of generated content into shared workspaces.
The inline module documentation states the CLI supports Feishu document read/write functionality. This conflicts with the manifest's documented intent, which frames the CLI requirement specifically around document reading and script generation rather than mutation of remote Feishu content.
The CLI performs external write operations without any warning, dry-run, or confirmation step. In an agent-driven environment, this makes accidental or prompt-induced writes much more likely, allowing unreviewed content to be pushed to Feishu and causing integrity or workflow disruption.
The module documentation states '增强版飞书文档读写', advertising both reading and writing capabilities. That conflicts with the manifest's explicit instruction that all document reading must go through a Python CLI script and its overall description as a script-generation assistant based on supplied documents, not a general Feishu read/write library.
The module description and user-facing strings are written solely in Chinese, signaling a fixed language/locale experience without opt-in or explanation. The policy requires flagging language or locale constraints when the skill forces a specific language without giving the user a choice or documenting a justified regional scope.
The _get_access_token function performs an HTTP POST to Feishu and transmits app_id and app_secret, but its docstring only mentions token caching and does not warn that credentials are being sent to a remote service. Under the code-file criteria, network calls that transmit system or credential data should have some visible disclosure unless clearly warned elsewhere.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
if _cached_access_token and time.time() < _cached_token_expire:
return _cached_access_token
resp = requests.post(
'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal',
json={'app_id': APP_ID, 'app_secret': APP_SECRET}
)
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
if _cached_access_token and time.time() < _cached_token_expire:
return _cached_access_token
resp = requests.post(
'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal',
json={'app_id': APP_ID, 'app_secret': APP_SECRET}
)
Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.
# 需要下载 docx 文件并解析
access_token = _get_access_token()
headers = {'Authorization': f'Bearer {access_token}'}
resp = requests.get(
f'https://open.feishu.cn/open-apis/drive/v1/files/{document_id}/download',
headers=headers
)
feishu_doc_writer creates a new Feishu document and uploads the provided content, which is a write operation affecting user data in an external system. Although there are execution logs, they do not clearly warn that user-provided content will be persisted remotely, and the docstring describes functionality without a safety disclosure.
The module description and command help text are presented in Chinese, and the CLI does not offer any language selection or fallback. This creates a language policy concern because the skill imposes a specific locale on all users without an explicit opt-in or documented justification.
The usage descriptions for core commands include Chinese-only text, and the script provides no mechanism for users to choose another language. This is a natural-language policy issue because the interface enforces one locale by default without opt-in.
The error strings shown when required arguments are missing are written in Chinese, and there is no configurable locale behavior. This forces a language choice on users rather than offering one or documenting a justified locale restriction.
No suspicious patterns detected.