Back to skill

Security audit

Super Clawcompany

Security checks for vulnerabilities and agentic risk

Overview

This skill appears intended for AI-assisted coding, but it needs review because it can spawn agents that modify a project while handling API keys with weak safeguards.

Install only if you are comfortable with an external-agent coding workflow that may modify files in the target project. Use dry-run first, avoid verbose logging with real credentials, do not echo GLM_API_KEY, restrict the project path to a disposable or version-controlled directory, and review generated diffs manually because the built-in review gate can approve failures.

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

T09 · Insecure Skill Coding Practices

Warning
Location
src/index.ts:39
Finding

GLM API Key Exposed Through Verbose Configuration Logging

Content
View full analysis
0 && !config.dryRun) { throw new ClawCompanyError( '配置验证失败', 'CONFIG_ERROR', { errors } ) } // 2. 初始化日志 logger = new Logger('ClawCompany', config.verbose ? LogLevel.DEBUG : LogLevel.INFO) logger.info('🦞 开始工作...') logger.debug('配置:', config) ``` The sensitive value enters the logged object through the following configuration code: ```ts if (process.env.GLM_API_KEY) { config.glmApiKey = process.env.GLM_API_KEY } ``` ### Technical Analysis `loadConfig()` copies `GLM_API_KEY` from the process environment into the `glmApiKey` property of the configuration object. When verbose mode is enabled, `logger.debug()` passes the complete object to `console.log()` without redaction. Consequently, the API key is emitted in plaintext to standard output. Standard output is frequently retained by CI systems, terminal session recorders, container logging drivers, process supervisors, support bundles, and centralized log aggregation platforms. Verbose diagnostics do not require disclosure of authentication credentials. Logging the complete configuration therefore exceeds the minimum information needed for the declared debugging functionality. The same vulnerable behavior is present in the generated runtime artifact at `dist/index.js:28`. ### Attack Path 1. A user configures a valid `GLM_API_KEY` in the process environment. 2. The user runs the TypeScript/compiled implementation with verbose logging enabled, such as through the `--verbose` option. 3. `loadConfig()` copies the key into `config.glmApiKey`. 4. `logger.debug('配置:', config)` serializes or displays the com ...[truncated 936 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
README.md:217
Finding

Troubleshooting Documentation Prints the Complete API Key

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
src/index.ts:246
Finding

Security Review Fails Open on Invalid or Unavailable Agent Output

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (44)

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The README states the skill is triggered by broad natural-language requests like 'create a...', 'build a...', 'implement a...', or 'develop a...'. These are common phrases in normal assistant interactions, so the skill could activate unintentionally and start a multi-agent code-generation workflow that writes files or makes external API calls without the user explicitly intending to invoke this specific skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The declared description promises a broad autonomous software development platform with multiple agents and workflow automation. However, the actual code shown is only a TypeScript declaration file for a logger class. Logging can be a supporting utility, but this chunk by itself does not implement or evidence the claimed primary capabilities such as agent deployment, code generation, review automation, or app creation. Therefore the code behavior does not accurately match the declared purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description portrays a full AI-driven collaboration and software delivery system with PM, Developer, and Review agents. The actual code chunk is limited to a standalone logger module that writes formatted messages to the console. Logging can be a supporting component of such a system, but by itself it does not substantiate the declared primary purpose or capabilities. Therefore, this code chunk materially differs from the declared description and should be flagged as a mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description presents a full AI-driven multi-agent software development system, but the actual code shown only provides a console logger. It does not implement agent orchestration, software generation, workflow automation, prototyping, code review, or app creation capabilities. This is a materially different primary purpose, not merely a supporting implementation detail, because the entire supplied chunk is unrelated to the claimed core functionality except possibly as a generic utility.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The trigger phrases (create, build, implement, develop) are extremely broad and likely to match ordinary user requests. In the context of a skill that can spawn PM/Dev/Review agents and generate files, this creates a real risk of unexpected activation, unintended code generation, and actions the user did not explicitly consent to.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The usage section defines activation conditions in ambiguous natural language without clear limits. Because this skill is framed as an automation system for software development, vague triggers materially increase the chance of accidental invocation and downstream autonomous actions such as task decomposition, agent spawning, and code production.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: @hono/node-server==1.19.9 — 3 advisory(ies): CVE-2026-39406 (@hono/node-server: Middleware bypass via repeated slashes in serveStatic); GHSA-frvp-7c67-39w9 (Node.js Adapter for Hono: Path traversal in `serve-static` on Windows via encode); CVE-2026-29087 (@hono/node-server has authorization bypass for protected static paths via encode)

High
Category
Supply Chain
Confidence
95% confidence
Finding

@hono/node-server is present in the dependency tree through runtime-facing packages, and the advisories describe path traversal and middleware/authorization bypass in static file serving. In a skill ecosystem that may expose local web endpoints or MCP/HTTP adapters, this can permit access to protected files or bypass of intended route protections if static serving is enabled.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: @mariozechner/pi-coding-agent==0.58.0 — 3 advisory(ies): CVE-2026-54326 (Pi Agent: Potential XSS in HTML session exports via Markdown URL sanitization by); CVE-2026-54328 (Pi Agent: Predictable temporary extension install paths allow local privilege es); CVE-2026-54327 (Pi Agent: Race condition in Pi auth.json writes could expose stored credentials)

