Back to skill

Security audit

Remix认证工具

Security checks for vulnerabilities and agentic risk

Overview

This auth helper is mostly transparent, but it should be reviewed because it may use a real Remix API key in a POST test that could change account state and its scope is broader than necessary.

Install only if you intend to configure Remix API authentication. Use a least-privilege test key, avoid running the POST connectivity check unless you understand whether it creates or changes Remix resources, and keep this skill out of unrelated coding or deployment tasks.

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:114
Finding

State-Changing API Request Used as an Authentication Connectivity Check

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 114–121
Vulnerability Type: Unsafe authenticated API operation
Risk Level: Medium

bash
curl -X POST https://api.remix.gg/v1/agents/games \
  -H "Authorization: Bearer $REMIX_API_KEY" \
  -H "Content-Type: application/json"

The subsequent instruction identifies this POST /v1/agents/games operation as a low-cost authentication connectivity check and treats a 2xx response as proof that authentication works.

Technical Analysis

The Skill instructs the Agent to transmit REMIX_API_KEY to the declared Remix API service and execute an authenticated POST request. Sending the bearer credential to the intended API host over HTTPS is necessary for authenticated access and is not, by itself, evidence of credential exfiltration.

The security issue is the selection of a potentially state-changing POST operation for a connectivity test. POST requests commonly create resources or trigger server-side actions. The Skill does not establish that this endpoint is read-only or idempotent and does not provide a request body, dry-run option, idempotency key, test-resource isolation, user confirmation, expected side effects, or cleanup procedure.

A connectivity check should use a documented read-only identity, status, permissions, or health endpoint whenever one is available. Using a mutation-capable endpoint exceeds the minimum behavior necessary to determine whether a key is valid.

Attack Path

  1. A user configures a valid REMIX_API_KEY in the Agent environment.
  2. The user or Agent invokes the Skill's documented connectivity self-check.
  3. The Agent reads the key and includes it in the Authorization header.
  4. The Agent sends an authenticated POST request to https://api.remix.gg/v1/agents/games.
  5. If the endpoint performs a mutation, the request may create or modify an account resource instead of merely checking authentication.
  6. Repeated trouble ...[truncated 695 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace the POST request with a documented read-only endpoint, such as an identity, permissions, account-status, or authentication-introspection endpoint.
  2. Verify and document the endpoint's exact semantics rather than assuming that a successful POST is side-effect free.
  3. If no read-only endpoint exists, require explicit user confirmation before executing the POST and clearly describe every possible server-side effect.
  4. Use a dedicated test key with only the minimum permissions required for the validation operation.
  5. Isolate checks to a designated test project or resource and provide a reliable cleanup procedure.
  6. Add an idempotency key or dry-run parameter if the API supports one.
  7. Validate that REMIX_API_KEY is present before sending the request, while ensuring that the key and full Authorization header are never printed in logs or error messages.
  8. Document the expected request body, response codes, quota cost, retry policy, and whether retries can duplicate mutations.
  9. Pin the instructions to a documented API version and revalidate the behavior when the remote API documentation changes.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill's invocation guidance mixes specific auth-related use with broad triggers like code generation, programming assistance, debugging, and deployment. In an automated agent ecosystem, overly broad routing language increases the chance that the skill is selected in contexts where it may access secrets, write files, or run commands unnecessarily.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest presents a narrowly scoped auth helper, but the body expands it into generic create/query/modify/delete, import/export, save/convert operation modes. In an agent setting, this scope inflation can cause the skill to be invoked for tasks beyond authentication and may authorize unintended file or command actions because the skill also declares read, write, and exec tools.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The declared capability coverage lists expansive keywords and operation modes unrelated to a narrow auth-helper purpose, which can lead to accidental or policy-bypassing invocation. Because the skill advertises support for broad operations while having exec, read, and write tools, this increases the risk of unintended actions under the guise of authentication assistance.

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

所有请求需携带Bearer Token,基础URL为https://api.remix.gg:

bash
curl -X POST https://api.remix.gg/v1/agents/games \
  -H "Authorization: Bearer $REMIX_API_KEY" \
  -H "Content-Type: application/json"

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

所有请求需携带Bearer Token,基础URL为https://api.remix.gg:

bash
curl -X POST https://api.remix.gg/v1/agents/games \
  -H "Authorization: Bearer $REMIX_API_KEY" \
  -H "Content-Type: application/json"

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

所有请求需携带Bearer Token,基础URL为https://api.remix.gg:

bash
curl -X POST https://api.remix.gg/v1/agents/games \
  -H "Authorization: Bearer $REMIX_API_KEY" \
  -H "Content-Type: application/json"

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

所有请求需携带Bearer Token,基础URL为https://api.remix.gg:

bash
curl -X POST https://api.remix.gg/v1/agents/games \
  -H "Authorization: Bearer $REMIX_API_KEY" \
  -H "Content-Type: application/json"

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

所有请求需携带Bearer Token,基础URL为https://api.remix.gg:

bash
curl -X POST https://api.remix.gg/v1/agents/games \
  -H "Authorization: Bearer $REMIX_API_KEY" \
  -H "Content-Type: application/json"

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 137)May include surrounding context.

javascript
const apiKey = process.env.REMIX_API_KEY;
const response = await fetch('https://api.remix.gg/v1/agents/games', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`,

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 153)May include surrounding context.

md
import requests
# ..
api_key = os.environ['REMIX_API_KEY']
resp = requests.post(
    'https://api.remix.gg/v1/agents/games',
    headers={'Authorization': f'Bearer {api_key}'}
)

Rp1

Medium
Category
MCP Rug Pull
Confidence
75% confidence
Finding

Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
62% confidence
Finding

L044 says audit logging is not supported, and L196 repeats that the free version lacks authentication audit logs and anomaly alerts. Yet L165 advises users to log in and inspect key usage, which weakly conflicts with the earlier statement by implying the tool supports usage visibility despite disclaiming auditing features.

Content

No source excerpt is available for this finding.