T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/send_to_feishu.sh:14- Finding
Feishu Credentials Are Exposed to an External Script Through Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill can generate illustrations, but it also sends files to Feishu using local app credentials and includes a hard-coded default recipient.
Review this skill before installing. Use it only if you intend generated images and prompts to leave your environment, verify the Feishu recipient every time, remove the hard-coded default open_id, and avoid giving it broad OpenClaw app credentials unless the delegated Feishu sender is trusted and integrity-controlled.
scripts/send_to_feishu.sh:14Feishu Credentials Are Exposed to an External Script Through Command-Line Arguments
scripts/send_to_feishu.sh:8Hard-Coded Default Feishu Recipient Can Cause Unintended Data Disclosure
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
print(f"Generating image with model: {model}")
try:
with urllib.request.urlopen(req) as resp:
status = resp.status
body = resp.read().decode("utf-8")
except urllib.error.HTTPError as e:
The skill description centers on illustration generation, but the documented workflow includes external delivery to Feishu and the static finding indicates undeclared credential/config access for that purpose. Hidden credential reads and outbound delivery materially expand the trust boundary and could expose generated or user-provided content to external systems without informed consent.
The skill description centers on illustration generation, but the documented workflow includes external delivery to Feishu and the static finding indicates undeclared credential/config access for that purpose. Hidden credential reads and outbound delivery materially expand the trust boundary and could expose generated or user-provided content to external systems without informed consent.
The skill advertises automatic upload and sending to Feishu but does not warn users that content will leave the local environment and be shared with an external service. This is dangerous because prompts, embedded text, or generated images may contain sensitive business or personal information that users did not intend to disclose.
The operational instructions directly invoke a script to send generated files to Feishu, yet no consent, approval, or data-sharing notice is required at the point of transfer. Hardwiring external delivery into the workflow can leak sensitive content and makes accidental or unauthorized sharing more likely.
The skill uses capabilities implying file access and network transmission but does not declare any explicit tool scope or permissions. That creates a transparency and containment gap: a user or platform may not realize the skill can read local files and send data externally, increasing the risk of unintended data access or exfiltration.
The trigger conditions are very broad and can activate on common image-related requests, increasing the chance the skill runs in contexts the user did not intend. Because the skill can also transmit outputs externally, overbroad triggering raises the risk of accidental invocation and unintended data handling.
The note says all text labels default to Chinese, which imposes a language preference without indicating that the user can choose another language. This is a natural-language policy concern because it forces a locale choice rather than making it configurable or user-directed.
This markdown file presents all user-facing instructions exclusively in Chinese, which can amount to a language/locale policy violation when no user opt-in or documented regional scope is provided. The file does not indicate that the skill is China-specific or that users may choose another language.
The entire skill file is written as mandatory Chinese-language instructions and does not provide any opt-in, alternative language option, or justification that the skill is region- or locale-specific. Under the policy, forcing a specific language without user choice is a natural-language policy violation.
The skill explicitly directs the agent to proceed with batch API execution after a single user choice, without a final confirmation at the point of network action. Because this causes external transmission and possible billable API usage, the lack of a clear warning and execution checkpoint increases the risk of unintended data disclosure or unwanted charges.
This section includes concrete commands for performing live batch requests to an external API, but it does not prominently warn that executing them sends user content off-platform and may create financial cost. In a skill that auto-generates and uploads images, this omission can lead users or agents to trigger external actions without fully informed consent.
Line L11 explicitly centers iteration guidance on Chinese readability ('中文不清楚') and prescribes Chinese-specific presentation constraints, while the document does not indicate that language selection is optional or limited to a justified Chinese-only context. This can constitute a language/locale policy issue because it implicitly assumes a fixed language rather than offering user choice.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
API_URL: https://api.zenmux.ai/v1/images/generations
MODEL: google/gemini-3-pro-image-preview
TOKEN: <从 openclaw.json 读取>
SIZE: 16:9
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
}
# Submit task
response = requests.post(url, json=payload, headers=headers)
data = response.json()
task_id = data["data"][0]["task_id"]
This markdown file includes natural-language instructions that require Chinese text in generated outputs, such as 'Chinese labels' and a 'clear Chinese title'. Under the policy, forcing a specific language without user opt-in is a language/locale policy violation.
The example explicitly requires a Chinese title and short Chinese labels, reinforcing a fixed-language constraint in the skill content. Because no opt-in or alternative language path is provided, this is a natural-language policy issue.
The prompt template explicitly requires 'Chinese labels' and a Chinese title, which imposes a specific language by default. Under the policy, forcing a language without user opt-in is a natural-language policy violation unless a justified locale constraint is documented.
The example continues the same language constraint by requiring a Chinese title and short Chinese labels. Because the file does not state that this skill is limited to Chinese-language contexts, this reads as a forced locale choice.
Line L15 states '强制:中文清晰可读', which mandates a specific language for the skill output. The policy allows language constraints only when the user is offered a choice or the locale restriction is clearly justified, neither of which appears in this file.
The instruction "强制:中文清晰可读" requires a specific language unconditionally. This is a natural-language locale policy issue because the file does not provide user opt-in, alternatives, or context showing that the template is explicitly limited to a Chinese-only use case.
The line explicitly requires content to be in Chinese ("中文清晰可读、无乱码"). Under the policy criteria, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly justified, which this template does not provide.
The file’s user-facing instructions and warning text are presented exclusively in Chinese, which imposes a specific language on users without indicating any option to choose another language. The policy explicitly flags language or locale constraints when they are forced without user opt-in.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
建议:把真实
TOKEN放在scripts/apimart.env(本地文件),不要写进文档/仓库或聊天记录。
API_URL: https://api.apimart.ai/v1/images/generations
MODEL: gemini-3-pro-image-preview
TOKEN: <YOUR_TOKEN>
RESOLUTION: 2K
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
建议:把真实
TOKEN放在scripts/apimart.env(本地文件),不要写进文档/仓库或聊天记录。
API_URL: https://api.apimart.ai/v1/images/generations
MODEL: gemini-3-pro-image-preview
TOKEN: <YOUR_TOKEN>
RESOLUTION: 2K
No suspicious patterns detected.