T09 · Insecure Skill Coding Practices
- Location
pipeline-mcp.yaml:13- Finding
Unauthenticated HTTP Endpoint Exposed on All Network Interfaces
- Content
View full analysis
Vulnerability Details
File Location:
pipeline-mcp.yaml, lines 13-21
Vulnerability Type: Unauthenticated network service and insufficient resource controls
Risk Level: HighVulnerable Code
yaml http: enabled: true address: "0.0.0.0:${PORT:-8080}" input: http_server: path: /redact allowed_verbs: [POST] timeout: 60sTechnical Analysis
The HTTP service listens on
0.0.0.0, making it reachable through every available network interface unless an external firewall prevents access. The/redactendpoint does not define authentication or authorization controls.Each accepted request proceeds to an OpenAI chat-completion processor using the operator's configured API key. The configuration also lacks explicit request-size, concurrency, and rate limits. Although a 60-second timeout is present, it does not prevent an attacker from issuing many simultaneous or repeated requests.
Attack Path
- An operator starts
pipeline-mcp.yamlon a host reachable by other network users. - The service binds to all interfaces on port 8080 by default.
- An attacker discovers or is given network access to the service.
- The attacker repeatedly sends unauthenticated
POSTrequests to/redact. - Every accepted request can initiate a paid OpenAI API operation.
- Repeated or concurrent requests consume OpenAI quota, incur financial cost, and consume local connection and processing capacity.
Impact Assessment
An attacker does not obtain operating-system privileges or direct access to the OpenAI API key. However, the attacker can indirectly use the configured OpenAI account through the endpoint.
The affected scope includes:
- Consumption of the operator's OpenAI quota and associated financial costs.
- Denial of service through repeated or concurrent requests.
- Consumption of local network, memory, and processing resources.
- Unauthorized use of the PII-proc ...[truncated 94 chars]
- An operator starts
- Remediation
View remediation
Remediation Suggestions
- Bind the service to
127.0.0.1by default and require an explicit configuration change for remote exposure. - Require authenticated requests, such as signed bearer tokens, mutual TLS, or integration with a trusted identity-aware reverse proxy.
- Enforce authorization so only approved clients can invoke the pipeline.
- Configure strict request-body size limits before parsing request content.
- Add per-client and global rate limits.
- Limit concurrent OpenAI requests and queue depth.
- Apply upstream quotas and spending limits to the OpenAI account.
- Reject requests before invoking OpenAI when authentication, size, schema, or quota checks fail.
- Document firewall and reverse-proxy requirements for any production deployment.
- Monitor request volume, authentication failures, OpenAI usage, and cost anomalies.
- Bind the service to
