mirror of
https://github.com/CyberSecurityUP/NeuroSploit.git
synced 2026-10-04 06:56:56 +02:00
The web server's job state was in-memory only, so a node restart/crash lost the live run (the harness still checkpointed to .neurosploit/active_run.json, but the console couldn't see or re-attach it). - persist each job to .neurosploit/web-jobs/<id>.json (snapshot + feed tail + sanitized launch params; NO api keys or creds contents), throttled, on findings/phase/done - loadPersistedJobs() on boot: a job that was live becomes `interrupted`, and `resumable` when it was a REPL-backed run/whitebox/greybox - POST /api/exploit/:id/resume: relaunch the REPL (NEUROSPLOIT_AUTO_RESUME=1), which recovers the on-disk checkpoint and /continue's it, carrying findings forward; reuses the same job id so the live view resumes streaming - API-key jobs need the provider key re-entered after a full restart (kept only in memory) — resume returns a clear 409 saying which; subscription resumes clean - frontend: boot offers a dismissible "N interrupted run(s) — Resume" banner Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>