TRON and related dekorte.com software — October 23, 2026
Address the confirmed publication of a legacy development TLS private key first. Then patch Node and certificate trust stores, update active development/build dependencies, and retire or upgrade the older utility dependency trees. Preserve gameplay behavior and keep the public multiplayer protocol unchanged during this work.
The baseline below records the initial assessment. The implementation status supersedes its original version inventory. Runtime and dependency fixes have now been applied; public-key containment was deployed separately. No shared history has been rewritten. Package presence establishes an affected version, not necessarily an exploitable application. There is no evidence from this review of an attacker using any finding.
5840b02; Pages run 40032587958 passed. All three former URLs returned 404 after deployment. Added artifact exclusions and a tested private-key/path guard before upload. Replaced the two old Python TLS launchers with Python 3 loopback-only HTTP servers; retired the old BIT Node server.overrides.miniflare.undici=7.30.1 patch resolves them without downgrading Wrangler or changing Undici’s major version. See the upstream advisory. All four maintained npm projects plus the separate active Max checkout report zero npm findings. Max certifi is 2026.10.23; OSV finds no matches in the updated 37-package lock. After-audit JSON is saved beside the baseline evidence.sha256:5e5039fefa57cba056832cce904b5e4a6c1176eedc38e22eac909d38bb103ee5. Rebuilt Max's local API image: sha256:fe39e4716436057b3a55b48ed4fa868975c872318a75fc632f07ae2ee6bfb19f; verified Node 22.23.4, Python 3.12.15 and certifi 2026.10.23 inside it. This is not evidence of a cloud Docker deployment; the configured public services use Cloudflare Workers.On macOS arm64: TRON's 642 unit tests, production build/asset checks, Worker dry-run, WebKit resize regression, two-client/14-connection multiplayer regression, PWA lifecycle and PWA update/recovery checks passed. Max website checkout: build, 93 mocked Python tests, and four focused browser checks passed using an isolated server on port 5192 (not the other checkout's server). Active Max checkout: build and 21 API tests passed. Crawler's two offline XML/browser tests and Postcard's one offline composer test passed using downloaded Chrome for Testing 156.0.8078.47. No paid model calls or live crawls were used.
Trivy 0.76.1 found 844 high/critical package/advisory rows in the TRON development image and 63 in Max's image, with zero available fixes reported after remediation. These counts include repeats across related Debian binary packages; they are not unique exploitable defects. Full compact inventories: TRON container findings, Max container findings. Development/media tools should not process untrusted inputs with production credentials. Owner: project maintainer; review by October 30, 2026, or immediately when vendor patches appear. This is a temporary documented exposure, not a clean-image claim. Weekly CI fails on fixable high/critical findings; it does not silently certify unfixed findings as safe.
Historical key copies remain in Git history; rewriting shared history requires separate authorization. Current launcher use of these keys has been retired, but other trust-store entries, reuse, historical downloads and unavailable access logs have not been exhaustively established. Do not reuse any exposed key. No evidence establishes production TLS key exposure. Cloud-provider internals, other macOS software and vendored source are not covered by the completed package scans. New public dependency builds and CI results will be recorded after rollout; no backend protocol or gameplay change is intended.
Reviewed the TRON repository, parent website publishing workflow, Max Headroom npm/Python locks and Dockerfile, car crawler, Postcard tooling, and legacy BIT local-server lock. Queried npm advisories for all five npm trees and OSV for 37 registry packages in Max Headroom's uv.lock. Consulted upstream Node, Vite, Undici, ws and certifi advisories. No exploit payloads were run.
The running shell reports Node 22.22.0 and npm 10.9.4. TRON's .node-version also pins 22.22.0; its engine floor is only >=22.12.0. Its development container uses a digest-pinned Node 22 Bookworm image. Parent CI selects Node 24 for TRON and Node 22 for Max Headroom. Max Headroom's container copies Node from a floating Node 22 image into a Python 3.12 Bookworm image. Exact deployed container versions, image vulnerabilities, and CI-resolved patches were not inspected.
TRON's public frontend is static; its configured public multiplayer/AI backend is a Cloudflare Worker/Durable Object, not the developer's Node process. Updating local Node does not patch provider-managed Workers, browsers, or an already built Max Headroom container. Wrangler/Miniflare advisories do not by themselves establish a vulnerability in Cloudflare's deployed runtime.
| Locked npm tree | Critical | High | Moderate | Low | Total affected nodes |
|---|---|---|---|---|---|
| TRON | 0 | 6 | 0 | 0 | 6 |
| Max Headroom | 0 | 2 | 0 | 0 | 2 |
| Car crawler | 2 | 11 | 21 | 1 | 35 |
| Postcard | 1 | 7 | 0 | 0 | 8 |
| Legacy BIT local server | 9 | 38 | 61 | 4 | 112 |
These are npm dependency-node counts, including parent packages flagged through vulnerable dependencies. They are not unique vulnerability counts and must not be added together as independent exploits. Python OSV matched certifi 2026.7.22 to two identifiers for the same trust-store issue. No match for the other 36 queried packages is not proof that they are secure.
Saved evidence: inventory and lock hashes, TRON npm, Max npm, crawler npm, Postcard npm, legacy BIT npm, Python query, and Python results. npm audit returned nonzero because it found vulnerabilities, not because the registry checks failed. Reports describe the review date; rerun them before patch selection.
The parent repository tracks development TLS keys in the legacy BIT server directory. Its Pages assembly broadly copies the parent checkout with rsync, without excluding that directory. A public request to one tracked key path returned HTTP 200; an in-memory comparison confirmed the response exactly matched the committed private key and contained a private-key PEM marker. Key bytes were neither printed nor saved in this report.
This establishes public exposure of that development key, not exposure of the production site's TLS key. Current local modifications to its key/certificate were excluded from the last commit, but the older committed key remained publishable. Merely ignoring future files does not remove tracked or previously published copies.
Acceptance: no private keys in the assembled website; sampled former paths contain no key bytes; affected credentials replaced or retired; prevention check fails on a harmless test fixture. This is the first remediation to undertake, independent of package updates.
Node's October 21 security release includes a high-severity Brotli decoder memory-corruption/RCE issue (CVE-2026-111497), DNS NUL handling (CVE-2026-105482), TLS hostname verification fixes, and dependency/trust-store updates. Malicious Brotli must reach decompression to trigger that decoder flaw; affected version alone does not prove reachability. Use 22.23.4 as the immediate Node 22 patch target; Node 24 environments need the corresponding 24.22.1 security release or a subsequently verified patched release. Node advisory, Node 22.23.4 release.
The local shell and project pin are confirmed below that target. Do not assume all long-running servers use the shell's executable or version. No direct application Brotli decoder was found in the reviewed TRON server/build sources, but dependency downloads and HTTP clients also warrant inspection. Snapshot/SEA-specific entropy advisories should not be presented as affecting our normal execution without evidence those modes are used.
Max Headroom locks certifi 2026.7.22. The critical October 20 advisory removes emSign roots associated with compromised intermediates; the fixed bundle is 2026.10.18. This matters for outbound HTTPS clients that use certifi. It does not establish interception occurred. certifi maintainer advisory.
Acceptance: supported patched runtime in shell, relevant processes, CI and built containers; updated Python trust store in the deployed application; immutable image evidence and smoke checks retained. No claim of deployment completion until the running service is verified.
| Component | Locked version | Proposed target | Exposure and treatment |
|---|---|---|---|
| TRON Vite | 8.3.0 | 8.3.5, verified published at review | October advisories fixed from 8.3.3; patch development server/build tooling |
| Max Headroom Vite | 6.4.3 | 6.4.5 on the existing major | Relevant fixes begin at 6.4.4; avoid an unnecessary major migration |
| source-map-js, both projects | 1.2.1 | >=1.2.2 | Indexed source-map denial of service; primarily build/tool input processing |
| TRON Wrangler | 4.136.1 | 4.152.0 candidate | Update with a compatible Miniflare dependency tree, then audit resolved versions |
| TRON Miniflare dependencies | sharp 0.35.4; undici 7.29.0 | sharp >=0.35.5; compatible Undici >=7.29.1 on 7.x | Fix through supported parent updates; do not force Undici 8 merely because it is latest |
The Vite custom-middleware script-execution advisory requires an unchanged request URL passed to server.transformIndexHtml plus other conditions. TRON uses Vite's normal app handling; its HTML-transform plugins are not evidence of that vulnerable call pattern. The review found no matching custom call in the inspected sources. Other advisories concern editor launch, path restrictions and, in Vite 8.3, a four-byte disclosure through WASM errors. Windows-only issues are not directly applicable to this Mac, but other contributors may be affected. Loopback binding reduces exposure but is not a replacement for patching. Vite custom middleware, filesystem restriction advisory, WASM disclosure.
Sharp's advisory concerns its librsvg dependency; establishing exploitability requires tracing untrusted SVG processing. Undici has several affected API paths, including BalancedPool TLS-option handling and WebSocket/response handling. Their presence under Miniflare does not mean the shipped browser game uses them. Node's bundled Undici and the npm package are separate patch targets. Sharp advisory, Undici maintainer advisory, source-map-js advisory.
npm audit fix --force across the whole site.The crawler, Postcard and legacy BIT locks contain much larger backlogs. They are separate from the BIT experience bundled inside TRON. Establish whether each legacy tool is actively run before treating its dependency tree as public server code.
Older utilities contain ws versions below the patched 8.21.0 line for a memory-exhaustion advisory; TRON's ws 8.22.0 is outside that affected range. The full reports include exact ranges and remediation suggestions for the FTP, XML, archive extraction and other findings. ws maintainer advisory.
No current audit match was reported for TRON's Three.js, Rapier, Transformers.js or ws dependency roots; this is not an independent source/binary security assessment. Colvmn's reviewed package manifest declares no npm dependencies, but its custom code and vendored resources still require normal code review. Deployed provider infrastructure and all historical artifacts are outside the completed scan. Targets above are verified as of this review and must be rechecked when implementation begins.