Back to skill

Security audit

NEXUS Error Explain

Security checks for vulnerabilities and agentic risk

Overview

This error-explainer skill is mostly coherent, but it can automatically send potentially sensitive error text to a paid third-party service using payment credentials without clear per-request consent boundaries.

Review this skill before installing if your errors may contain secrets, private code, internal hostnames, customer data, or credentials. Use it only if you trust NEXUS with those inputs and are comfortable with paid external requests; prefer sandbox or explicit per-request confirmation where available.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
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 (5)

Skill Enumeration

Medium
Category
Agent Snooping
Content
Or manually copy the `SKILL.md` to your OpenClaw skills directory:

```bash
cp SKILL.md ~/.openclaw/skills/nexus-error-explain/SKILL.md
```

## Usage
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.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The README states the skill is 'automatically invoked' when a matching task is detected, but it does not define the trigger criteria, scope, or consent boundaries. In an agent ecosystem, ambiguous auto-invocation can cause the skill to process unintended inputs or make external service calls without clear user awareness, increasing the risk of data leakage or unexpected paid actions.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Step 1: Get the x402/MPP challenge
curl -X POST https://ai-service-hub-15.emergent.host/api/original-services/error-explain \
  -H "Content-Type: application/json" \
  -d '{"input": "your query here"}'
# Returns 402 + WWW-Authenticate: Payment header
Confidence
90% confidence
Finding
The skill documentation directs requests to an external hosted endpoint, meaning user-provided error messages and related context may be transmitted off-host to a third-party service. In the context of an automatically invoked error-explainer skill, those error messages may contain secrets, internal paths, tokens, stack traces, or proprietary code details, making external transmission materially risky.

External Transmission

Medium
Category
Data Exfiltration
Content
### API Call

```bash
curl -X POST https://ai-service-hub-15.emergent.host/api/original-services/error-explain \
  -H "Content-Type: application/json" \
  -H "X-Payment-Proof: $NEXUS_PAYMENT_PROOF" \
  -d '{
Confidence
94% confidence
Finding
This skill explicitly sends user-provided input and a payment credential/header to an external third-party service, creating a real data exfiltration boundary. Even though this is the skill's intended function and the transmission is disclosed, any sensitive error messages, stack traces, tokens, internal hostnames, or secrets included in the input could be exposed to the remote service and downstream models.

Vague Triggers

Low
Confidence
82% confidence
Finding
The 'When to use' guidance says 'Use when you need to explain error messages and suggest fixes,' which is a broad natural-language trigger rather than a narrowly scoped invocation condition. It does not include explicit constraints or negative examples, so it may match many ordinary troubleshooting requests unintentionally.

Static analysis

No suspicious patterns detected.