T09 · Insecure Skill Coding Practices
- Location
incidents.md:40- Finding
Hardcoded Gateway Authentication Token Exposed with Public Infrastructure Addresses
- Content
View full analysis
Vulnerability Details
File Location:
incidents.md, lines 40-47
Vulnerability Type: Hardcoded plaintext credential
Risk Level: HighVulnerable Code
text ## Emergency Contacts - Vultr: 64.176.221.16 (main orchestrator) - GCP west: 136.118.144.227 (scout) - GCP central: 136.113.102.152 (researcher) - GCP west primary: 34.53.51.34 (heavy) - GCP central runner: 35.222.248.151 (runner) - Gateway auth: W7aVCahxCxD5ZhL5OJ2k82HTXO07BxB0The documented API usage in
mesh.mdconfirms that gateway authentication uses a bearer token:bash curl http://<IP>:18789/v1/chat/completions \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"model":"default","messages":[{"role":"user","content":"ping"}]}'Technical Analysis
A live-looking gateway bearer token is stored directly in a distributable Markdown file. The same document exposes the associated public node addresses, while
mesh.mddocuments the gateway port and authentication format. Anyone who can obtain the Skill package or repository therefore has all information needed to attempt authenticated requests against the gateways.Bearer tokens provide access based solely on possession. Unlike a password flow, no additional proof of identity is required. Committing such a token also leaves it in repository history even if the current file is later edited.
Token validity and exact authorization scope cannot be established from the reviewed files. Nevertheless, it must be treated as compromised because it is presented as the gateway authentication value rather than as an explicit placeholder.
Attack Path
- An attacker downloads the Skill package or reads the repository.
- The attacker extracts the gateway token from
incidents.md. - The attacker obtains the public node addresses from the same file or
mesh.md. - The attacker sends requests to p ...[truncated 866 chars]
- Remediation
View remediation
Remediation Suggestions
- Revoke and rotate the exposed token immediately on every gateway that accepts it.
- Review gateway access logs for use of the exposed value, especially requests from unfamiliar addresses.
- Remove the token from the current files and purge it from repository history and published package versions.
- Replace the value with an unambiguous placeholder such as
${GATEWAY_AUTH_TOKEN}. - Store the replacement in a managed secret service and inject it at runtime through a protected file or workload identity mechanism.
- Use a distinct token for each gateway and environment to prevent one disclosure from compromising the entire mesh.
- Restrict port
18789to a private network, VPN, authenticated reverse proxy, or explicit source allowlist. - Apply token scopes, expiration, rate limits, and automated rotation where supported.
- Add secret scanning and pre-commit checks to reject high-entropy credentials before publication.
- Avoid placing production IP addresses and credentials together in distributable operational documentation.
