Qué es la herramienta y qué hace dnsight
dnsight se distribuye como un único paquete que, tras la instalación, ofrece dos modos de uso. El primero es la línea de comandos, donde se pueden ejecutar auditorías de dominio, comprobaciones individuales y generación de ciertos registros. El segundo es una API para importar en Python, que permite integrar las comprobaciones en herramientas propias, canalizaciones o scripts internos. Para trabajos editoriales, de ingeniería o de DevSecOps este enfoque es cómodo porque la misma lógica está disponible tanto para ejecución manual como para automatización.
El proyecto se articula en torno a varios grupos temáticos de comprobaciones. En la CLI hay comandos audit, config, version y docs, además de grupos separados caa, dkim, dmarc, dnssec, headers, mx y spf. Parte de los grupos admite la subcomando generate, es decir, dnsight no solo verifica registros, sino que puede crear plantillas para ciertas configuraciones. La salida puede obtenerse en varios formatos, incluidos rich, json, sarif y markdown, por lo que los resultados se pueden integrar tanto en análisis manuales como en procesos de CI y en el intercambio de informes entre equipos.
En resumen: dnsight es más útil cuando se necesita una auditoría estrecha, repetible y formalizada del dominio y de la autenticación de correo sin desplegar una plataforma pesada.dnsight se distribuye bajo la licencia MIT. Para la práctica de uso esa licencia es cómoda: el código puede incorporarse en proyectos comerciales e internos, modificarse y redistribuirse siempre que se conserve el texto de la licencia. En entornos corporativos este modelo suele ser más sencillo que licencias copyleft con requisitos más estrictos.
Funciones de la herramienta
La función principal de dnsight es auditar un dominio en varias áreas relacionadas. A continuación hay un mapa comprimido de capacidades.
| Bloque | Qué comprueba o hace | Sentido práctico |
|---|---|---|
| audit | Ejecución completa de comprobaciones sobre un dominio | Instantánea rápida del estado de DNS y de la autenticación de correo |
| spf | Comprobación de registros SPF y problemas asociados | Ayuda a entender quién está autorizado a enviar correo en nombre del dominio |
| dkim | Comprobación de firmas DKIM | Indica si existe confirmación criptográfica de la autenticidad de los correos |
| dmarc | Comprobación de DMARC y generación de registros | Necesario para la política de tratamiento de correo e informes |
| mx | Comprobación de registros MX | Ayuda a ver adónde se dirige realmente el correo del dominio |
| dnssec | Comprobación de DNSSEC | Muestra si la cadena DNS está protegida contra suplantación |
| caa | Comprobación de CAA | Permite evaluar restricciones en la emisión de certificados |
| headers | Comprobación y generación de algunos encabezados de seguridad | Sale parcialmente del ámbito de DNS y ayuda con la higiene básica web |
| config | Ejemplo de configuración, migración y validación | Útil para ejecuciones repetibles y el modo manifest/config |
Además, dnsight soporta autocompletado de shell a través de Typer y puede escribir la salida en archivo. En escenarios por comandos es útil también el comportamiento del registro. El diagnóstico va a stderr y los resultados de la comprobación a stdout. Gracias a esa separación la herramienta es más fácil de integrar en cadenas de shell y en automatización sin mezclar mensajes de servicio con salida legible por máquina.
Cómo funciona dnsight
La lógica de funcionamiento es simple. El usuario pasa el dominio al comando audit o a uno de los grupos especializados. Después dnsight realiza un conjunto de comprobaciones DNS, interpreta los registros obtenidos y devuelve el resultado en formato legible por humanos o por máquinas. Para un escenario básico bastan unas pocas instrucciones:
dnsight --help
dnsight audit example.com
dnsight config example > dnsight.yaml
dnsight dmarc generate
Si se necesita una llamada programática, la librería puede importarse en Python y ejecutar comprobaciones síncronas mediante run_domain_sync() y run_check_sync(). Ese modo es adecuado cuando la auditoría del dominio debe integrarse en un servicio existente, un bot, un entorno de pruebas o un trabajo de CI.
from dnsight import run_check_sync, run_domain_sync
audit = run_domain_sync("example.com")
print(audit.critical_count, audit.partial)
dmarc = run_check_sync("dmarc", "example.com")
print(dmarc.passed, len(dmarc.issues))
Los formatos de salida son especialmente útiles. Rich por defecto encaja para trabajo interactivo en terminal. JSON sirve para procesamiento posterior. SARIF es apropiado para integración en procesos de seguridad y escaneo de código. Markdown tiene sentido cuando se necesita un informe de texto simple para documentación, un ticket o una wiki interna.
Para quién es la herramienta
dnsight resulta adecuado para varias categorías de usuarios. Primero, para administradores de sistemas e ingenieros de infraestructura responsables de dominios, registros de correo y entregabilidad. Segundo, para equipos de DevSecOps y AppSec que requieren una forma automatizable de verificar dominios en canalizaciones. Tercero, para consultores, pentesters e investigadores que hacen auditorías iniciales del perímetro externo y desean recopilar rápidamente la situación de DNS y la autenticación de correo. Por último, dnsight puede ser útil para desarrolladores de plataformas internas porque el SDK permite incorporar las comprobaciones en servicios propios.
Al mismo tiempo, dnsight no es una herramienta para inventariar por completo la infraestructura de correo, analizar el contenido de informes DMARC o realizar una auditoría profunda de un servidor SMTP. La tarea de dnsight es más limitada: verificar señales y configuraciones alrededor del dominio.
Cómo instalar y ejecutar
Para la instalación se requiere Python 3.11 o superior. En la documentación del proyecto se indica que los mantenedores usan Python 3.14 como variante habitual para trabajo local y CI, pero el umbral oficial de compatibilidad comienza en 3.11. El paquete puede instalarse de varias maneras.
pip install dnsight
uv add dnsight
uv tool install dnsight
pipx install dnsight
Tras la instalación están disponibles tanto el comando CLI dnsight como la API importable. Para la primera ejecución basta consultar la ayuda y realizar una auditoría de prueba.
dnsight --help
dnsight audit example.com
Si se necesita un archivo de configuración para ejecuciones repetibles, se puede generar un ejemplo y guardarlo en dnsight.yaml. Para el desarrollo local del propio proyecto los mantenedores recomiendan uv y just, así como los comandos just install, just pre-install, just check y just test. La documentación se genera con MkDocs; la vista local se inicia con just docs-serve.
Fortalezas y limitaciones
| Ventajas | Desventajas |
|---|---|
| Combina CLI y API de Python en un mismo paquete | Proyecto joven que aún no es un estándar de facto en su nicho |
| Cubre no solo SPF, DKIM y DMARC, sino también MX, CAA, DNSSEC y encabezados | En los materiales oficiales aún no se aprecia un gran número de integraciones externas o una comunidad amplia |
| Soporta formatos adecuados para automatización: JSON, Markdown y SARIF | Para evaluar la profundidad de comprobaciones concretas sigue siendo necesario consultar la documentación de cada grupo de comandos |
| Separa resultado y diagnóstico por stdout/stderr | Requiere Python 3.11+, lo que puede ser una restricción en entornos internos antiguos |
| Dispone de documentación, autocompletado de shell y comandos de generación | Desde fuera el proyecto parece orientado a una audiencia técnicamente preparada, no tanto a administradores principiantes |
Conclusión
dnsight da la impresión de ser una herramienta especializada y bien cuidada para auditar dominios y la autenticación de correo. El valor principal de dnsight no está en la amplitud de cobertura, sino en la combinación de tres características: especialización temática, presencia de CLI y SDK en un mismo paquete y aptitud para la automatización gracias a los formatos de salida y a la configuración. Para equipos que necesitan comprobar con regularidad SPF, DKIM, DMARC, MX, DNSSEC y señales relacionadas, dnsight resulta una opción práctica.
dnsight también tiene limitaciones. La herramienta no sustituye una plataforma completa de análisis de incidentes de correo, no resuelve tareas de monitorización a largo plazo y exige al usuario comprensión del contexto DNS y de la autenticación de correo. Pero como auditor ligero, reproducible y técnicamente transparente para dominios, dnsight resulta apropiado. Por tanto, la valoración final es la siguiente: dnsight no es una solución universal, sino una herramienta utilitaria enfocada que cubre bien su reducido conjunto de tareas.