BLACKSTART
Join a game.
Enter the code provided by your organizer.
Organizer controls · separate operator login
Checking your session…
BLACKSTART
Enter the code provided by your organizer.
Organizer controls · separate operator login
Checking your session…
NORTHSTAR DISPATCH / NIGHT SHIFT
Follow the evidence. Preserve what matters. Recover what you can.
YOUR PRIVATE WORKSPACE
Your cookie restores this session. Team membership never grants access to another player’s shell or private files.
ls /evidence.Case and grading availability are reported by the server. Save drafts in Questions, then submit explicitly if practice grading is available.
Not requested.
Development environment. Case status loads with your session. Round timer, teams and leaderboard are not connected.
YOUR INVESTIGATION STARTS HERE
A dispatch outage, an unusual upload, and a delayed database backup have brought you into an incident investigation. Work out what happened, establish the impact, contain the incident, and identify a clean recovery point.
In this fictional scenario, the initial triage team has gathered a curated evidence bundle for you. It contains the most anomalous sections of the relevant logs, snapshots and audit records, alongside routine activity and unsuccessful attempts for comparison. These are selected excerpts—not complete host histories. An event missing from an excerpt is not proof that it never happened.
The case is synthetic training material, not telemetry from a real incident. Enriched audit records supply correlations that ordinary Apache or PostgreSQL logs would not necessarily capture.
/evidence; ps shows your investigation sandbox, not the historical incident processes.Current playable scoring covers Q1–Q12 (770 of 1,000 points). Q12 uses your verified containment controls. Q13–Q15 final recovery verification and scoring are still being implemented. Model output and a prepared file are not proof of recovery. Restoring availability does not undo data disclosure.
Original sources stay read-only.
Your observations belong in the notebook.
Join to load your authorized evidence catalog.
Authenticated reads of the server-selected, digest-pinned case. One chunk in memory, no automatic downloads. Display controls are removed; receipt ranges refer to source bytes. Receipts record retrieval, not truth or points. This app is a read-only evidence browser, not an editor for live workspace files.
Join to open your terminal.
One terminal per player, four local workstations. Reconnect preserves a running shell and up to 128 KiB of recent output. Files are ephemeral: ending Bash, logout, app restart or the one-hour limit discards them. /work and writable /recovery scratch each allow 64 MiB. The nested /recovery/verified view is broker-owned and read-only; its published file survives ending Bash until the disposable run is explicitly reset. Total output is capped at 16 MiB. ps shows this sandbox, not the historical incident. Clipboard escapes and terminal links are disabled.
Join to use private inference.
Your question and explicit excerpt are sent. When read-only Agent mode is enabled, the bounded harness may also retrieve your owned public evidence and simulator status and send those observations to Spark. Completed receipts are shown as text. Ordinary text mode has no tools. The model cannot run shell commands, change files, approve recovery or score answers; source instructions cannot grant authority. Requests and final results are saved privately. Workflows change the request, not privileges. Model revision/tokenizer are not pinned. Stop drops this request; backend computation may take time to stop.
Join to open your private notes.
Join to load questions, private drafts and server grading availability.
CTF RECOVERY CHALLENGE
Your challenge state loads when you join. Work through the steps below; successful actions update the next step automatically.
Q1–Q12 can be scored now. After Check containment passes, open Q12 and choose Use my containment result, then save and submit. Q13–Q15 still require unfinished recovery verification.
PER-PLAYER INCIDENT SIMULATOR
These typed controls change your private incident simulation—not the investigation terminal or real host services. No agent can approve them.
Load your simulated incident state.
Approvals bind your session, case, player, workspace generation, exact action digest and state revision. They expire after five wall-clock minutes and are single-use. Preserve evidence, isolate incident network paths, stop persistence and the incident process, rotate the synthetic credential, disable the vulnerable CGI entry point, and suspend the unsafe backup workflow / excess privilege. This is not a software-patching claim.
Checks independently read server state and hash your authorized evidence. Ten deterministic simulation ticks check recurrence; they are not ten seconds of real monitoring. Results are cached for unchanged immutable state. No host shell commands, restored files, production security verdict or points are produced. Q12 awards 90 points only when your submitted references match independently verified owned containment. Read-only terminal labctl shows cached simulator state. Recovery publication requires separate staging and publication approvals.
ACTUAL CASE / FIXED APPLICATION REPLAY
Select a backup, journal segments and cutoff from your investigation. This creates a private downloadable artifact—not files in the live workstation.
A current passing containment check is required.
Five-minute, single-use, session-bound approval. This executes only the fixed application replay library—no shell scripts, filesystem staging or publication. Consistency can pass at a destructive cutoff; inspect the evidence. Artifacts are not recovery proof or points.
SEPARATE GVISOR SANDBOX / SINGLE-FILE SLICE
Your prepared candidate is read-only at /recovery/candidate.json. Only the preallocated /work/recovered.json is writable output. Use /tmp for scratch; creating or replacing output directory entries is prohibited.
Proposing saves these exact bytes; unsaved editor text is not persisted. Approval permits arbitrary code only inside this separate sandbox, never your live workstation.
Load inputs after preparing a recovery candidate.
UID 1000 · no egress · read-only image/input · 512 MiB memory · 1 CPU · 128 tasks · 60-second script limit · 32 KiB logs · 512 KiB captured artifact. Capture happens after the sandbox stops. A matching staged JSON file does not prove the selected cutoff is clean. Publication requires separate approval in the next step; scoring requires a saved submission in Questions.
BROKER-OWNED / READ-ONLY RECOVERY DESTINATION
Separate approval copies your captured staging bytes to the actual /recovery/verified/recovered.json file, visible read-only in Bash. Your writable files are untouched. Public consistency does not identify the clean cutoff; Questions independently checks that.
Stage a reviewed candidate first.
After publication, use Questions Q13–Q15 → Use my recovery result, complete your assessment, Save, then Submit. This is application recovery in a synthetic CTF, not PostgreSQL PITR or repaired production hosts. A terminal started on an older server profile needs an explicit close/reopen; do not close a terminal containing unsaved work. Availability recovery cannot undo disclosure.
Replay actual toy data in memory. This is not live file restoration, PostgreSQL WAL, containment verification or scoring.
Join, then load the tutorial.
A destructive cutoff can produce a consistent empty state. Inspect the journal—not just a passing check.
Team invitations, chat and the collaborative notebook still need backend implementation. No messages or files are shared from this view.
Joining a team will not share your terminal, writable files, agent history or recovery approvals.
15 QUESTIONS / 1,000 POSSIBLE POINTS
Only explicit submissions to the server grader award points. Saving drafts and asking the model do not.
Join to load your score.
Q1–Q11: 70% structured facts, 30% cited evidence. Evidence credit requires all facts correct in the same submission and the required valid source/event references. Each component is awarded at most once. No wrong-answer penalty; one new graded attempt per ten seconds, at most 256 per player/case. Retrying the same saved revision cannot award twice.
Q12: 90 points for verified owned containment and matching action/manifest/check references. Q13–Q15 award 230 points only for owned approved recovery, independently verified full clean state and a matching source-cited assessment. Organizer games have a server active clock and explicit start/pause/end; legacy practice is untimed. Optional paid hints deduct 10%, an additional 15%, then an additional 25% of the question maximum (cumulative percentages rounded down). Buy tiers in order; total score is max(0, gross awards minus permanent deductions). Hint purchase requires explicit confirmation and does not save/submit drafts. New games may opt into staged questions at 0, 25, 65 and 100 active minutes; pauses stop that clock. Organizer advancement can only release more questions. Evidence remains available and released questions never relock. Organizer may opt into a locked-roster team-average leaderboard. Each player still passes their own recovery checks and retains a separate workstation. Team ties use fewer purchased hints, then earlier final correct completion; otherwise rank is shared. Disconnected roster members remain in the mean. Appeals remain unfinished.
This stream currently contains inert fixture-run events, not a live agent tool transcript. Real Spark responses are in the Agent window.
No fixture events received.
Fixture drafts are not accepted answers, recovery checks or points.
No drafts received.
Not model reasoning or tool execution. This demonstration belongs outside the scored player workflow.
Fixture runs complete synchronously. No real work is running to stop.
Join to request a fixture run.
2,048 locally generated timestamps in twelve buckets. Not original evidence, receipts or scoring input. CPU Worker is default; optional GPU remains unbenchmarked.
GPU not initialized.
Ready. Modules load only on request.
No operation observed.
| Bucket | Count |
|---|