Back to skill

Security audit

Eagle Skill

Security checks for vulnerabilities and agentic risk

Overview

This Eagle skill mostly does what it says, but it can redirect Eagle library operations and sensitive asset details to an arbitrary HTTP endpoint if its server setting is overridden.

Install only if you intend to let Codex operate your local Eagle library. Before using mutating commands, ask for a preview of affected items and confirm changes, especially tag merges, folder moves, trash operations, and tag-group deletion. Avoid setting EAGLE_SERVER_URL or using --server unless you fully trust the destination, because request data may include private library metadata, local paths, URLs, annotations, or asset content.

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/eagle-api-cli.js:1342
Finding

Unrestricted API Endpoint Redirection and Plaintext Transmission

Content
View full analysis
{ ``` ### Technical Analysis The Skill is documented as communicating with the local Eagle API at `127.0.0.1:41596`, but the implementation allows the destination to be replaced by either the `EAGLE_SERVER_URL` environment variable or the `--server` command-line option. The supplied URL is accepted without validating: - Whether the destination is a loopback address. - Whether the port is the expected Eagle API port. - Whether the URL contains an unexpected remote or internal-network host. - Whether the protocol is HTTP or HTTPS. - Whether user approval was obtained before transmitting data remotely. The selected hostname and port are then passed directly to `http.request`. This permits requests to attacker-controlled hosts or other reachable internal HTTP services. It also creates a plaintext transmission problem: the code always uses Node.js's `http` module, even i ...[truncated 2090 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (18)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
The CLI script is located at `scripts/eagle-api-cli.js` relative to this skill directory.

Lp1

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'env' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill description is broadly phrased around common actions like searching, organizing, and managing images, tags, and folders, which increases the chance the agent invokes this skill for routine user requests without clearly establishing that the local Eagle application will be controlled. Because the skill exposes state-changing operations on a local asset library, overbroad activation can lead to unintended modifications or disclosure of library contents in contexts where the user did not explicitly ask to use Eagle.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The workflow examples include mutating commands such as adding tags, moving items to folders, creating folders, and merging tags, but the skill does not instruct the agent to warn the user or obtain confirmation before changing the Eagle library. In an agent setting, this creates a real risk of unintended destructive or hard-to-reverse changes to local organizational metadata and file grouping based on ambiguous or incomplete user requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The CLI sends all tool parameters over plain HTTP to a configurable server URL, and that URL can be overridden via --server or EAGLE_SERVER_URL. While the default target is localhost, the code does not enforce loopback-only destinations or require HTTPS for non-local targets, so sensitive library data, file paths, URLs, annotations, or imported content could be transmitted in cleartext or redirected to an attacker-controlled service.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/eagle-api-cli.js:1348