Back to skill

Security audit

clawbba-api

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a real ClawBBA/OpenClaw integration, but it uses unverified remote installation and persistent OpenClaw runtime changes that deserve manual review before installation.

Review this skill as a high-impact installer, not just a model/API connector. Do not run the curl-to-bash command unless you trust the publisher and are comfortable with it modifying OpenClaw configuration, patching OpenClaw runtime files, storing the API key locally, and changing future agent behavior. Prefer a signed, checksum-verified installer with a clear file-change report and rollback path.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Tool Hijacking and SpoofingModifies or replaces tools so legitimate-looking calls execute attacker logic
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (3)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:97
Finding

Unauthenticated Remote Installer and Release Payload Execution

Content
View full analysis
&2 exit 1 fi if ! unzip -tq "${STAGE}/${ZIP_NAME}" >/dev/null 2>&1; then echo "error: ${ZIP_NAME} is not a valid zip (site may not have published this version yet)" >&2 echo " URL: ${ZIP_URL}" >&2 exit 1 fi echo "-> Extract ..." unzip -qo "${STAGE}/${ZIP_NAME}" -d "$STAGE/extract" if [[ ! -f "${STAGE}/extract/SKILL.md" ]]; then echo "error: invalid zip layout (SKILL.md must be at zip root)" >&2 exit 1 fi EXTRACT_ROOT="${STAGE}/extract" MANIFEST_JSON="${EXTRACT_ROOT}/references/openclaw-release-manifest.json" if [[ ! -f "$MANIFEST_JSON" ]] && [[ -f "${EXTRACT_ROOT}/scripts/write-openclaw-release-manifest-json.mjs" ]]; then echo "-> Generate release manifest (legacy zip) ..." (cd "$EXTRACT_ROOT" && node scripts/write-openclaw-release-manifest-json.mjs) || true fi ``` From `scripts/install.sh:146-159`: ```bash export CLAWBBA_SKILL_EXTRACT_ROOT="$EXTRACT_ROOT" node "${EXTRACT_ROOT}/scripts/openclaw-align-version.mjs" "$EXTRACT_ROOT" source "${STAGE}/extract/scripts/openclaw-detect-version.sh" if ! openclaw_detect_version_from_skill "${STAGE}/extract" 1; then exit 1 fi ``` ### Technical Analysis The docume ...[truncated 2636 chars]
Remediation
View remediation

T07 · Tool Hijacking and Spoofing

Error
Location
scripts/ensure-openclaw-patches.sh:26
Finding

In-Place Modification of Trusted OpenClaw Tool Runtime

Content
View full analysis
Apply ClawBBA runtime patches (profile=${OPENCLAW_COMPAT_PROFILE_ID}) ..." bash "$SKILL_DIR/scripts/ensure-openclaw-patches.sh" --install ``` From `scripts/ensure-openclaw-patches.sh:26-45`: ```bash apply_patches() { node "$SCRIPT_DIR/patch-flux-critical.mjs" node "$SCRIPT_DIR/patch-openclaw-media-delivery.mjs" node "$SCRIPT_DIR/repair-video-validate-runtime.mjs" } run_verify() { local extra=() if [[ "$INSTALL" -eq 1 ]]; then extra=(--install) elif [[ "$FLUX_ONLY" -eq 1 ]]; then extra=(--flux-only) fi CLAWBBA_INSTALL_SILENT_HINT=1 node "$SCRIPT_DIR/verify-openclaw-patch.mjs" "${extra[@]}" } apply_patches if run_verify; then if [[ "$INSTALL" -eq 1 ]]; then node "$SCRIPT_DIR/audit-openclaw-compat.mjs" --strict || exit 1 fi exit 0 fi ``` From `scripts/repair-video-validate-runtime.mjs:73-80`: ```javascript const ensure = ensureMediaToolValidateRuntime(toolsPath) status += `,mediaValidate:${ensure}` if (!videoValidateRuntimeIsHealthy(fs.readFileSync(toolsPath, 'utf8'))) { const src2 = fs.readFileSync(toolsPath, 'utf8') const out2 = injectModuleLevelMediaRuntime(src2) if (out2 !== src2) { fs.writeFileSync(toolsPath, out2) status += ',moduleRuntime:patched' } } ``` ### Technical Analysis The Skill does not limit itself to registering a provider or using a documented extension interface. It discovers installed OpenClaw distribution bundles and rewrites their JavaScript code in place. The affected runtime includes trusted image and video tool behavior, validation logic, dispatch behavior, request construction, and media delivery. Once p ...[truncated 2269 chars]
Remediation
View remediation

