first commit

This commit is contained in:
2026-08-23 09:52:32 +02:00
commit 1a7ed8ef94
94 changed files with 10489 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
import unittest
from unittest.mock import patch
from librenet_scanner.privileged_helper import command_for, validate_target
class PrivilegedHelperTests(unittest.TestCase):
def test_authorize_exposes_no_command(self):
self.assertEqual(command_for("authorize", []), [])
with self.assertRaises(ValueError):
command_for("authorize", ["unexpected"])
def test_deep_scan_is_fixed_and_validated(self):
with patch("librenet_scanner.privileged_helper._trusted_binary", return_value="/usr/bin/nmap"):
cmd = command_for("nmap-deep", ["192.168.10.0/24"])
self.assertEqual(cmd[0], "/usr/bin/nmap")
self.assertIn("-sS", cmd)
self.assertIn("-O", cmd)
self.assertEqual(cmd[-1], "192.168.10.0/24")
def test_standard_scan_rejects_option_injection(self):
with self.assertRaises(ValueError):
command_for("nmap-standard", ["--script", "192.168.1.1"])
def test_unknown_operation_is_rejected(self):
with self.assertRaises(ValueError):
command_for("shell", ["/bin/sh"])
def test_target_limit(self):
self.assertEqual(validate_target("192.168.1.42/24"), "192.168.1.0/24")
with self.assertRaises(ValueError):
validate_target("10.0.0.0/8")
def test_arp_scan_uses_validated_interface_and_fixed_binary(self):
with patch("librenet_scanner.privileged_helper.validate_interface", return_value="enp42s0"), \
patch("librenet_scanner.privileged_helper._trusted_binary", return_value="/usr/sbin/arp-scan"):
cmd = command_for("arp-scan", ["enp42s0", "192.168.10.0/24"])
self.assertEqual(cmd, ["/usr/sbin/arp-scan", "--interface", "enp42s0", "192.168.10.0/24"])
if __name__ == "__main__":
unittest.main()