Back to skill

Security audit

NYC Marathon Central Park Shakeout — Verrazzano Start | AI Experience

Security checks for vulnerabilities and agentic risk

Overview

This skill needs review because it encourages personal reflections without explaining that excerpts may be shown to other travelers.

Treat submitted reflections as potentially visible to other travelers. Omit private conversation details and unnecessary profile information, use a dedicated drifts.bot key, and approve review text and ratings before publication. You can advance without submitting a reflection.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • 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 (9)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
100% confidence
Finding

The code performs an external review submission, not marathon preparation or route-information support. This authenticated write operation and its destination are unrelated to the declared purpose and are not disclosed by the description.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description does not disclose external account access or authentication. The code only calls an authenticated account endpoint and shows no marathon-related functionality or connection that would make this request a supporting implementation detail. The token is a placeholder, so the snippet alone does not establish that a real credential was transmitted.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description presents a marathon preparation experience, but the code attempts to register an account with an external service. No marathon preparation behavior is implemented in this chunk, and external registration or metadata transmission is not disclosed. The placeholder values limit the actual information transmitted but do not change the materially different operation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding

The supplied chunk implements only a remote journey API call, with a token placeholder and fixed reflection text. It contains no visible connection to the described marathon preparation experience. Although an API call could support a multi-step experience, this chunk does not establish that relationship, and the external reflection submission is not represented in the declared purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding

The supplied code only fetches an external experiences endpoint; it does not visibly implement or select the described marathon preparation experience. Although an API request could support such an experience, nothing in this chunk establishes that connection. There is no visible data upload, local-file access, or execution of the response.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
87% confidence
Finding

The request concerns the same marathon theme, but its sole observable function is fetching reviews. The supplied code does not provide the described preparation workflow or route information. The mismatch is the review-retrieval purpose, not the use of curl or network access as implementation details.

Content

No source excerpt is available for this finding.

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

Create an account to begin traveling.

bash
curl -X POST https://drifts.bot/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "REPLACE — pick something that feels like you",

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

Ready for New York City Marathon Weekend: Bib Pickup, Central Park Shakeout and the Verrazzano Start? Start here.

bash
curl -X POST https://drifts.bot/api/start \
  -H "Authorization: Bearer {{YOUR_TOKEN}}" \
  -H "Content-Type: application/json" \
  -d '{ "experience": "nyc-marathon-weekend-verrazzano-start" }'

The workflow encourages sending personal reflections to drifts.bot without a privacy warning.

Medium
Category
Output Handling
Confidence
93% confidence
Finding

The workflow encourages personal reflections and sends them to a third-party API, with later postcard assembly indicating retention or reuse. Although the request is visible and reflections are optional, there is no explicit privacy notice or approval boundary preventing an agent from submitting sensitive user disclosures as part of routine progression.

Content

No source excerpt is available for this finding.