High
Category
Supply Chain
Confidence
93% confidence
Finding

@mariozechner/pi-coding-agent is a runtime dependency of openclaw and is directly relevant to an agentic coding skill, making its vulnerabilities materially relevant in context. The reported issues—XSS in session exports, predictable temporary extension paths, and credential exposure via auth.json race conditions—could expose secrets, enable local privilege abuse, or compromise users reviewing generated artifacts.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: brace-expansion==5.0.4 — 5 advisory(ies): CVE-2026-13149 (brace-expansion: DoS via exponential-time expansion of consecutive non-expanding); CVE-2026-33750 (brace-expansion: Zero-step sequence causes process hang and memory exhaustion); CVE-2026-45149 (brace-expansion: Large numeric range defeats documented `max` DoS protection) +2 more

High
Category
Supply Chain
Confidence
80% confidence
Finding

brace-expansion 5.0.4 appears in the dependency graph of runtime-adjacent tooling, and the cited issues are denial-of-service conditions triggered by pathological brace patterns. In an agent/coding skill that may process repository names, glob patterns, ignore files, or user-controlled path expressions, this could become exploitable for CPU or memory exhaustion if such inputs are passed through affected consumers.

Content

No source excerpt is available for this finding.

Ssd 4

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The Dev Agent prompt interpolates PM-produced task.title and task.description verbatim, so any injected instructions that survive the planning stage are granted a second chance to steer code generation. Because this agent runs with a project cwd and is expected to create files, the staged injection can lead to unauthorized code changes, unsafe file writes, or malicious implementation behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The entire natural-language README, including examples and user interaction text, is presented in Chinese with no indication that other languages are supported or that the locale restriction is intentional. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README describes the Dev Agent as generating code and saving files, but it does not prominently warn users that the skill modifies the local filesystem. In a tool that automates development tasks, silent or poorly disclosed file writes increase the risk of overwriting project files, introducing unsafe code, or changing the wrong directory when activation is accidental or paths are misconfigured.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · README.md (reported line 222)May include surrounding context.

echo $GLM_API_KEY

测试 API

curl -X POST https://api.z.ai/api/coding/paas/v4/chat/completions
-H "Authorization: Bearer $GLM_API_KEY"
-d '{"model":"glm-5","messages":[{"role":"user","content":"test"}]}'

text

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · README.md (reported line 222)May include surrounding context.

echo $GLM_API_KEY

测试 API

curl -X POST https://api.z.ai/api/coding/paas/v4/chat/completions
-H "Authorization: Bearer $GLM_API_KEY"
-d '{"model":"glm-5","messages":[{"role":"user","content":"test"}]}'

text

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill references environment-based secrets via GLM_API_KEY and describes executable code paths, but it does not declare any tool scope or permissions boundaries. In a multi-agent development skill, missing scope declarations can lead to overbroad access assumptions and unsafe handling of secrets or other capabilities.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill heading and descriptive content are presented in Chinese, and the examples and agent prompts continue in Chinese without stating that language is optional or user-selectable. This can violate a language/locale policy when the skill imposes a language without explicit opt-in.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill description promotes automated development workflows but does not clearly warn users that it may generate or modify files. In a coding assistant context, lack of disclosure can cause users to trigger repository changes unintentionally, which may introduce unsafe code, overwrite work, or create review gaps.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file instructs users to provide GLM_API_KEY but does not include credential-handling guidance or warnings about secret exposure to spawned agents. In a multi-agent system, unclear secret boundaries increase the risk of accidental leakage in prompts, logs, histories, or downstream tool contexts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

User requests are transmitted to an external agent service without a clear user-facing disclosure or consent flow, which can expose sensitive business requirements, credentials accidentally included in prompts, or proprietary project details. In an AI coding assistant context, users may reasonably provide confidential implementation details, making silent external sharing materially risky.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The doc comment and prompt describe the Dev Agent as implementing the task and creating runnable code files, but the actual function never inspects agent output for created files and simply returns a synthesized path based on the task title. This is an intent-code mismatch because the documented behavior claims concrete file creation while the implementation only reports a placeholder result.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The Dev Agent is instructed to create code files in the target project directory and may modify the filesystem without an explicit warning or confirmation beyond optional dry-run support. In a tool marketed for rapid project generation, this can lead to unintended overwrites, unsafe code introduction, or destructive changes in a sensitive repository when users do not fully appreciate that an external agent is acting on their workspace.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The Review Agent silently returns approval when JSON parsing fails, causing malformed or adversarial agent output to bypass the review gate entirely. Because this tool is intended to generate and modify project code automatically, fail-open review logic weakens the only explicit quality/security control in the workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This code constructs a user-visible error string with fixed Chinese text (失败) in the AgentError message. Because the file does not offer a language choice or document that the skill is intentionally Chinese-only, this is a natural-language locale policy concern under the rule for forced language without opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The TaskError constructor formats errors with hard-coded Chinese text (任务 ... 失败) rather than allowing locale selection. That creates a language-policy issue because users are forced into one language with no opt-in or documented regional justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The wrapper throws ClawCompanyError with a fixed Chinese message (失败) for all operations. This enforces a specific language in a general-purpose error path and does not show any user choice or locale-aware behavior.

Content

No source excerpt is available for this finding.