Browse Source

Suppress Bandit false positives in virtual printer and tests

B108: /tmp paths in test mocks (not real filesystem access).
B104: string comparisons against "0.0.0.0" (not socket binds).
maziggy 3 months ago
parent
commit
51f08a5c86

+ 1 - 1
backend/app/services/virtual_printer/ftp_server.py

@@ -276,7 +276,7 @@ class FTPSession:
                 sockname = self.writer.get_extra_info("sockname")
                 sockname = self.writer.get_extra_info("sockname")
                 ip = sockname[0] if sockname else "127.0.0.1"
                 ip = sockname[0] if sockname else "127.0.0.1"
                 # 0.0.0.0 is not routable — fall back to control connection IP
                 # 0.0.0.0 is not routable — fall back to control connection IP
-                if ip == "0.0.0.0":
+                if ip == "0.0.0.0":  # nosec B104
                     ip = "127.0.0.1"
                     ip = "127.0.0.1"
 
 
             # Format IP and port for PASV response
             # Format IP and port for PASV response

+ 2 - 2
backend/app/services/virtual_printer/tcp_proxy.py

@@ -390,8 +390,8 @@ class FTPTLSProxy(TLSProxy):
 
 
         # Determine our local IP from the control connection socket
         # Determine our local IP from the control connection socket
         sockname = client_writer.get_extra_info("sockname")
         sockname = client_writer.get_extra_info("sockname")
-        local_ip = sockname[0] if sockname else "0.0.0.0"
-        if local_ip in ("0.0.0.0", "::"):
+        local_ip = sockname[0] if sockname else "0.0.0.0"  # nosec B104
+        if local_ip in ("0.0.0.0", "::"):  # nosec B104
             local_ip = "127.0.0.1"
             local_ip = "127.0.0.1"
 
 
         # Connect to target printer with TLS
         # Connect to target printer with TLS

+ 3 - 3
backend/tests/unit/services/test_virtual_printer.py

@@ -926,7 +926,7 @@ class TestVirtualPrinterManagerServerModeIPOverride:
             patch.object(
             patch.object(
                 manager._cert_service,
                 manager._cert_service,
                 "generate_certificates",
                 "generate_certificates",
-                return_value=(Path("/tmp/cert.pem"), Path("/tmp/key.pem")),
+                return_value=(Path("/tmp/cert.pem"), Path("/tmp/key.pem")),  # nosec B108
             ),
             ),
         ):
         ):
             mock_ssdp_cls.return_value.start = AsyncMock()
             mock_ssdp_cls.return_value.start = AsyncMock()
@@ -955,7 +955,7 @@ class TestVirtualPrinterManagerServerModeIPOverride:
             patch.object(
             patch.object(
                 manager._cert_service,
                 manager._cert_service,
                 "generate_certificates",
                 "generate_certificates",
-                return_value=(Path("/tmp/cert.pem"), Path("/tmp/key.pem")),
+                return_value=(Path("/tmp/cert.pem"), Path("/tmp/key.pem")),  # nosec B108
             ) as mock_gen_certs,
             ) as mock_gen_certs,
         ):
         ):
             await manager._start_server_mode()
             await manager._start_server_mode()
@@ -978,7 +978,7 @@ class TestVirtualPrinterManagerServerModeIPOverride:
             patch.object(
             patch.object(
                 manager._cert_service,
                 manager._cert_service,
                 "generate_certificates",
                 "generate_certificates",
-                return_value=(Path("/tmp/cert.pem"), Path("/tmp/key.pem")),
+                return_value=(Path("/tmp/cert.pem"), Path("/tmp/key.pem")),  # nosec B108
             ) as mock_gen_certs,
             ) as mock_gen_certs,
         ):
         ):
             await manager._start_server_mode()
             await manager._start_server_mode()