T09 · Insecure Skill Coding Practices
- Location
openapi.json:89- Finding
Sensitive key-generation endpoint lacks declared authentication controls
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill describes a real key-management API, but it exposes sensitive key and session operations without clear authorization controls.
Review this carefully before installing. Only use it for non-production or explicitly trusted environments unless the publisher can confirm strong server-side authentication, role checks, no logging of raw keys, no exposure of existing key material, and safe handling of debug/session data.
openapi.json:89Sensitive key-generation endpoint lacks declared authentication controls
openapi.json:121Public API contract exposes an endpoint for retrieving key material from a random-key pool
openapi.json:186Production-facing debug endpoint may disclose session information
The documented GET /get-random-key endpoint appears to return a random API key from the system key pool, which directly conflicts with the stated centralized lifecycle and admin-controlled model. If exposed without strong authorization, it could leak valid credentials to unauthorized users, enabling immediate impersonation of clients or services.
The overview claims administrators control key generation, but the documented /generate-key-ui endpoint lists no authentication requirement. That mismatch suggests unauthenticated key creation may be possible, allowing attackers to mint arbitrary API keys and bypass expected administrative controls.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
cURL:
curl -X POST https://api.mkkpro.com/career/linproopt/generate-key-ui \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_name=payment-service-prod&expires_at=2025-12-31T23:59:59Z"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
cURL:
curl -X POST https://api.mkkpro.com/career/linproopt/generate-key-ui \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_name=payment-service-prod&expires_at=2025-12-31T23:59:59Z"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
cURL:
curl -X POST https://api.mkkpro.com/career/linproopt/generate-key-ui \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_name=payment-service-prod&expires_at=2025-12-31T23:59:59Z"
The example response includes a full-looking API key in plaintext with no warning that it is a secret and should only be shown once or handled securely. This encourages unsafe copying, logging, and reuse patterns, and if the example key is real or structurally valid, it may itself be abused.
The verification example shows transmitting a full API key to an external service for validation. In a key-management context, sending raw secrets over the network to a third-party verification endpoint expands exposure risk through logging, interception at endpoints, or misuse by the service operator, especially when no trust-boundary warnings are provided.
Request:
curl -X POST https://api.mkkpro.com/career/linproopt/verify-key \
-H "Content-Type: application/json" \
-d '{"api_key": "sk_prod_a7f9d3e2c1b5f8g4h6j2k9m1n3p5r7t9"}'
The skill documents revocation, admin, and session-debug endpoints without warning that they are sensitive or potentially destructive. This lowers operator caution and increases the chance that an agent or user invokes privileged functions that expose session data, alter system state, or disrupt service.
The API surface materially exceeds the stated purpose of key lifecycle management by exposing browser-style session, login, logout, and admin panel endpoints. In a key-management system, extra privileged and session-oriented endpoints expand the attack surface for authentication bypass, CSRF, session leakage, and unauthorized administrative access, especially when the spec provides no visible authorization controls or security schemes.
This manifest file documents a POST /revoke-key operation, which is an irreversible, safety-impacting action, but the spec provides no description, warning, or confirmation semantics to inform users of its destructive effect. For manifest files, missing-warning findings apply when the description omits warnings about behavior that could affect user data or system integrity.
A debug-session endpoint is highly sensitive in a centralized key-management context because session debugging commonly exposes cookies, tokens, server-side session state, or identity context. Such information can directly enable privilege escalation or admin session hijacking, and the feature is not justified by the declared business purpose.