Back to skill

Security audit

快速部署飞书的多个Bot军团,只需要在飞书配置好机器人,然后就可以马上创建并联动

Security checks for vulnerabilities and agentic risk

Overview

This skill is a real OpenClaw deployment helper, but it handles secrets and changes live bot routing in ways that need careful review before use.

Install only if you are comfortable giving the skill authority to modify OpenClaw agents, Feishu channel credentials, route bindings, and gateway state. Use it in a controlled admin environment, validate bot IDs and other inputs strictly before execution, avoid pasting secrets into normal chat when possible, and review/remove old OpenClaw config backups that may contain credentials.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:44
Finding

Shell Command Injection Through Unvalidated Deployment Parameters

Content
View full analysis
\ --workspace /root/.openclaw/workspace- \ --model \ --non-interactive ``` ```bash openclaw channels add \ --channel feishu \ --account \ --name "<显示名称>" openclaw config set "channels.feishu.accounts..appId" "" openclaw config set "channels.feishu.accounts..appSecret" "" ``` ```bash openclaw agents bind \ --agent \ --bind "feishu:" ``` ### Technical Analysis The skill instructs the agent to extract the Agent ID, model identifier, display name, Feishu application ID, and Feishu application secret from user-controlled input and interpolate them directly into shell commands. The document does not require strict input validation, allowlisting, or shell-safe argument construction. Placing a value inside double quotes does not make arbitrary shell input safe. Shell constructs such as command substitutions remain active inside double quotes, while embedded quotation marks and shell metacharacters can terminate an argument and introduce additional commands. The Agent ID is also inserted into configuration keys, workspace paths, account identifiers, and route bindings. A malicious value may therefore affect both shell parsing and the structure of the OpenClaw configuration. ### Attack Path 1. An attacker submits a Bot deployment request containing shell syntax in a supported field, such as the display name, model, Agent ID, `appId`, or `appSecret`. 2. For example, an attacker supplies an `appSecret` containing a command substitution such as `$(malicious-command)`. 3. The agent substitutes that value into the documented command: ```bash openclaw config set "channels.feishu.accounts.agent.appSecret" "$(malicious-command ...[truncated 1347 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:40
Finding

Persistent Plaintext Backups of Credential-Bearing Configuration

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly asks users to provide Feishu appId and appSecret and then writes them directly into configuration, which risks secret exposure through prompts, logs, transcripts, shell history, or config files. Because the workflow normalizes handling raw credentials as plain input, it increases the chance of accidental leakage or misuse of sensitive tokens.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The workflow performs persistent configuration changes, account creation, route binding, and a gateway restart without a prominent upfront warning or explicit confirmation step. These actions can alter production messaging behavior, disrupt service availability, or overwrite existing routing and account state if triggered on the wrong host or with malformed input.

Content

No source excerpt is available for this finding.

Scope Creep

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill’s documented execution path relies on multiple openclaw operations such as gateway restart, agent listing, and config inspection that are not clearly constrained by the manifest’s declared tool permissions. This creates a mismatch between advertised behavior and declared execution boundaries, which can lead to over-privileged execution, policy bypass, or unsafe fallback handling by the agent runtime.

Content

No source excerpt is available for this finding.

Scope Creep

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The troubleshooting section instructs use of additional commands such as ls and various diagnostic openclaw subcommands that are outside the declared allowed-tools. Even if presented as troubleshooting only, these instructions expand the practical capability surface and may encourage execution paths not covered by policy review.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The description and command format are written to expect Chinese-language interaction, and no alternative language option or opt-in is provided. Under the stated policy, forcing a specific language without user choice can be a natural-language policy issue unless the locale limitation is explicit and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.