Back to skill

Security audit

feishu-agents

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it claims, but it handles sensitive Feishu credentials and restarts the gateway with insufficient guardrails.

Review before installing or using. Only provide Feishu credentials you are prepared to store in OpenClaw configuration, rotate any secret exposed in command history or logs, validate Agent names to a strict safe character set, and explicitly approve any agent creation, config mutation, and Gateway restart.

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:29
Finding

Command Injection Through Unsanitized Agent Name

Content
View full analysis
``` ```bash # Add the Feishu account to the configuration openclaw config set "channels.feishu.accounts..appId" "" openclaw config set "channels.feishu.accounts..appSecret" "" # Bind the Agent to the Feishu account openclaw agents bind --agent --bind feishu: ``` If the executing agent performs textual substitution through a shell, an attacker can provide an Agent ID containing shell metacharacters, command substitutions, whitespace, or quote characters. For example, a value containing `;`, `&&`, `$()`, or a double quote could escape the intended argument or quoted configuration key and introduce an additional command. Quoting alone would not be sufficient if commands are constructed as shell strings. The value must be validated against the actual Agent ID grammar and passed as a discrete process argument without shell interpretation. ### Attack Path 1. An attacker triggers the skill by supplying a Feishu App ID and App Secret. 2. When asked for the target Agent ID, the attacker provides a malicious value containing shell syntax. 3. The skill substitutes that value into `openclaw agents add`, `openclaw config set`, or `openclaw agents bind`. 4. The command is executed through a shell without strict validation or argument-safe invocation. 5. The injected shell expression executes with the operat ...[truncated 577 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:42
Finding

Feishu App Secret Exposed Through Command-Line Arguments

Content
View full analysis
.appId" "" openclaw config set "channels.feishu.accounts..appSecret" "" ``` Passing a secret on the command line can disclose it through shell history, process inspection, execution logs, terminal capture, audit records, error telemetry, or orchestration metadata. Double quotes only affect shell parsing; they do not conceal the resulting argument from the operating system or logging layers. The secret is subsequently expected to be stored in `openclaw.json`. The skill provides no requirements for restrictive file permissions, encryption, secret-store integration, log redaction, or deletion of transient plaintext copies. ### Attack Path 1. A user supplies a valid Feishu App Secret to the skill. 2. The skill interpolates the secret into the `openclaw config set` command. 3. The shell or command-execution layer records the complete command, or another process inspects the command-line arguments while it is running. 4. A local user, operator, log reader, monitoring component, or later attacker with access to those records retrieves the plaintext secret. 5. The exposed credential can be used against the associated Feishu application within the permissions granted to that application. ### Impact Assessment Exposure compromises the confidentiality of the Feishu application credential. An attacker who obtains it may authenticate as the application and exercise its enabled API permissions, potentially including bot message operations and access authorized by the application's configured scopes. The ...[truncated 189 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly instructs users to provide an App Secret and states it will automatically modify configuration and restart the Gateway, but it does not warn that sensitive credentials will be stored or that service-affecting actions will occur. In a credential-handling automation skill, this omission increases the risk of accidental secret exposure, uninformed consent, and unexpected operational disruption.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The binding commands write the App ID and App Secret directly into persistent configuration via openclaw config set, but the skill does not disclose that credentials will be stored. This is dangerous because users may reveal production secrets without understanding retention, access controls, backup exposure, or audit implications.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill instructs an unconditional openclaw gateway restart without warning about downtime or active session interruption. In an operational environment, restarting a gateway can disrupt connected services, cause message loss or degraded availability, and should not occur without explicit user awareness and approval.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.