T01 · Skill Instruction Hijacking

Warning
Location
references/openclaw-agent-behavior.md:5
Finding

Persistent Agent Instruction Injection and Provider Disclosure Suppression

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (37)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The description focuses on messaging/model access while the referenced behavior includes packaging, artifact copying, manifest generation, and installer/version manipulation. Even if some of this is build-time or operational, undisclosed filesystem and installer-manipulation behavior broadens the attack surface and reduces transparency for users evaluating the skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

The description focuses on messaging/model access while the referenced behavior includes packaging, artifact copying, manifest generation, and installer/version manipulation. Even if some of this is build-time or operational, undisclosed filesystem and installer-manipulation behavior broadens the attack surface and reduces transparency for users evaluating the skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description focuses on messaging/model access while the referenced behavior includes packaging, artifact copying, manifest generation, and installer/version manipulation. Even if some of this is build-time or operational, undisclosed filesystem and installer-manipulation behavior broadens the attack surface and reduces transparency for users evaluating the skill.

Content

No source excerpt is available for this finding.

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

The skill instructs users to fetch a remote script over the network and pipe it directly into bash, causing immediate execution without inspection, integrity verification, or pinning. If the server, CDN, DNS, TLS trust chain, or hosting account is compromised, arbitrary code can run on the user's machine with the user's privileges and access to local secrets such as the exported API key.

Content

Scanner excerpt · SKILL.md (reported line 36)May include surrounding context.

bash
export CLAWBBA_API_KEY='cbb_sk_live_你的密钥'
curl -fsSL https://www.clawbba.com/downloads/install-clawbba-api.sh | bash
openclaw gateway restart

Chaining Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

Piping command output directly into bash is a classic command-chaining abuse pattern because it removes review and validation checkpoints between retrieval and execution. In this skill's context, the danger is amplified by the installer's stated ability to write configuration, inject patches, and restart the gateway, giving a single compromised response broad control over the local runtime.

Content

Scanner excerpt · SKILL.md (reported line 36)May include surrounding context.

bash
export CLAWBBA_API_KEY='cbb_sk_live_你的密钥'
curl -fsSL https://www.clawbba.com/downloads/install-clawbba-api.sh | bash
openclaw gateway restart

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

This is the same unsafe remote-code execution pattern in the English instructions: network-fetched content is streamed directly into the shell. Because the skill also expects local configuration changes and service restarts, a compromised installer could persist changes, alter OpenClaw behavior, or steal credentials with little visibility to the user.

Content

Scanner excerpt · SKILL.md (reported line 99)May include surrounding context.

bash
export CLAWBBA_API_KEY='cbb_sk_live_YOUR_KEY'
curl -fsSL https://www.clawbba.com/downloads/install-clawbba-api.sh | bash
openclaw gateway restart

Chaining Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

The same direct | bash chaining appears in the English section and enables opaque execution of remote commands. Since the skill is framed as a routine integration, users may underestimate that they are granting immediate shell execution to third-party hosted content, which substantially increases the risk of system compromise and secret theft.

Content

Scanner excerpt · SKILL.md (reported line 99)May include surrounding context.

bash
export CLAWBBA_API_KEY='cbb_sk_live_YOUR_KEY'
curl -fsSL https://www.clawbba.com/downloads/install-clawbba-api.sh | bash
openclaw gateway restart

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
87% confidence
Finding

