v3.6.3: resumable interrupted runs + crash-proof mid-run browsing

- /continue (and /resume) now relaunch a recovered interrupted run on the same
  target, carrying its findings forward and steering agents to widen coverage /
  chain from them instead of re-reporting. Offer shown at launch; a fresh /run
  supersedes it. Findings merge (dedup by title+endpoint) across both runs.
- Opening /results, /finding or /report while a run streams no longer corrupts
  the terminal: live background output is paused for the picker (still captured
  in /logs) and restored on exit, so Ctrl-C in a picker can't take the process
  down mid-run.
This commit is contained in:
CyberSecurityUP committed 2026-07-10 21:44:22 -03:00
1 parent 865611d552
commit 53c07b9a9c
14 files changed
+148 -53

No files matched your search

+4 -4
View File
@@ -1,4 +1,4 @@
//! NeuroSploit v3.6.2 — interactive harness + CLI (`run` / `whitebox` / `agents` / `models`).
//! NeuroSploit v3.6.3 — interactive harness + CLI (`run` / `whitebox` / `agents` / `models`).
mod repl;
mod tui;
@@ -11,8 +11,8 @@ use std::path::{Path, PathBuf};
#[command(
name = "neurosploit",
version,
about = "NeuroSploit v3.6.2 — multi-model autonomous pentest harness",
long_about = "NeuroSploit v3.6.2 — a Rust multi-model harness that drives a pool of LLMs \
about = "NeuroSploit v3.6.3 — multi-model autonomous pentest harness",
long_about = "NeuroSploit v3.6.3 — a Rust multi-model harness that drives a pool of LLMs \
(API key or local subscription: Claude/Codex/Gemini/Grok) to autonomously test a target. \
After recon it INTELLIGENTLY selects only the agents matching the discovered surface, runs \
them in parallel, then validates every finding by cross-model voting before reporting.\n\n\
@@ -721,7 +721,7 @@ pub(crate) fn spawn_engagement(base: &Path, mut cfg: RunConfig, mcp: bool, mode:
println!(" │ ua : {ua}");
write_status(&workdir, "running", &format!("\"target\":{:?}", cfg.target));
println!(" ┌─ NeuroSploit v3.6.2 · by Joas A Santos & Red Team Leaders");
println!(" ┌─ NeuroSploit v3.6.3 · by Joas A Santos & Red Team Leaders");
println!(" │ run id : {run_id}");
println!(" │ target : {}", cfg.target);
println!(" │ models : {}", cfg.models.join(", "));