From ed4105999ec7bdc46fa8d46717262e11a4f2c26b Mon Sep 17 00:00:00 2001 From: CyberSecurityUP Date: Fri, 2 Oct 2026 20:17:41 -0300 Subject: [PATCH] fix: version strings showed 4.2.0; use CARGO_PKG_VERSION so they never go stale The REPL banner and HTML-report footer hardcoded v4.2.0 while the crate is 4.2.1. Both now interpolate env!("CARGO_PKG_VERSION"); web title/sidebar/comments set to 4.2.1. --version already read the crate version. Co-Authored-By: Claude Opus 4.8 --- neurosploit-rs/app/src/repl.rs | 4 ++-- neurosploit-rs/app/src/tui.rs | 2 +- neurosploit-rs/crates/harness/src/report.rs | 3 ++- web/public/app.js | 2 +- web/public/index.html | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/neurosploit-rs/app/src/repl.rs b/neurosploit-rs/app/src/repl.rs index c8e5d60..d07a703 100644 --- a/neurosploit-rs/app/src/repl.rs +++ b/neurosploit-rs/app/src/repl.rs @@ -1,4 +1,4 @@ -//! NeuroSploit v4.2.0 — interactive session (Claude-Code / Codex / Cursor-CLI style). +//! NeuroSploit v4.2.1 — interactive session (Claude-Code / Codex / Cursor-CLI style). //! //! Launched when `neurosploit` runs with no subcommand. A persistent REPL with //! real line editing (arrow-key history recall, Ctrl-A/E/K, paste), model @@ -440,7 +440,7 @@ pub async fn repl(base: &Path, auth: SessionAuth) -> anyhow::Result<()> { let backends = harness::installed_cli_backends(); println!("\x1b[1m"); println!(" ███╗ ██╗███████╗██╗ ██╗██████╗ ██████╗"); - println!(" ████╗ ██║██╔════╝██║ ██║██╔══██╗██╔═══██╗ NeuroSploit v4.2.0"); + println!(" ████╗ ██║██╔════╝██║ ██║██╔══██╗██╔═══██╗ NeuroSploit v{}", env!("CARGO_PKG_VERSION")); println!(" ██╔██╗ ██║█████╗ ██║ ██║██████╔╝██║ ██║ interactive harness"); println!(" ██║╚██╗██║██╔══╝ ██║ ██║██╔══██╗██║ ██║ by Joas A Santos"); println!(" ██║ ╚████║███████╗╚██████╔╝██║ ██║╚██████╔╝ & Red Team Leaders"); diff --git a/neurosploit-rs/app/src/tui.rs b/neurosploit-rs/app/src/tui.rs index d5fc541..9b4bc55 100644 --- a/neurosploit-rs/app/src/tui.rs +++ b/neurosploit-rs/app/src/tui.rs @@ -1,4 +1,4 @@ -//! NeuroSploit v4.2.0 — TUI "Mission Control" mode. +//! NeuroSploit v4.2.1 — TUI "Mission Control" mode. //! //! Concurrent panels that update live while the engagement runs in the //! background, with a composer input that stays active during execution: diff --git a/neurosploit-rs/crates/harness/src/report.rs b/neurosploit-rs/crates/harness/src/report.rs index bc85abd..a814988 100644 --- a/neurosploit-rs/crates/harness/src/report.rs +++ b/neurosploit-rs/crates/harness/src/report.rs @@ -242,8 +242,9 @@ pub fn html_with_pocs(target: &str, findings: &[Finding], meta: &EngagementMeta,

Executive Summary

{summary_grid}
\ {vuln_summary}\

Findings ({n})

{body}\ - ", + ", t = esc(target), n = sorted.len(), body = body, summary_grid = summary_grid, vuln_summary = vuln_summary, + VER = env!("CARGO_PKG_VERSION"), // Which build produced this document. A report that circulates without // it is a report nobody can trace back to the run that made it. provenance = esc(&crate::provenance::Provenance::process().tag()), diff --git a/web/public/app.js b/web/public/app.js index f19349c..f8e90c1 100644 --- a/web/public/app.js +++ b/web/public/app.js @@ -1,5 +1,5 @@ 'use strict'; -/* NeuroSploit v4.2.0 — web console frontend. Vanilla JS, no build step. */ +/* NeuroSploit v4.2.1 — web console frontend. Vanilla JS, no build step. */ const $ = (sel, root = document) => root.querySelector(sel); const $$ = (sel, root = document) => Array.from(root.querySelectorAll(sel)); diff --git a/web/public/index.html b/web/public/index.html index 0c80822..705ad35 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -3,7 +3,7 @@ -NeuroSploit v4.2.0 — Console +NeuroSploit v4.2.1 — Console @@ -33,7 +33,7 @@
- v4.2.0 + v4.2.1