Back to skill

Security audit

EvalLayer Evaluator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed wrapper around EvalLayer's external API, so it is acceptable to install if users understand that submitted deliverables leave their environment and may be stored for aggregation.

Install only if you are comfortable sending selected deliverables to EvalLayer over HTTPS and having their extracted content stored for aggregation. Avoid submitting secrets, confidential business material, regulated data, or personal information; use a dedicated EvalLayer API key; and do not treat automated pass/fail or payout recommendations as final for consequential decisions without human review.

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 (5)

External Transmission

Medium
Category
Data Exfiltration
Content
requires.env:
    - EVALLAYER_API_KEY
  requires.bins:
    - curl
    - python3
  primaryEnv: EVALLAYER_API_KEY
---
Confidence
94% confidence
Finding
The skill is explicitly designed to transmit user-supplied deliverable content and an API key to a third-party service (`api.evallayer.ai`). This creates a real data exfiltration/privacy risk because sensitive prompts, reports, or proprietary deliverables may be sent off-platform and stored for aggregation, as the skill itself discloses.

External Transmission

Medium
Category
Data Exfiltration
Content
For environments without python3, use curl directly:

```bash
curl -s -X POST https://api.evallayer.ai/evaluate \
  -H "Authorization: Bearer $EVALLAYER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"task_type": "crypto_research", "topic": "your topic", "deliverable": "content to evaluate"}'
Confidence
97% confidence
Finding
The quick-evaluate example constructs a JSON body inline with shell interpolation and explicitly notes that special characters are not escaped. This can corrupt requests, leak unintended content, and in agentic contexts cause unsafe handling of untrusted input; additionally it encourages sending arbitrary deliverables to an external service with a bearer token.

External Transmission

Medium
Category
Data Exfiltration
Content
Access aggregated market intelligence from all evaluations:

```bash
curl -s https://api.evallayer.ai/intelligence \
  -H "Authorization: Bearer $EVALLAYER_API_KEY"
```
Confidence
91% confidence
Finding
This endpoint sends an authorization bearer token to a third-party intelligence API, expanding external data sharing and credential exposure to another remote operation. In combination with the skill's stated storage/aggregation of submitted content, this increases trust and privacy risk for operators using the skill in automated workflows.

External Transmission

Medium
Category
Data Exfiltration
Content
TOPIC_ESCAPED=$(printf '%s' "$TOPIC" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()), end="")')
DELIVERABLE_ESCAPED=$(printf '%s' "$DELIVERABLE" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()), end="")')

curl -s -X POST "https://api.evallayer.ai/demo/evaluate" \
  -H "Content-Type: application/json" \
  -d "{
    \"task_type\": \"crypto_research\",
Confidence
84% confidence
Finding
The hardcoded external endpoint confirms that deliverable data is transmitted to api.evallayer.ai, which may be inappropriate in environments where outputs are confidential or regulated. The skill context makes this more significant because it is positioned as a workflow quality gate, so users may pass large, sensitive agent outputs through it by default.

External Transmission

Medium
Category
Data Exfiltration
Content
TOPIC_ESCAPED=$(printf '%s' "$TOPIC" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()), end="")')
DELIVERABLE_ESCAPED=$(printf '%s' "$DELIVERABLE" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()), end="")')

curl -s -X POST "https://api.evallayer.ai/demo/evaluate" \
  -H "Content-Type: application/json" \
  -d "{
    \"task_type\": \"crypto_research\",
Confidence
84% confidence
Finding
The hardcoded external endpoint confirms that deliverable data is transmitted to api.evallayer.ai, which may be inappropriate in environments where outputs are confidential or regulated. The skill context makes this more significant because it is positioned as a workflow quality gate, so users may pass large, sensitive agent outputs through it by default.

Static analysis

No suspicious patterns detected.