The document instructs operators to run a wildcard deletion command against session lock files: rm -f ~/.openclaw/agents/main/sessions/*.jsonl.lock. Even though scoped to a specific directory, destructive shell commands in a skill/integration spec can be copied verbatim and may bypass safer recovery steps, causing loss of coordination state, masking underlying concurrency bugs, or being adapted unsafely in adjacent contexts. In this skill context, the danger is elevated because the command is presented as routine troubleshooting guidance for operational incidents.

Content

Scanner excerpt · references/openclaw-integration-spec.md (reported line 117)May include surrounding context.

md
| `No image-generation provider registered for black-forest-labs` | bare `vendor/model` 未映射到 openrouter provider | 运行 `patch-openclaw-media-delivery.mjs`(含 `clawbba-openrouter-vendor-id`);或 Agent 传 `openrouter/black-forest-labs/flux.2-pro` |
| 日志有 `MEDIA:` 界面无图 | webchat 被 message_tool_only 或 session lock | verify patch;清 `*.jsonl.lock`;新开会话 |
| Agent 说「发送失败我重新生成」 | 违反 redeliver 规则 | 更新 skill 1.2+;禁止二次 image_generate |
| `session file locked` | 同 session 并发写 transcript | `rm -f ~/.openclaw/agents/main/sessions/*.jsonl.lock` + restart + 新会话 |
| 指定 flux 却变成 gemini | Agent 未传 `model`;或 OpenClaw runtime patch 未安装 | 见 `media-dispatch-spec.md` §5;`verify-openclaw-patch.mjs` 全部 ✓ |
| 写了 16:9 横图却是 9:16 竖图 | 未传 `aspectRatio`;或 OpenRouter provider 未 patch `buildImageConfig` | 同上 |

External Script Fetching

High
Category
Supply Chain
Confidence
99% confidence
Finding

The script advertises a curl-pipe-to-bash installation flow, which executes remote code immediately without review or integrity validation. This is a classic supply-chain hazard: if the hosting site, DNS, TLS termination, or distribution path is compromised, arbitrary code runs with the user's privileges.

Content

Scanner excerpt · scripts/install.sh (reported line 3)May include surrounding context.

sh
#!/usr/bin/env bash
# ClawBBA clawbba-api 一键安装 + 配置(OpenClaw 机器上运行)
# 公网: curl -fsSL https://www.clawbba.com/downloads/install-clawbba-api.sh | bash
set -euo pipefail

VERSION="${CLAWBBA_SKILL_VERSION:-2.0.31}"

Chaining Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The pipe into bash chains network retrieval directly into command execution, eliminating the user's opportunity to inspect content or verify authenticity. In the context of an installer that later performs host modifications and patching, this is especially dangerous because compromise would immediately grant broad control over the OpenClaw environment.

Content

Scanner excerpt · scripts/install.sh (reported line 3)May include surrounding context.

sh
#!/usr/bin/env bash
# ClawBBA clawbba-api 一键安装 + 配置(OpenClaw 机器上运行)
# 公网: curl -fsSL https://www.clawbba.com/downloads/install-clawbba-api.sh | bash
set -euo pipefail

VERSION="${CLAWBBA_SKILL_VERSION:-2.0.31}"

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

The installer tells users to re-run installation using curl piped to bash, reinforcing an unsafe execution pattern. Encouraging operators to habitually execute remote scripts increases the chance of compromise from a tampered distribution channel.

Content

Scanner excerpt · scripts/install.sh (reported line 23)May include surrounding context.

sh
echo "" >&2
  echo "Then run:" >&2
  echo "  export CLAWBBA_API_KEY='cbb_sk_live_YOUR_KEY'" >&2
  echo "  curl -fsSL ${INSTALL_BASE}/install-clawbba-api.sh | bash" >&2
  exit 1
fi

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

The upgrade hint again instructs users to fetch and execute a remote script directly in the shell. Repetition of this pattern makes unsafe operational behavior part of the normal maintenance flow and magnifies supply-chain risk over time.

Content

Scanner excerpt · scripts/install.sh (reported line 88)May include surrounding context.

sh
2. Re-install ClawBBA
     export CLAWBBA_API_KEY='cbb_sk_live_YOUR_KEY'
     curl -fsSL ${INSTALL_BASE}/install-clawbba-api.sh | bash

  3. Restart Gateway
     openclaw gateway restart

Chaining Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

This maintenance instruction repeats the same network-to-shell chaining pattern. Because the script's scope includes config writes, runtime patching, and service restart, direct chained execution materially raises the risk of host takeover from any compromised upstream distribution point.

Content

Scanner excerpt · scripts/install.sh (reported line 88)May include surrounding context.

sh
2. Re-install ClawBBA
     export CLAWBBA_API_KEY='cbb_sk_live_YOUR_KEY'
     curl -fsSL ${INSTALL_BASE}/install-clawbba-api.sh | bash

  3. Restart Gateway
     openclaw gateway restart

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script invokes a version-alignment step that can modify the host OpenClaw installation before proceeding. A skill installer should not silently upgrade, downgrade, or otherwise change core platform components, because that grants administrator-level control well beyond the stated purpose and can introduce supply-chain or stability risks.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill clearly expects environment access, network access, and shell execution (setup.sh, curl | bash, gateway restart), yet it declares no explicit tool scope or permission boundaries. That omission weakens reviewability and least-privilege controls, making it easier for a skill with installation and patching behavior to obtain broader execution than users may realize.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Line L140 instructs the agent to 'only call it ClawBBA' and avoid mentioning third-party upstream brand names. This imposes a fixed communication policy on the agent rather than offering user choice, which fits the language/presentation policy violation category.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file presents all troubleshooting instructions in Chinese and does not indicate that users may choose another language or that the skill is intentionally limited to a Chinese-speaking audience. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The natural-language guidance and workflow labels are written as mandatory instructions in Chinese, such as requiring the agent to confirm options and assemble prompts in that language, with no indication that the user may choose another language. This creates a locale/language policy risk because the file imposes a specific language without an explicit opt-in or alternative.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The document instructs agents to directly call external image/video generation providers and even references local inbound image paths, but it does not require any disclosure, consent, or privacy warning before transmitting prompts or user-supplied media off-platform. In this skill context, that omission is meaningful because prompts and reference images can contain sensitive personal, business, or copyrighted content, and the file normalizes one-shot forwarding to many third-party model endpoints.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The document is written as a prescriptive skill specification entirely in Chinese and repeatedly defines user utterance templates in Chinese, such as "请使用 ClawBBA 生成图片能力" and mappings from Chinese phrasing to tool parameters. There is no stated opt-in, language selection, or justification that this skill is limited to a Chinese-speaking or region-specific context, which creates a natural-language locale policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The entire specification is written in Chinese and repeatedly frames agent behavior and user utterances only in Chinese (for example, user phrases like 模型 xxx). Under the policy, forcing a specific language or locale without opt-in is a natural-language policy violation unless the constraint is explicitly justified as region-specific, which this file does not do.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The comment claims the logger never records secrets or PII, but the function serializes caller-controlled entry fields and arbitrary data directly to disk without redaction or field allowlisting. In an API/instant-messaging integration context, debug entries can easily include API keys, chat contents, user identifiers, or tokens, so this misleading guarantee can cause operators and developers to expose sensitive data inadvertently.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The module comment makes a stronger safety guarantee than the implementation actually enforces: callers can set an arbitrary log path via CLAWBBA_DEBUG_LOG_PATH, and fallback logging may occur in the system temp directory rather than under the user's home directory. This can cause debug data to be written to less trusted or more broadly accessible locations, increasing the risk of unintended disclosure or tampering, especially on shared systems.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 · scripts/install.sh (reported line 115)May include surrounding context.

sh
trap cleanup EXIT

echo "-> Download ${ZIP_URL} ..."
curl -fsSL "$ZIP_URL" -o "${STAGE}/${ZIP_NAME}"

if [[ ! -s "${STAGE}/${ZIP_NAME}" ]]; then
  echo "error: empty download: ${ZIP_URL}" >&2

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The installer performs destructive local changes, writes configuration, applies runtime patches, restarts the gateway, and executes multiple bundled scripts. That is materially broader than a simple API-integration skill and increases the blast radius: a compromised package or unexpected script behavior could alter host behavior, persistence, and service availability.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/verify-openclaw-runtime.mjs:26