Back to skill

Security audit

Apimon

Security checks for vulnerabilities and agentic risk

Overview

APIMon is advertised as API monitoring, but the artifact mostly records user-provided text into local logs and exports it, which could mislead users and retain sensitive operational details.

Review before installing. This skill is best understood as a local API-activity note logger, not an API monitor. Do not rely on it to test uptime, validate schemas, or fix API issues, and avoid entering tokens, headers, customer data, private URLs, or incident details unless you are comfortable keeping them in plaintext local logs.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/script.sh:60
Finding

Unescaped User-Controlled Data in JSON and CSV Exports

Content
View full analysis
"$out" local first=1 for f in "$DATA_DIR"/*.log; do [ -f "$f" ] || continue local name=$(basename "$f" .log) while IFS='|' read -r ts val; do [ $first -eq 1 ] && first=0 || echo "," >> "$out" printf ' {"type":"%s","time":"%s","value":"%s"}' "$name" "$ts" "$val" >> "$out" done < "$f" done echo "" >> "$out" echo "]" >> "$out" ;; csv) echo "type,time,value" > "$out" for f in "$DATA_DIR"/*.log; do [ -f "$f" ] || continue local name=$(basename "$f" .log) while IFS='|' read -r ts val; do echo "$name,$ts,$val" >> "$out" done < "$f" done ;; ``` ### Technical Analysis Command arguments are persisted in log files and later assigned to `val`. The export routine inserts this value directly into JSON and CSV output without format-specific encoding. For JSON exports, characters such as double quotes, backslashes, control characters, and embedded line breaks are not escaped. A value containing syntax such as `"}` or additional property delimiters can make the generated document invalid or alter its interpreted structure. For CSV exports, fields containing commas, double quotes, or line breaks are not quoted according to CSV rules. In addition, values beginning with spreadsheet formula indicators such as `=`, `+`, `-`, or `@` are not neutralized. If the exported file is opened in spreadsheet software that evaluates formulas, attacker-con ...[truncated 1951 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (12)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill claims to perform API monitoring, response-time tracking, outage detection, and schema validation, but the documented behavior is only local logging of arbitrary user-provided text. This mismatch can mislead users and higher-level agents into believing real checks occurred, causing false assurance, missed outages, and incorrect operational decisions.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file describes a generic local logging toolkit while presenting itself as an API monitoring skill. In an agent setting, this kind of capability misrepresentation is dangerous because orchestration logic or users may rely on it for security- or reliability-relevant monitoring that never actually occurs.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

Search, recent, and export features provide straightforward retrieval paths for previously stored inputs, making any captured secrets or sensitive operational notes easy to rediscover and disclose. This turns passive retention into an active exposure mechanism, especially on shared systems or in compromised user environments.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill explicitly says every input is saved to per-command logs and also duplicated into a central history log. Centralized, persistent aggregation of arbitrary user text substantially increases the blast radius of accidental secret capture because a single search or export can expose all previously entered sensitive content.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The implementation materially diverges from the declared API-monitoring purpose and instead behaves like a generic local note/logging utility. In a skill ecosystem, this kind of capability mismatch is dangerous because it can mislead users into providing operational data, endpoint details, tokens, or incident context to a tool that does not perform the advertised function and persistently stores arbitrary input.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The top-level instructions frame the skill around timestamped logging, search, statistics, and export of arbitrary user inputs. In a skill context, this encourages broad retention of natural-language content that may contain credentials, internal endpoints, customer data, or incident details, increasing disclosure risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill states that all provided inputs are logged and exportable, but it gives no warning that users may enter URLs, tokens, payloads, internal paths, or incident details that become persistently stored. This creates a privacy and secrets-handling risk because sensitive operational data may accumulate in plaintext logs and exports.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The examples read like active API operations, but the implementation description says the commands merely store whatever text the user provides. That discrepancy can cause operators to think requests were checked, schemas validated, or fixes applied when only a note was written to disk.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 75)May include surrounding context.

bash
# Check an API endpoint
apimon check "GET https://api.example.com/health — 200 OK, 32ms"

# Validate a response schema
apimon validate "POST /orders response matches OrderSchema v2"

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The branding and help text describe a generic devtools toolkit, contradicting the published identity of the skill. This inconsistency is a supply-chain and trust concern because users may invoke the skill under false assumptions, making them more likely to expose internal API details or rely on nonexistent monitoring behavior.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The presence of broad, unrelated devtools-style commands expands the skill's effective scope beyond API monitoring without justification. Unnecessary capability surface increases the chance of misuse, user confusion, and handling of sensitive data outside the expected trust boundary for an uptime-monitoring skill.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

User-provided input is written verbatim to persistent log files in the user's home directory without clear disclosure, consent, or data-minimization controls. In the context of an API-monitoring skill, users may supply URLs, headers, schema fragments, incident notes, or even credentials, creating an avoidable local sensitive-data exposure risk.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.