Módulo device_config · Helpers de parseo/credenciales/SSRF guard
Descripción
device_config.py — Funciones helper de bajo nivel para parseo de config de management de equipos de red, descifrado de credenciales y guard de SSRF.
Funciones públicas:
parse_device_config(device)→ dict (JSON parseo)get_device_ip(config, decrypt=True)→ str (IP descifrada)get_decrypted_credentials(config, device_id)→ (username, password)is_private_ip(ip)→ bool (SSRF guard)get_device_vendor(config)→ strget_device_port(config)→ int
Cambios (s113)
M7/B10: is_private_ip completo ✓
Cubre explícitamente:
- RFC1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
- Loopback: 127.0.0.0/8, ::1
- Link-local/metadata: 169.254.0.0/16, fe80::/10
- CGNAT (VPN NetBird): 100.64.0.0/10
- Unspecified: 0.0.0.0, ::/128
- Multicast: 224.0.0.0/4, ff00::/8
M9: Fallback a None ✓
Antes: get_device_ip() si descifrado fallaba devolvía token gAAAAA....
Ahora: Devuelve None → 400 en endpoint.
Efecto: Fallo de descifrado visible, no silencioso.
Véase también
- [[entity—network—endpoint—execute-script]]
- [[entity—network—service—scrapli-manager]]
- [[feature—network—scripts-ssh-audit-s113]]