mirror of
https://github.com/CyberSecurityUP/NeuroSploit.git
synced 2026-10-10 18:04:04 +02:00
feat: whitebox/greybox/repl accept a GitHub URL (auto-clone)
`whitebox <arg>`, `greybox --repo <arg>`, `tui --repo`, and the REPL `/repo` now accept a git URL (https://github.com/owner/repo[.git], git@…, ssh://, *.git) or an `owner/repo` shorthand. A new resolve_source() shallow-clones it into <base>/repos/<name> (cached, .gitignored) and reviews it; existing local paths are used unchanged. Works identically with API-key (--model) and --subscription. Verified: `neurosploit whitebox https://github.com/digininja/DVWA --offline` clones DVWA and runs the 78 code agents over 120KB of source. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
489b3abd3f
commit
761d3df444
4 files changed
+66
-4
No files matched your search
@@ -392,9 +392,15 @@ pub async fn repl(base: &Path) -> anyhow::Result<()> {
|
||||
s.target = Some(t.clone()); println!(" target: {t}"); }
|
||||
}
|
||||
"/repo" => {
|
||||
if arg.is_empty() { println!(" repo: {}", s.repo.clone().unwrap_or_else(|| "(none) — set with /repo <path>, clear with /repo clear".into())); }
|
||||
if arg.is_empty() { println!(" repo: {}", s.repo.clone().unwrap_or_else(|| "(none) — set with /repo <path | github-url | owner/repo>, clear with /repo clear".into())); }
|
||||
else if arg == "clear" { s.repo = None; println!(" repo cleared"); }
|
||||
else { s.repo = Some(arg.to_string()); println!(" repo: {arg}"); }
|
||||
else {
|
||||
// Accept a local path OR a GitHub URL / owner-repo shorthand (cloned on set).
|
||||
match crate::resolve_source(base, arg) {
|
||||
Ok(p) => { s.repo = Some(p.clone()); println!(" repo: {p}"); }
|
||||
Err(e) => println!(" \x1b[31mcould not resolve repo: {e}\x1b[0m"),
|
||||
}
|
||||
}
|
||||
}
|
||||
"/auth" => {
|
||||
if arg.is_empty() { println!(" auth: {}", s.auth.clone().unwrap_or_else(|| "(none) — set with /auth <header>, clear with /auth clear".into())); }
|
||||
|
||||
Reference in new issue
Block a user