Back to skill

Security audit

Config Validator

Security checks for vulnerabilities and agentic risk

Overview

This is a documentation-only OpenClaw configuration reference skill, with some safety-warning gaps users should notice before copying examples.

Install only if you want a Chinese OpenClaw configuration reference. Before applying examples, generate your own secrets, avoid committing tokens or service-account files, keep gateway binding on localhost unless remote access is deliberate, and review elevated tools, heartbeat recipients, and public funnel settings carefully.

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 (1)

T09 · Insecure Skill Coding Practices

Warning
Location
schema-gateway.md:9
Finding

Hardcoded Token-Shaped Credential in Gateway Configuration Example

Content
View full analysis

Vulnerability Details

File Location: schema-gateway.md, lines 9–14
Vulnerability Type: Hardcoded authentication secret in a copyable configuration example
Risk Level: Medium

Vulnerable Code

json5
auth: {
  mode: "token",
  token: "c91c184aabe5ac6bb4e11de46770dbf10ae9e2636cbd771e",
},

Technical Analysis

The gateway authentication example contains a concrete 48-character hexadecimal token rather than an unmistakable placeholder or a reference to a protected secret source. The repository does not establish whether this token is active, so it must not be characterized as a confirmed leaked production credential. Nevertheless, presenting a fixed, credential-shaped value in directly copyable configuration creates an insecure deployment pattern.

A user may copy the example without generating a unique secret. Any deployment retaining this published value would use a credential known to everyone with access to the project. The risk becomes exploitable if the gateway is reachable through a LAN binding, tailnet, tunnel, public interface, or another forwarding mechanism.

Attack Path

  1. An operator copies the documented gateway configuration.
  2. The operator retains the published token instead of generating a unique credential.
  3. The gateway becomes reachable from an attacker-controlled network path.
  4. The attacker obtains the token from this public or shared project.
  5. The attacker submits the known token to the gateway authentication mechanism.
  6. If the copied token is accepted, the attacker gains the access granted to an authenticated gateway client.

Impact Assessment

Successful exploitation could permit unauthorized authenticated access to an affected OpenClaw gateway. The exact operations available would depend on the deployed gateway configuration, enabled tools, agent permissions, channel integrations, and network exposure.

The issue does not itself prove administrative or operating-system privilege escalation. Ho ...[truncated 193 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace the concrete token with an explicit non-secret placeholder, for example:
json5
auth: {
  mode: "token",
  token: "${OPENCLAW_GATEWAY_TOKEN}",
},
  1. Document how to generate a unique, cryptographically secure token for every deployment.
  2. Store the token in an environment variable, secret manager, or protected configuration facility rather than committing it to source control.
  3. Add a warning that example credentials must never be reused.
  4. Ensure generated secrets have sufficient entropy and are rotated if exposure is suspected.
  5. Restrict gateway binding to loopback unless remote access is explicitly required.
  6. Require authentication for every remotely reachable gateway and apply network-level access controls.
  7. Add documentation linting or secret-scanning checks that reject concrete credential-shaped values in examples.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The entire skill description is written in Chinese and does not indicate that users may choose another language or locale. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy concern unless the locale restriction is explicitly justified.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill’s trigger conditions are very broad, covering common activities like checking whether a field exists, querying valid values, validating configuration, and even consulting before any config change. In an agent system, this can cause the skill to activate for routine configuration-related prompts beyond its intended scope, increasing prompt-surface area and the chance that adversarial or irrelevant skill guidance influences the model’s behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest sets the skill language to "zh-CN", which indicates a fixed locale requirement. The file does not provide any indication that users can choose another language or explicitly opt into this locale, which may violate language/locale policy constraints.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file is almost entirely written in Chinese, including headings, field descriptions, and command guidance, but it does not indicate that the user opted into Chinese or that the skill is intentionally limited to a Chinese-speaking audience. The policy for natural-language content requires avoiding forced language or locale constraints unless choice or justification is provided.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown section describes a heartbeat feature that can periodically send content to external channels via fields like to, target, and prompt, but it does not warn users that agent-generated content may be transmitted off-platform or to third-party messaging services. Because this behavior could affect user data and privacy, the skill description should disclose it clearly.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file documents sensitive configuration fields such as botToken, token, and serviceAccountFile, but it does not include any warning about keeping credentials secret, avoiding committing them to source control, or protecting credential files. Because SQP-2 applies to markdown files when descriptions omit warnings about privacy or system-integrity-impacting behavior, the lack of any caution around these secrets is a valid documentation safety gap.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

This markdown documents bind values that expose the gateway on 0.0.0.0, Tailscale, or all interfaces, but it does not warn users that these settings can make the service reachable beyond localhost. For markdown files, SQP-2 applies when descriptions omit warnings about behaviors that could affect privacy or system integrity.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The description states that funnel enables public access, but it does not include a warning about the security and privacy implications of exposing the gateway to the internet. This is a user-impacting network behavior that should be called out explicitly in markdown guidance.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file documents safety-sensitive capabilities including elevated access, shell command execution, process management, and file write/edit operations. While it labels some tools as needing a sandbox, it does not provide a clear user-facing warning about the risks of privilege escalation or destructive file/system changes.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The file presents the operational guidance primarily in Chinese, including field explanations and usage instructions, without indicating that language selection is optional or that the document is intentionally region-specific. This can violate language or locale policy when users are not given a choice or opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The file presents operational guidance entirely in Chinese, with no indication that users can choose another language or locale. Under SQP-3, forcing a specific language without opt-in is a natural-language policy concern unless clearly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file presents all headings, field descriptions, and guidance in Chinese, which can impose a language/locale constraint on users without explicit opt-in. The policy allows locale constraints when they are justified or optional, but this file does not state either.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file uses Chinese throughout, including headings and field explanations, with no opt-in or alternative language guidance in the file itself. Under the language/locale policy rule, forcing a specific language without user choice can be a policy violation unless the locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

A language/locale policy issue exists when content effectively assumes a specific language without opt-in or justification. This file is primarily in Chinese with some English labels and includes a zh-CN documentation link, but does not explain that the skill or documentation is intentionally region-specific or provide an alternative language option.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.