Improve evidence classification and compact CLI reporting

This commit is contained in:
0x000 committed 2026-10-15 14:30:45 -04:00
1 parent 9dc7289652
commit dda4f8563f
28 files changed
+945 -87

No files matched your search

+7 -4
View File
@@ -101,7 +101,7 @@ class DiscoveryIntegrationTests(unittest.TestCase):
report = json.loads((output / "report.json").read_text(encoding="utf-8"))
self.assertEqual([host["address"] for host in report["hosts"]], [SMB_ONLY])
self.assertIn("10.99.0.99", report["hosts"][0]["check_details"]["oxid"])
self.assertIn("INFO: [OXID-INTERFACES]", captured.getvalue())
self.assertIn("INFO[OXID]", captured.getvalue())
def test_review_catalog_is_not_an_executable_check(self):
captured = io.StringIO()
@@ -136,9 +136,9 @@ class DiscoveryIntegrationTests(unittest.TestCase):
patch("rpcscope.runner._run") as run, contextlib.redirect_stdout(captured), contextlib.redirect_stderr(diagnostics):
code = main(["scan", RPC_ONLY, "--checks", "recommended", "--authorised", "-o", str(output)])
self.assertEqual(code, 0)
self.assertIn("SUMMARY scan complete", diagnostics.getvalue())
self.assertIn("COMPLETE |", diagnostics.getvalue())
self.assertNotIn(RPC_ONLY, diagnostics.getvalue())
self.assertEqual(captured.getvalue(), "")
self.assertEqual(captured.getvalue(), "No reachable SMB/RPC hosts.\n")
report = json.loads((output / "report.json").read_text())
self.assertEqual(report["hosts"][0]["checks"], {})
self.assertEqual(report["hosts"][0]["check_attempts"], [])
@@ -163,9 +163,12 @@ class DiscoveryIntegrationTests(unittest.TestCase):
use_enum4linux=False, use_rpcdump=False, checks=[CHECKS["smbghost"]])
events = []
with patch("rpcscope.runner.doctor", return_value=TOOLS), patch("rpcscope.runner.discover_services", side_effect=probe), \
patch("rpcscope.runner.probe_smb_compression", return_value=CheckResult("exposed", "compression only")) as native, \
patch("rpcscope.runner._run", side_effect=run) as execute:
hosts = scan(config, progress=events.append)
self.assertEqual(execute.call_count, 2)
self.assertEqual(execute.call_count, 1)
native.assert_called_once()
self.assertEqual(native.call_args.args, (SMB_ONLY,))
self.assertEqual(hosts[dead].checks, {})
self.assertEqual(coverage(hosts[SMB_ONLY]), (1, 1, False))
self.assertEqual(events[-1].status, "complete")