Back to skill

Security audit

Miles

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed, read-only integration for asking Ask Miles card-rewards questions using the account owner's wallet data.

Install this only if you want your agent to send card-rewards questions to Ask Miles using your Ask Miles wallet. Use a dedicated API key when possible, store it like any other secret, avoid sending unrelated personal information, and revoke the key or connected app if you stop using it.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Credential Access

High
Category
Privilege Escalation
Content
one who configured it — an installed app with many users, not a personal
agent. OAuth 2.1 against `mcp.askmiles.ai`, scope `miles:chat`, with dynamic
client registration. The grant belongs to the Miles account of the person who
approves it, and requires a one-time browser consent. Access tokens expire
after one hour — store the refresh token and refresh.

**Getting a token — follow this recipe, don't improvise.** In particular, do
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Credential Access

High
Category
Privilege Escalation
Content
`client_id`, `client_secret`, `code_verifier`. The response carries the
   Bearer `access_token` (one hour), `scope: miles:chat`, and a
   `refresh_token`.
6. **Refresh, never re-consent.** When the access token expires, POST the
   token endpoint with `grant_type=refresh_token` and your stored
   credentials. The browser step never repeats unless the owner revokes the
   grant (Settings → Connected AI Apps on askmiles.ai).
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Static analysis

No suspicious patterns detected.