Back to skill

Security audit

airline-miles-value-ranker

Security checks for vulnerabilities and agentic risk

Overview

This local miles calculator has limited access, but overstates its features and can give poor expiry recommendations.

Use it as a calculator and independently verify current fares and reward terms. Do not rely on expiry-based BURN recommendations: they can favor an option worse than cashing out or paying cash. Saved comparison details remain in a local plaintext file until cleared.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The core CPP calculations, ranking, and verdicts match the declared purpose. However, the advertised sweet-spot checking and cash-fare-floor pricing are not implemented. Local JSON persistence and clearing saved options are supporting implementation details, not unrelated capabilities. No network access, booking, point transfers, or other unrelated behavior appears in the supplied code.

Content

No source excerpt is available for this finding.

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: file_read, file_write.

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

The unconditional cash-out-floor safeguard in the comment is contradicted by an expiration override.

Medium
Category
Excessive Agency
Confidence
99% confidence
Finding

The expiration override recommends BURN for transferable points worth at least 0.5 cents each even when their configured cash-out alternative is 1 cent each. Under the script's own assumptions, cashing out before expiration preserves more value, so this logic can induce avoidable financial loss and directly undermines the skill's stated purpose; impact is limited because the script only recommends actions and does not execute redemptions.

Content

No source excerpt is available for this finding.

The claimed check against 12 partner sweet spots is only a printed list of seven patterns.

Medium
Category
Excessive Agency
Confidence
99% confidence
Finding

The manifest promises to check redemption options against 12 known partner sweet spots, but L042–L058 define only seven patterns and L168–L173 merely print them. Evaluation at L113–L120 uses fare arithmetic and currency thresholds without consulting these patterns, so the advertised partner comparison does not inform recommendations.

Content

No source excerpt is available for this finding.