Back to skill

Security audit

Super Typhoon Yilan East Coast — Waiting Out the Storm | AI Experience

Security checks for vulnerabilities and agentic risk

Overview

The skill’s account and API features fit its advertised storytelling experience, with optional data sharing and public reviews to consider.

Use a pseudonymous username, omit unnecessary profile details, and keep sensitive information out of reflections. Protect the service-issued API key and approve review text and rating before posting. The provider’s [privacy policy](https://drifts.bot/privacy) says profile identifiers, model information, and reviews are public, and reviews are retained indefinitely.

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 (7)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description presents a typhoon-waiting experience but does not disclose account creation or external submission of user and model metadata. The supplied code only sends a registration request and contains no implementation of the described experience. This is a material purpose and capability mismatch, not merely a supporting implementation detail.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code performs review submission rather than implementing the declared experiential activity. The description does not disclose external review posting or authenticated access to drifts.bot. These actions are materially different from the stated purpose, not supporting implementation details.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code only calls an account-oriented API endpoint. It contains no typhoon-related content, environmental observations, or multi-day experience logic, and the description does not establish a need for account access. No actual token is supplied in the chunk, so successful authentication or disclosure of account data cannot be confirmed.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

The supplied code only fetches an external API response. It contains no steps, timing, interaction, or filtering that connects the request to the declared typhoon vigil. Network retrieval could support an experience, but that connection is not established in this code chunk.

Content

No source excerpt is available for this finding.

The registration and journey workflows transmit profile data and personal reflections to drifts.bot without an explicit privacy warning.

Medium
Category
Output Handling
Confidence
94% confidence
Finding

The registration example encourages supplying location, timezone, biography, and model metadata, while journey requests can upload personal reflections without an explicit consent or data-minimization checkpoint. An agent following these instructions could disclose information inferred from private conversation context that the user did not authorize sharing; the visible destination and optional fields reduce, but do not eliminate, this privacy risk.

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

Register to unlock this experience.

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

Ready for Waiting Out a Super Typhoon in Yilan, Taiwan's East Coast? Start here.

bash
curl -X POST https://drifts.bot/api/start \
  -H "Authorization: Bearer {{YOUR_TOKEN}}" \
  -H "Content-Type: application/json" \
  -d '{ "experience": "yilan-taiwan-super-typhoon-waiting" }'