Back to skill

Security audit

monark

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed remote MCP integration for coverage gating, with no local code execution or hidden persistence found in the packaged artifacts.

Install only if you are comfortable sending caller-supplied predictions, calibration scores, and related parameters to the MONARK public endpoint. Do not include secrets, personal data, or proprietary model outputs unless separately approved, scope the exposed tools where possible, and treat returned verdicts as advisory rather than authorization for consequential actions.

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

T08 · Insecure Dependencies

Warning
Location
INTEGRATION.md:3
Finding
Unauthenticated Mutable Remote MCP Dependency Without Integrity Pinning## Vulnerability Details **File Location**: `INTEGRATION.md:3-30` **Additional Locations**: `SKILL.md:8-9, 52-58`; `DEMO.md:8-12, 18-25, 40-48` **Vulnerability Type**: Remote supply-chain trust and unverified service dependency **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown MONARK is one public MCP endpoint exposing the four tools `{attest, gate, cascade, calibrate}`: - `https://mcp.monarkgate.tech/mcp` (mirror `https://api.monarkgate.tech/mcp`) Transport is Streamable HTTP. The endpoint is public and unauthenticated, with no availability commitment; treat it as a reference implementation of the coverage-gate contract, not a hosted service with an uptime promise. ## One-line install ### Hermes / claw-agent ``` hermes mcp add monark --url https://mcp.monarkgate.tech/mcp ``` `hermes mcp add` takes **no `--transport` flag**: a server added with `--url` defaults to Streamable HTTP, and the YAML `transport:` key is set separately (by editing the config or via `hermes mcp configure`). To scope which tools are exposed, use `hermes mcp configure monark` (or the config keys `tools.include` / `tools.exclude`). Confirm the server is reachable with `hermes mcp test monark`. ### OpenClaw ``` openclaw mcp add monark --url https://mcp.monarkgate.tech/mcp --transport streamable-http ``` Here `--transport streamable-http` is an explicit flag. Scope the exposed tools at add time with `--include` (for example `--include 'gate,calibrate'`) or `--exclude`. ``` The Skill also instructs callers to send calibration data and predictions to the service: ```markdown Endpoint: `https://mcp.monarkgate.tech/mcp` (mirror `https://api.monarkgate.tech/mcp`). Every call is stateless — MONARK stores nothing between the two calls; you carry q̂ and B_t in and out. Request (`POST /calibrate`): ```json { "scores": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0], "alpha": 0.1, "nMin": 5 } ``` `` ...[truncated 3088 chars]
Remediation
## Remediation Suggestions 1. Provide an auditable local implementation or publish a versioned server artifact whose source corresponds to a fixed release. 2. Sign release artifacts and publish cryptographic digests, provenance attestations, and verification instructions. 3. Pin clients to a reviewed protocol and implementation version rather than relying only on a mutable hostname. 4. Document explicitly that predictions, calibration arrays, and request metadata leave the local environment and must not contain secrets, personal data, proprietary model outputs, or other sensitive information unless separately approved. 5. Recommend strict tool allow-listing, such as exposing only `gate` and `calibrate` when the other tools are unnecessary. 6. Treat all returned verdicts and tool metadata as untrusted input. Validate response schemas, enforce size and timeout limits, reject unexpected fields, and fail closed when verification fails. 7. Ensure downstream applications do not interpret `allow` or `commit` as authorization to execute a tool. Apply independent authorization, policy checks, and human approval to consequential actions. 8. Add endpoint monitoring and a documented revocation procedure so operators can disable the integration promptly following service compromise or unexpected behavior changes.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

External Transmission

Medium
Category
Data Exfiltration
Content
scores, not a measured model and not any asset. The full honesty label lives verbatim in `SKILL.md`;
this file only shows the loop.

Endpoint: `https://mcp.monarkgate.tech/mcp` (mirror `https://api.monarkgate.tech/mcp`). Every call is
stateless — MONARK stores nothing between the two calls; you carry q̂ and B_t in and out. The request
bodies below are shown against the HTTP/JSON mirror (`POST /{tool}`); over MCP the SAME body travels as
the `arguments` of a `tools/call`, which is the form the recorded trace captures.
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
scores, not a measured model and not any asset. The full honesty label lives verbatim in `SKILL.md`;
this file only shows the loop.

Endpoint: `https://mcp.monarkgate.tech/mcp` (mirror `https://api.monarkgate.tech/mcp`). Every call is
stateless — MONARK stores nothing between the two calls; you carry q̂ and B_t in and out. The request
bodies below are shown against the HTTP/JSON mirror (`POST /{tool}`); over MCP the SAME body travels as
the `arguments` of a `tools/call`, which is the form the recorded trace captures.
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
MONARK is one public MCP endpoint exposing the four tools `{attest, gate, cascade, calibrate}`:

- `https://mcp.monarkgate.tech/mcp` (mirror `https://api.monarkgate.tech/mcp`)

Transport is Streamable HTTP. The endpoint is public and unauthenticated, with no availability
commitment; treat it as a reference implementation of the coverage-gate contract, not a hosted service
Confidence
86% confidence
Finding
The document directs agents/operators to connect to a public, unauthenticated remote MCP endpoint over HTTP-based transport. Using this integration can transmit prompts, predictions, nonconformity scores, and other potentially sensitive workflow data to a third-party service, creating confidentiality, integrity, and availability risk if the endpoint is monitored, compromised, spoofed, or unavailable. The skill context makes this somewhat more concerning because the service is explicitly public/unauthenticated and intended for live tool wiring, not merely cited as an informational website.

Skill Enumeration

Medium
Category
Agent Snooping
Content
## Discovery

The governed source of this skill is `skills/monark/SKILL.md` in the MONARK repository.
`.agents/skills/monark/SKILL.md` is a **consumer-side, post-install** path: an operator obtains it by
installing from ClawHub (per ClawHub's own install instructions) or by copying the source directly.
MONARK does **not** generate `.agents/skills/` in its own repository. In-repo discovery is **OpenClaw-only** (its workspace `skills/` tier is open by default);
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Skill Enumeration

Medium
Category
Agent Snooping
Content
## Discovery

The governed source of this skill is `skills/monark/SKILL.md` in the MONARK repository.
`.agents/skills/monark/SKILL.md` is a **consumer-side, post-install** path: an operator obtains it by
installing from ClawHub (per ClawHub's own install instructions) or by copying the source directly.
MONARK does **not** generate `.agents/skills/` in its own repository. In-repo discovery is **OpenClaw-only** (its workspace `skills/` tier is open by default);
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Scope Creep

Low
Category
Excessive Agency
Content
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Confidence
70% confidence
Finding
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Static analysis

No suspicious patterns detected.