T09 · Insecure Skill Coding Practices
- Location
references/configuration.md:39- Finding
Unauthenticated Metrics Endpoint Exposed on All Network Interfaces
- Content
View full analysis
Vulnerability Details
File Location:
references/configuration.md:39-40; related exposure instructions appear inSKILL.md:64-70,references/operations.md:106, andreferences/validator-setup.md:43-51
Vulnerability Type: T09: Insecure Skill Coding Practices
Risk Level: MediumVulnerable Code Snippet:
yaml metrics-address: '0.0.0.0:9184' # Prometheus metrics endpoint # Default: 0.0.0.0:9184The operational documentation reinforces this configuration:
text Default endpoint: `http://0.0.0.0:9184/metrics`It also instructs operators to open the corresponding port:
text | TCP/9184 | Inbound/Outbound | Metrics Scraping |Technical Analysis
The documented default binds the Prometheus metrics service to
0.0.0.0, making it listen on every available network interface. The deployment guidance also instructs operators to open TCP port 9184 without documenting authentication, network allowlisting, or an authenticated reverse proxy.The metrics described by the project include consensus progress, MPC session activity, peer states, event-processing lag, checkpoint progress, transaction queue lengths, and load-shedding behavior. If port 9184 is reachable from an untrusted network, an unauthenticated remote party can query this operational data directly.
Attack Path
- An operator follows the documented configuration and binds the metrics service to
0.0.0.0:9184. - The operator opens TCP port 9184 as instructed.
- An attacker scans the validator address and identifies the exposed Prometheus endpoint.
- The attacker requests
http://validator-address:9184/metrics. - The attacker collects consensus, synchronization, peer, queue, and workload telemetry.
- The information is used to identify degraded periods, synchronization delays, or other favorable windows for targeted denial-of-service activity.
Impact A
...[truncated 457 chars]
- An operator follows the documented configuration and binds the metrics service to
- Remediation
View remediation
Remediation Suggestions
- Change the secure default to
127.0.0.1:9184or a dedicated private monitoring interface. - Do not instruct operators to expose port 9184 to the public Internet.
- Require host firewall or cloud security-group rules that allow only designated monitoring servers.
- Use a VPN, private network, or mutually authenticated TLS proxy when metrics must cross network boundaries.
- Place the endpoint behind an authenticated reverse proxy if remote access is required.
- Document that the raw Prometheus endpoint provides no application-layer authentication.
- Add deployment verification steps such as external port scanning and firewall-rule review.
- Change the secure default to
