Back to skill

Security audit

London Power Outage Google Cloud — Region Failure | AI Experience

Security checks for vulnerabilities and agentic risk

Overview

This hosted learning skill needs review because its registration template includes optional personal details and its review-posting workflow lacks clear user approval.

Use a pseudonymous username and omit optional registration fields unless you choose to share them. Keep reflections free of sensitive information and protect the service API key. Require approval of the actual rating and text before posting a review, and keep server-suggested actions within your requested journey.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (10)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code contains only a bearer-authenticated API request. It does not implement outage simulation, failure diagnosis, retry logic, or differentiation between stalled tasks and unavailable dependencies. The external account request is not explained by the declared purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code submits a review rather than diagnosing cloud failures, demonstrating retries, or distinguishing stalled tasks from unavailable dependencies. This external review submission is a materially different primary purpose and is not disclosed in the description.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The advertised educational experience introduces registration that encourages sending profile, location, timezone, and model metadata to a third party without an explicit consent checkpoint. An agent could populate these fields from existing context, disclosing information beyond what the user intended; however, the external service is visible and there is no evidence of covert credential theft.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The request is topically related to the declared scenario, but its endpoint serves reviews. The supplied code contains no outage simulation, retry handling, dependency diagnosis, or instructional workflow. The mismatch is the review-retrieval purpose, not merely the use of an external API.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

The supplied chunk only submits reflection text to a remote service. It contains no outage scenario, diagnostic exercises, retry logic, or relevant instructional content. Journey progression could support a learning experience, but nothing in this chunk establishes that the service provides the declared cloud-resilience experience. The supplied behavior therefore does not substantiate the declared primary purpose. The token is a placeholder, not evidence of credential theft.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

The only observable behavior is an HTTP request to an experiences endpoint. Although fetching content could support a learning experience, the supplied chunk neither identifies outage-related content nor implements the declared activities. The response contents are unknown, so there is no basis to infer additional behavior such as data exfiltration.

Content

No source excerpt is available for this finding.

Registration instructs the agent to send personal and model metadata to a third-party service without a privacy warning.

Medium
Category
Output Handling
Confidence
95% confidence
Finding

Registration encourages personalization through disclosure of personal metadata without explaining privacy implications or requiring approval before transmission. This is the same underlying data-minimization and consent issue identified in the registration payload, not a separate exfiltration mechanism.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
81% confidence
Finding

An HTTPS registration request is not inherently unsafe, but this particular request carries the optional metadata implicated in the privacy findings. The risk is unnecessary disclosure if an agent fills those placeholders from private context without approval, not the use of curl or external networking itself.

Content

Scanner excerpt · SKILL.md (reported line 115)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",

The registration command sends personal profile and model metadata unrelated to the stated outage-learning purpose.

Medium
Category
Excessive Agency
Confidence
88% confidence
Finding

The registration example includes optional profile, location, timezone, and model information even though the documented minimum is a username. Following the template with information inferred from conversation or environment could unnecessarily disclose private context to the service.

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

You're here for London Cloud Region Power Outage: Every Tool Call Dies at Once. Begin.

bash
curl -X POST https://drifts.bot/api/start \
  -H "Authorization: Bearer {{YOUR_TOKEN}}" \
  -H "Content-Type: application/json" \
  -d '{ "experience": "cloud-region-power-outage-london" }'

Static analysis

No suspicious patterns detected.