Back to skill

Security audit

Moon Banking

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Moon Banking API skill, but its broad auto-use guidance and API-key handling pattern create review-worthy privacy and credential risks.

Review this skill before installing if you use a paid or sensitive Moon Banking API key. Use a dedicated low-privilege key if available, avoid sending personal account details or confidential banking questions, and prefer explicit confirmation before the agent queries the external API. The curl examples should be rewritten to avoid placing the bearer token directly in command-line arguments.

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
SKILL.md:34
Finding

API Key Exposed Through Process Command-Line Arguments

Content
View full analysis
/cmdline`. Silent mode does not protect the credential because `curl -s` only suppresses progress and error output; it does not conceal process arguments. The same insecure authentication pattern is repeated across the endpoint examples, increasing the likelihood that agents will use it directly. ### Attack Path 1. A legitimate user or agent invokes one of the documented curl commands. 2. The shell expands `$MOON_BANKING_API_KEY` into the curl command-line argument. 3. While curl is running, a local process or user with sufficient process-inspection permissions enumerates active processes. 4. The attacker reads curl's argument vector and extracts the bearer credential from the `Authorization` header. 5. The attacker reuses the key to authenticate re ...[truncated 831 chars]
Remediation
View remediation
&2 exit 1 fi printf 'Authorization: Bearer %s\n' "$MOON_BANKING_API_KEY" | curl --silent --show-error --fail-with-body \ -H @- \ "https://api.moonbanking.com/v1/ENDPOINT?param=value&another=val" | jq . ``` Apply this safer pattern to every request example in `SKILL.md`. In addition: 1. Ensure diagnostic output never prints the API key or complete authorization header. 2. Use a dedicated, least-privileged API key when the service supports scoped credentials. 3. Rotate any credential suspected of having been exposed. 4. Avoid enabling shell tracing with `set -x` while handling the key. 5. Keep the key only in protected runtime secret storage and do not persist it in command history, logs, source files, or temporary files. 6. Document revocation and rotation procedures for compromised credentials. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (16)

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 17)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 25)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 44)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 65)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 77)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 89)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 109)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 126)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 138)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 158)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 170)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 180)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

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 193)May include surrounding context.

md
credentials:
      primary:
        key: MOON_BANKING_API_KEY
        description: API key for authenticating requests to https://api.moonbanking.com/v1 (Moon Banking Pro plan required)
        type: api_key
        required: true
        sensitive: true

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The documentation repeatedly instructs the agent to send user-supplied query terms to an external API with a bearer token, but it does not warn that user content will leave the local environment or that an external credential will be used. This creates a meaningful transparency and privacy risk because users may disclose sensitive banking-related details expecting local assistance, while the skill encourages silent external transmission.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The invocation guidance is overly broad: 'whenever questions or discussions involve bank information of any kind' can cause the agent to send loosely related user prompts to the external Moon Banking service unnecessarily. That increases the chance of privacy leakage because arbitrary user text and the API credential may be transmitted to a third-party service without a clear need.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
Confidence
92% confidence
Finding

The phrase 'including, but not limited to' expands the skill's operational scope beyond the documented endpoints and concrete use cases. That can encourage unnecessary or speculative invocation of an external-data skill in contexts only loosely related to banking, increasing privacy exposure and the chance of inappropriate tool use.

Content

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

md
- Chain multiple `exec` calls for complex questions.

Use this skill whenever questions or discussions involve bank information of any kind, including, but not limited to, rankings, reviews, country comparisons, customer experiences, or global banking insights.

Static analysis

No suspicious patterns detected.