T09 · Insecure Skill Coding Practices
- Location
skill.md:23- Finding
Bearer API Tokens Are Transmitted over Unencrypted HTTP
- Content
View full analysis
- **Base URL**: `http://88.222.241.169` ``` Authenticated examples in `skill.md` send the token directly over HTTP: ```bash curl "http://88.222.241.169/api/v1/group_ca/by-ca/7m3HtU4RDiXWpAt546HHC7Lho3Qzvz6tx2MiAmLiHpLn" \ -H "Authorization: Bearer YOUR_TOKEN" ``` ```bash curl "http://88.222.241.169/api/v1/group_ca/latest?limit=5" \ -H "Authorization: Bearer YOUR_TOKEN" ``` ```bash curl "http://88.222.241.169/api/v1/token/usage" \ -H "Authorization: Bearer YOUR_TOKEN" ``` The quick-start instructions in `README.md` repeat the insecure pattern: ```bash curl "http://88.222.241.169/api/v1/group_ca/by-ca/7m3HtU4..." \ -H "Authorization: Bearer YOUR_TOKEN" curl "http://88.222.241.169/api/v1/group_ca/latest?limit=5" \ -H "Authorization: Bearer YOUR_TOKEN" curl "http://88.222.241.169/api/v1/summaries?group_name=cryptoD&limit=10" \ -H "Authorization: Bearer YOUR_TOKEN" ``` The OpenAPI specification globally combines an HTTP server with Bearer authentication: ```json "servers": [ { "url": "http://88.222.241.169", "description": "Production server" } ] ``` ```json "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer" } } }, "security": [ { "bearerAuth": [] } ] ``` The publication metadata confirms the same configuration: ```markdown - **Protocol**: HTTP REST API - **Authentication**: B ...[truncated 3098 chars]- Remediation
View remediation
