T09 · Insecure Skill Coding Practices
- Location
scripts/mcdonalds-mcp.js:61- Finding
Bearer Token Exposed Through Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it says, but it can use a McDonald's account token to create real orders and exposes that token through command-line usage.
Review this before installing if you plan to use a real McDonald's MCP token. Prefer not to paste tokens directly into shell commands, rotate any token already used that way if exposure is plausible, and require explicit user confirmation before invoking create_order or create_exchange_order.
scripts/mcdonalds-mcp.js:61Bearer Token Exposed Through Command-Line Arguments
The skill instructs the agent to make authenticated HTTP requests to an external McDonald's MCP endpoint, but it does not declare any explicit tool scope such as allowed network destinations or permissions. This creates an authorization and containment gap: an agent/runtime may permit broader network access than intended, increasing the risk of token misuse, unexpected outbound requests, or SSRF-like abuse if the skill is extended or interpreted loosely.
The descriptive comments, error/help output, and examples are written in Chinese only. This imposes a specific language without any opt-in or alternative, which matches the locale/language policy concern described by SQP-3.
The script exposes a create_order method and the example usage includes sending product and address identifiers, which can affect user data and place an order. Although the script logs the API response, it does not provide any user-facing warning, confirmation step, or cautionary comment about this potentially irreversible action.
The code performs an HTTP POST to an external McDonald's endpoint with a Bearer token and arbitrary JSON parameters, which may include address or order information. The file contains usage instructions but no explicit warning that credentials and user-supplied data are sent over the network.
No suspicious patterns detected.