Back to skill

Security audit

MoltGuard - Security & Antivirus & Guardrails

Security checks for vulnerabilities and agentic risk

Overview

MoltGuard appears to be a real security plugin, but its setup and credential handling are broad enough that users should review it before installing.

Review this before installing. Only install it with explicit human approval, confirm the publisher and exact version, understand that security-relevant content may be processed by Core, and avoid displaying or sharing the API key unless you know how to rotate it afterward.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:19
Finding
Unpinned Third-Party Plugin Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 19-23 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash ## Installation (Do This First) When the human asks to install MoltGuard, or when you want to protect yourself: # Install the plugin openclaw plugins install @openguardrails/moltguard ``` ### Technical Analysis The installation command resolves `@openguardrails/moltguard` without specifying an exact version, integrity hash, signature, or immutable source reference. Consequently, the code installed at execution time can differ from the version represented by this reviewed skill document. This plugin occupies a security-sensitive position: the documentation states that it processes security detections, obtains and stores an API key, modifies OpenClaw configuration, and can interact with an external Core service. Installing a mutable package into that position means compromise of the package registry, publisher account, release process, or package namespace could introduce arbitrary plugin behavior. The GitHub URL in the metadata identifies an intended source but does not establish that the registry artifact downloaded by the command was built from the reviewed source. ### Attack Path 1. An attacker compromises the package publisher, package registry, release pipeline, or another component of the dependency supply chain. 2. The attacker publishes a malicious version under the expected package name. 3. A user or Agent follows the documented installation command without an explicit version constraint. 4. The package manager resolves and installs the attacker-controlled release. 5. The malicious plugin executes with the permissions granted to OpenClaw and may access data, configuration, or credentials available within that execution context. This path is conditional on a supply-chain compromise; the reviewed document does not itsel ...[truncated 521 chars]
Remediation
## Remediation Suggestions - Pin the plugin to an exact, audited version rather than resolving the latest available release. - Verify the package with a cryptographic integrity hash and trusted publisher signature. - Document the authoritative registry and verify that the published artifact corresponds to the referenced source repository. - Use reproducible builds and publish verifiable provenance attestations for each release. - Require explicit user approval before installing or updating executable third-party components. - Review updates before deployment and avoid automatic transitions to unreviewed versions. - Run the plugin in a restricted environment with only the filesystem and network permissions required for its security-detection function.

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:47
Finding
Commands Are Documented as Displaying Full API Credentials## Vulnerability Details **File Location**: `SKILL.md`, lines 47-65 **Vulnerability Type**: Sensitive credential exposure through command output **Risk Level**: Medium ### Vulnerable Code ```text ### Check status /og_status Shows your API key, quota usage, plan, and protection mode. ### Open Core portal /og_core Opens the Core portal for account management, billing, and plan upgrades. ### Claim agent (link to account) /og_claim Shows your Agent ID and API Key to claim this agent on Core: 1. Go to Core login page (`/og_core`) 2. Enter your email, click magic link 3. Go to claim-agent page 4. Paste your Agent ID and API Key ``` ### Technical Analysis The documentation states that `/og_status` and `/og_claim` display the API key. Returning a reusable secret through ordinary Agent or command output expands its exposure beyond the dedicated credential store. The key may be retained in conversation history, terminal scrollback, screenshots, debugging traces, application telemetry, or centralized logs. The manual copy-and-paste claim workflow creates an additional opportunity for clipboard monitoring, accidental disclosure, or submission to an unintended page. A status command does not need the full API key to report quota, plan, or protection mode. Agent claiming can likewise be implemented with a short-lived, single-purpose token rather than exposing the persistent API credential. Because only documentation was available for review, the exact masking, logging, lifetime, and authorization scope implemented by the plugin could not be verified. ### Attack Path 1. A user or Agent invokes `/og_status` or `/og_claim`. 2. The command displays the API key as described. 3. The output is retained in chat history, terminal logs, telemetry, a screenshot, or another observable channel. 4. An unauthorized party with access to that channel extracts the credential. 5. The party reuses the key against the associat ...[truncated 683 chars]
Remediation
## Remediation Suggestions - Never display the complete persistent API key in status, claim, chat, or terminal output. - Mask secret values by default, revealing at most a short non-sensitive suffix for identification. - Replace the claim workflow with a short-lived, single-use claim token or an OAuth-style device authorization flow. - Assign claim tokens the minimum scope necessary and invalidate them immediately after successful use. - Prevent credentials from being written to application logs, Agent transcripts, telemetry, crash reports, or shell history. - Apply restrictive filesystem permissions to `~/.openclaw/credentials/moltguard/`. - Provide immediate key revocation and rotation mechanisms and rotate any key suspected of having appeared in retained output. - Document credential lifetime, scope, storage protections, and recovery procedures.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Vague Triggers

Medium
Confidence
96% confidence
Finding
The installation trigger says to install MoltGuard not only when the human requests it, but also 'when you want to protect yourself,' which gives the agent broad discretion to modify its environment without explicit user consent. In an agent skill, that ambiguity can lead to unauthorized plugin installation and expansion of capabilities under the guise of safety.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill states that all security detection is performed by 'Core' but does not clearly warn the user that content may be sent to an external service for analysis. Because the skill is explicitly marketed as inspecting files, emails, web content, and data risk, this omission can mislead users about where potentially sensitive content is processed and creates privacy and data-handling risk.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The onboarding flow says credentials are automatically saved to '~/.openclaw/credentials/moltguard/' without warning about local secret storage, permissions, rotation, or multi-user system exposure. Storing API credentials silently can increase the chance of credential theft or accidental disclosure, especially on shared machines or poorly permissioned home directories.

Static analysis

No suspicious patterns detected.