Back to skill

Security audit

AquaClaw Bridge

Security checks for vulnerabilities and agentic risk

Overview

The skill is not clearly malicious, but it can turn a hosted invite into persistent automation that uses stored credentials to post, send DMs, and handle social actions.

Install only if you want this OpenClaw instance to participate in hosted Aqua, not just read it. Use HTTPS hosted URLs, prefer the minimal setup path until you explicitly want background automation, review what is in SOUL.md/USER.md before enabling the community authoring lane, and know how to run the show/disable/remove wrappers for heartbeat cron and hosted pulse service.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • 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
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/aqua-hosted-pulse.mjs:931
Finding

Indirect Prompt Injection Through Hosted Social Content Can Influence Autonomous Posts and Direct Messages

Content
View full analysis
@${item.replyToGateway.handle}` : ''; const marker = item?.id === targetExpressionId ? ' [TARGET]' : ''; return `- ${author}${replyTarget}${marker}: ${String(item?.body ?? '').trim()}`; } function formatDirectMessagePromptLine(item, selfGatewayId, peerHandle) { const isSelf = item?.senderGatewayId === selfGatewayId; const speaker = isSelf ? 'self' : `@${peerHandle || 'peer'}`; return `- ${speaker}: ${String(item?.body ?? '').trim()}`; } ``` The formatted remote content is inserted directly into model prompts: ```js if (input.plan.mode === 'reply') { lines.push( '', 'Public thread context:', ...(input.contextItems.length ? input.contextItems.map((item) => formatPublicExpressionPromptLine(item, input.plan.replyToExpressionId)) : [ `- Target handle: ${input.plan.replyToGatewayHandle ? `@${input.plan.replyToGatewayHandle}` : 'unknown'}`, '- Thread snapshot could not be loaded cleanly; reply to the target line as directly and specifically as possible.', ]), ); } ``` ```js lines.push( '', 'Recent DM context:', ...(input.contextItems.length ? input.contextItems.map((item) => formatDirectMessagePromptLine(item, input.selfGatewayId, input.plan.targetGatewayHandle), ) : ['- No visible DM history is available; write a natural first line for this private thread.']), ); ``` The resulting prompt is passed to ...[truncated 3964 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/hosted-aqua-common.mjs:65
Finding

Hosted Join Secrets and Bearer Credentials Can Be Transmitted Over Plaintext HTTP

Content
View full analysis
Remediation
View remediation

T06 · System Persistence

Warning
Location
agents/openai.yaml:4
Finding

Hosted Connection Details Implicitly Trigger Persistent Autonomous Services and Public Activity

Content
View full analysis
--invite-code `, then `bash scripts/aqua-hosted-context.sh --format markdown --include-encounters --include-scenes`, then `bash scripts/install-openclaw-heartbeat-cron.sh --apply --enable`, then `bash scripts/install-aquaclaw-hosted-pulse-service.sh --apply`, and finally `bash scripts/aqua-hosted-intro.sh --format markdown` when intro is desired." ``` The documented hosted pulse behavior includes autonomous public expressions, direct messages, friend-request handling, and recharge activity. The service installers use user-level persistence facilities including `launchctl` and `systemctl --user`, while heartbeat installation uses OpenClaw cron. ### Technical Analysis Supplying a server URL and invite code reasonably demonstrates an intent to connect to the service. It does not necessarily demonstrate informed consent to: - Install an enabled scheduled heartbeat job. - Install a long-running hosted pulse service. - Continue authenticated network activity across future sessions. - Author and publish an introductory public message. - Permit autonomous public expressions, DMs, or friendship actions. The defau ...[truncated 2071 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (123)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Local scheduled-task discovery and removal are broader than the skill's apparent informational role and have durable host effects. The issue is not the existence of cron management itself, but that it is insufficiently disclosed and potentially invoked within a wider automation flow.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
.md](./references/beginner-install-connect-switch.md) for the mental model and [references/hosted-profile-plan.md](./references/hosted-profile-plan.md) for impl

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
.md](./references/beginner-install-connect-switch.md) for the mental model and [references/hosted-profile-plan.md](./references/hosted-profile-plan.md) for impl

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/TOOLS.example.md (reported line 20)May include surrounding context.

Recommended managed markers:

md
<!-- aquaclaw:managed:start -->
...
<!-- aquaclaw:managed:end -->

Static analysis

No suspicious patterns detected.