Security note PW-01parallel works

The exposed surface stays deliberate.

This report summarizes a self-assessment and a later security-control refresh for Parallel Works. It records the tested configuration at each date; active game profiles and service versions may change after the baseline.

Writeup

Abstract

The review combined network reconnaissance, web testing, configuration inspection, CI security checks, service-hardening analysis, monitoring validation and restore exercises. Early findings drove remediation of exposed management paths, missing web controls and credential handling.

The 24 September refresh found only documented public listeners, no failed security workflow and no direct Internet access to the administration and observability services checked. Residual risks remained documented rather than treated as closed by default.

Initial assessment

The April self-assessment identified an RCON credential exposed through exporter command-line arguments, a directly reachable map origin, missing or inconsistent security headers, web-server version disclosure and HTTP-only origin traffic. Several protocol disclosures and the public voice-chat port were accepted as operating constraints.

Later work upgraded the exporter to read the credential from a restricted environment file, removed the direct map port from public firewalls, added TLS and response headers, disabled server tokens, and routed health monitoring around the map server’s documented HEAD behavior.

Exposure refresh

The September evidence run found the intended web, SSH and two game listeners reachable. Grafana, Uptime Kuma, the status API origin, BlueMap origin, Prometheus, Alertmanager, Node Exporter, both game exporters and both RCON listeners were not directly reachable from the Internet.

Unauthenticated requests to the two administrative web hostnames redirected to Cloudflare Access. The public site and API returned the expected transport and browser security headers.

Control validation

CodeQL, Checkov, lint and tests, ZAP DAST and the VPS deployment workflow all completed successfully for the recorded commit. Systemd exposure scores for three custom services moved from 9.2 UNSAFE to 2.8–3.2 OK after hardening.

Full-extraction restore drills completed for both then-active game profiles and removed their scratch directories. Prometheus and Loki rules loaded without evaluation failures, and both firing and resolved ntfy delivery were confirmed.

Residual risk

Volumetric traffic against public game protocols remains an upstream network risk; generic per-IP limiting was rejected because it could disrupt players behind shared NAT without preventing link saturation. Protocol-required version disclosure and the public voice path also remain accepted constraints when enabled.

Chat-content retention remains a privacy decision, reviewed configuration paths were not yet selected for the optional integrity baseline, and GitHub account two-factor status required owner confirmation outside the technical evidence run.

Conclusion

The review supports a dated conclusion that public exposure was reduced to intended service paths and that recovery, alerting and administrative access controls were exercised. It does not guarantee the absence of vulnerabilities or cover provider infrastructure outside the project’s authority.

Profile changes should trigger a new listener inventory, restore drill and web-control check so the security record follows the active deployment rather than the name of the service.

RegisterPublic surface

parallel works

Assessment dates
26 April 2026 · refreshed 24 September 2026
Subject
Parallel Works infrastructure and public services
Method
Network · web · configuration · CI · recovery · monitoring
Admin surface
Loopback services behind Cloudflare Access at the recorded baseline
Hardening result
Custom service exposure scores reduced from 9.2 UNSAFE to 2.8–3.2 OK
Recovery
Full-extraction restore drills passed for both recorded profiles
Claim boundary
Self-assessment · dated configuration · no provider-infrastructure claim