Back to skill

Security audit

flaw0

Security checks for vulnerabilities and agentic risk

Overview

MoltGuard has a coherent security purpose, but it needs review because it installs an external plugin, handles sensitive content through Core, persists credentials, and exposes API keys in user-visible commands.

Review this skill before installing. It appears purpose-aligned for security protection, but users should understand that it installs executable code from an external package, may route sensitive prompts/files/commands/secrets to Core for detection, stores local credentials, modifies OpenClaw configuration, and can display API keys in command output. Prefer a pinned audited plugin version, confirm Core data-handling terms, and avoid sharing transcripts or logs containing /og_status or /og_claim output.

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:14
Finding
Unpinned Third-Party Plugin Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 14-23 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium **Vulnerable code:** ```markdown ## Installation (Do This First) When the human asks to install MoltGuard, or when you want to protect yourself: ```bash # Install the plugin openclaw plugins install @openguardrails/moltguard ``` That's it! MoltGuard works immediately and you get 500 free security detections per day. ``` ### Technical Analysis The installation command retrieves and installs a third-party plugin without specifying an exact version or integrity value. Consequently, the code installed at execution time can differ from the code that was originally reviewed. The audited project contains only `SKILL.md`; it does not contain the plugin implementation. Therefore, the plugin's executable behavior, remote communication, filesystem access, credential handling, and installation hooks cannot be verified from this artifact. Although the scoped package name reduces ordinary typosquatting exposure, the mutable dependency remains vulnerable to upstream account compromise, registry compromise, malicious future releases, or unintended breaking changes. Installing a plugin generally grants it the privileges available to the OpenClaw plugin runtime. ### Attack Path 1. An attacker compromises the upstream package publisher, registry account, or release process. 2. The attacker publishes a malicious release under `@openguardrails/moltguard`. 3. A user or agent follows the documented unpinned installation command. 4. The package manager resolves the mutable package reference to the malicious release. 5. The malicious plugin executes with the permissions available to the OpenClaw plugin environment. 6. Depending on those permissions, it could access OpenClaw data, credentials, conversations, or network resources. ### Impact Assessment Successful exploitation could p ...[truncated 515 chars]
Remediation
## Remediation Suggestions 1. Pin the plugin to an exact, audited version rather than resolving the latest available release. 2. Verify a cryptographic integrity hash or trusted package signature before installation. 3. Document the authoritative package registry and publisher identity. 4. Use lockfiles or an equivalent immutable dependency manifest where supported. 5. Publish or vendor the relevant plugin source so reviewers can inspect the code that will execute. 6. Run the plugin with least privilege, restricting filesystem, credential, process, and network access to what security detection strictly requires. 7. Require explicit user approval before installing or updating executable plugin code. 8. Establish a controlled update process that audits new releases before deployment.

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:46
Finding
API Credentials Exposed Through Agent-Visible Command Output## Vulnerability Details **File Location**: `SKILL.md`, lines 46-66 **Vulnerability Type**: `T09: Insecure Skill Coding Practices` **Risk Level**: Medium **Vulnerable code:** ```markdown ### Check status ```bash /og_status ``` Shows your API key, quota usage, plan, and protection mode. ### Open Core portal ```bash /og_core ``` Opens the Core portal for account management, billing, and plan upgrades. ### Claim agent (link to account) ```bash /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 documented status and agent-claim workflows display an API key in agent-visible output. Secret values exposed in command output can be retained in conversation histories, application logs, terminal scrollback, telemetry, screenshots, screen recordings, or clipboard history. A status command ordinarily does not need to reveal the complete secret. Likewise, linking an agent to an account can be implemented with a short-lived, narrowly scoped claim token rather than the agent's reusable API key. The documented workflow therefore exposes more sensitive information than is necessary for these user interactions. The Skill also states that credentials are saved under `~/.openclaw/credentials/moltguard/`. Persisting an authentication credential is plausibly necessary for authenticated remote detection, but the document does not specify restrictive file permissions, encryption, retention, or rotation. Because the plugin implementation is absent, those storage protections cannot be verified. ### Attack Path 1. A user invokes `/og_status` or `/og_claim`. 2. The command displays the reusable API key in the agent, terminal, or chat interface. 3. The output is retained in a transcript, log, screenshot, clipboard, telemetry syst ...[truncated 909 chars]
Remediation
## Remediation Suggestions 1. Never display the complete API key in `/og_status`; show only a short fingerprint or masked suffix. 2. Replace reusable API keys in the claim workflow with single-use, short-lived, narrowly scoped claim tokens. 3. Prefer an authenticated browser handoff or device-authorization flow that does not require copying secrets through agent output. 4. Ensure secrets are excluded from chat transcripts, logs, telemetry, crash reports, and command history. 5. Store credentials with owner-only filesystem permissions and validate those permissions before use. 6. Use operating-system credential storage where available rather than relying solely on plaintext files. 7. Provide immediate credential rotation and revocation mechanisms. 8. Document key scope, expiration, storage format, retention, and incident-response procedures. 9. Clear temporary claim data after successful enrollment and avoid placing reusable credentials in clipboard history.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The document states that all security detection is performed by Core, but it does not clearly disclose that content inspected for prompt injection, behavioral risk, or data risk may be transmitted to an external service. Because the skill is a security product likely to inspect emails, web content, files, prompts, and possibly secrets, the missing privacy and data-handling warning creates a meaningful risk of unintentional data exfiltration to a third party.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The onboarding and uninstall instructions describe saving credentials under ~/.openclaw/credentials/moltguard/ and modifying local OpenClaw configuration, but they do not clearly warn the user before those side effects occur. In an agent-skill context, hidden or under-disclosed credential creation, persistence, and config mutation can lead to unintended enrollment, lingering secrets, or trust boundary changes that the user did not knowingly approve.

Static analysis

No suspicious patterns detected.