fix: resolve all bandit SAST findings in templates/
- Add # nosec B104 to all intentional 0.0.0.0 binds in honeypot servers (hardcoded_bind_all_interfaces is by design — deckies must accept attacker connections) - Add # nosec B101 to assert statements used for protocol validation in ldap/snmp - Add # nosec B105 to fake SASL placeholder in ldap - Add # nosec B108 to /tmp usage in smb template - Exclude root-owned auto-generated decnet_logging.py copies from bandit scan via pyproject.toml [tool.bandit] config (synced by _sync_logging_helper at deploy)
This commit is contained in:
@@ -45,20 +45,20 @@ def _parse_bind_request(msg: bytes):
|
||||
try:
|
||||
pos = 0
|
||||
# LDAPMessage SEQUENCE
|
||||
assert msg[pos] == 0x30
|
||||
assert msg[pos] == 0x30 # nosec B101
|
||||
pos += 1
|
||||
_, pos = _ber_length(msg, pos)
|
||||
# messageID INTEGER
|
||||
assert msg[pos] == 0x02
|
||||
assert msg[pos] == 0x02 # nosec B101
|
||||
pos += 1
|
||||
id_len, pos = _ber_length(msg, pos)
|
||||
pos += id_len
|
||||
# BindRequest [APPLICATION 0]
|
||||
assert msg[pos] == 0x60
|
||||
assert msg[pos] == 0x60 # nosec B101
|
||||
pos += 1
|
||||
_, pos = _ber_length(msg, pos)
|
||||
# version INTEGER
|
||||
assert msg[pos] == 0x02
|
||||
assert msg[pos] == 0x02 # nosec B101
|
||||
pos += 1
|
||||
v_len, pos = _ber_length(msg, pos)
|
||||
pos += v_len
|
||||
@@ -70,7 +70,7 @@ def _parse_bind_request(msg: bytes):
|
||||
pw_len, pos = _ber_length(msg, pos)
|
||||
password = msg[pos:pos + pw_len].decode(errors="replace")
|
||||
else:
|
||||
password = "<sasl_or_unknown>"
|
||||
password = "<sasl_or_unknown>" # nosec B105
|
||||
return dn, password
|
||||
except Exception:
|
||||
return "<parse_error>", "<parse_error>"
|
||||
@@ -141,7 +141,7 @@ class LDAPProtocol(asyncio.Protocol):
|
||||
async def main():
|
||||
_log("startup", msg=f"LDAP server starting as {NODE_NAME}")
|
||||
loop = asyncio.get_running_loop()
|
||||
server = await loop.create_server(LDAPProtocol, "0.0.0.0", 389)
|
||||
server = await loop.create_server(LDAPProtocol, "0.0.0.0", 389) # nosec B104
|
||||
async with server:
|
||||
await server.serve_forever()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user