Skyveda Scan: el escáner open source que audita tu Azure
En pocas palabras: Skyveda Scan es un CLI gratuito y open source (Apache 2.0) que corre 60 chequeos de solo lectura sobre Azure —seguridad, confiabilidad y costo— y genera un reporte HTML o PDF con el desperdicio mensual calculado sobre la factura real, usando los roles Reader y Cost Management Reader.
Skyveda Scan es una herramienta de línea de comandos, gratuita y de código abierto bajo licencia Apache 2.0, creada por el equipo de Skyveda para auditar entornos de Azure sin tocar nada. Funciona con el rol nativo Reader de Azure, suma Cost Management Reader para los chequeos de costo, y según el anuncio oficial de Skyveda del 5 de noviembre de 2026, nunca crea, modifica ni borra recursos.
En este artículo:
- En resumen
- ¿Qué deuda silenciosa acumulan las suscripciones de Azure?
- ¿Cómo funciona este escáner open source de Azure y qué revisa exactamente?
- ¿Por qué es de solo lectura y qué permisos pide en Azure?
- ¿Cómo calcula el desperdicio a partir de la factura real de Azure?
- ¿Cómo instalar y correr un primer escaneo con Skyveda Scan?
- ¿Qué límites tiene hoy esta herramienta y qué viene después?
- Qué significa para equipos y empresas en Latinoamérica
- Qué está confirmado y qué todavía no
- Errores comunes al usar un escáner de este tipo
- Preguntas Frecuentes
- Conclusión
- Fuentes
En resumen
- 60 chequeos: cubre VMs, networking, storage, AKS, App Service, SQL, PostgreSQL, Cosmos DB, Key Vault, Container Registry y Redis.
- Solo lectura: usa únicamente APIs de read, list y get, con el rol Reader más Cost Management Reader.
- Desperdicio en moneda real: cuando puede leer Cost Management, calcula el gasto a partir de lo facturado, no de una tarifa de catálogo.
- Instalación en tres pasos:
pip install "skyveda[azure]",az loginyskyveda scopes. - Sin telemetría: corre local, no manda nada a ningún servidor salvo los reportes que vos decidas compartir.
¿Qué deuda silenciosa acumulan las suscripciones de Azure?
Toda suscripción de Azure que lleva más de un año operando acumula dos tipos de deuda, y ninguna de las dos avisa. Una te cuesta plata todos los meses. La otra te explota en la cara cuando menos lo esperás.
La primera categoría es la más obvia una vez que la ves: un disco administrado que quedó colgado después de borrar la VM que lo usaba, una IP pública que nadie reclama, una VM que alguien “detuvo” desde el portal pero nunca desasignó (así que sigue facturando igual), snapshots de una migración de hace dos años que nadie se acordó de limpiar. Ponele que migraste un ambiente en 2024 y todavía estás pagando por los discos viejos que quedaron de testigo.
La segunda categoría es peor porque no se nota hasta que alguien pregunta. SSH o RDP abierto directo a internet, storage con acceso anónimo habilitado, un clúster de AKS sin ninguna política de red. Nadie lo detecta hasta que un cliente grande manda un cuestionario de seguridad o un auditor pide evidencia, según describe el propio equipo de Skyveda en la publicación donde presentaron la herramienta.
¿Es difícil arreglar cualquiera de estos problemas? No particularmente. ¿Es difícil verlos a tiempo? Bastante, porque recorrer manualmente cada suscripción, cada grupo de recursos y cada VM no es el trabajo de nadie en particular, hasta que se convierte en el trabajo de todos cuando algo se rompe o alguien pregunta por qué la factura subió sin explicación.
¿Cómo funciona este escáner open source de Azure y qué revisa exactamente?

Skyveda Scan corre 60 chequeos agrupados por área (VMs, networking, storage, AKS, App Service, SQL, PostgreSQL, Cosmos DB, Key Vault, Container Registry y Redis) y arma un reporte con un puntaje por área, un puntaje general, y una lista de hallazgos ordenados por severidad.
Dato relacionado: Microsoft también abrió el código de su HSM.
Cada hallazgo en el reporte trae tres cosas: qué encontró, por qué importa, y cómo solucionarlo. No es solo una lista de “esto está mal”: el reporte explica el impacto concreto y da el paso siguiente, lo cual es un cambio respecto a herramientas que tiran una lista de alertas sin contexto y te dejan a vos googleando qué hacer.
- Score por área: cada categoría (red, storage, cómputo, etc.) tiene su propio puntaje, así que podés priorizar dónde atacar primero.
- Hallazgos con severidad: cada uno viene rankeado para que no tengas que adivinar qué resolver antes.
- Desperdicio mensual estimado: por recurso individual y como total de la suscripción, expresado en rupias (₹ INR) según el repositorio del proyecto en GitHub.
Cada chequeo es un archivo YAML con su propio fixture de test. Eso significa que agregar una regla nueva o ajustar una existente no requiere tocar código Python, lo cual baja bastante la barrera para que la comunidad contribuya chequeos nuevos.
¿Por qué es de solo lectura y qué permisos pide en Azure?
Skyveda Scan solo llama APIs de read, list y get. Nunca crea, cambia ni borra nada, y nunca lee secretos ni datos dentro de tus recursos, lo cual lo hace algo que un equipo de seguridad puede aprobar sin pasar por tres comités.
El permiso mínimo necesario es el rol Reader nativo de Azure. Si querés los chequeos de costo (que son el valor diferencial de la herramienta), necesitás sumar Cost Management Reader. Nada más.
Esto importa porque la mayoría de las herramientas de auditoría de nube piden permisos de escritura “por si acaso” o para “optimizar automáticamente”, y ahí es donde cualquier equipo de infraestructura serio frena el proceso. Con Reader más Cost Management Reader, el riesgo de dar acceso es básicamente cero: no hay manera de que el escáner rompa nada, porque técnicamente no puede. Tema relacionado: conectarte por SSH a una VM de Azure.
¿Cómo calcula el desperdicio a partir de la factura real de Azure?
Cuando Skyveda Scan tiene acceso a Cost Management, usa el monto que realmente te facturaron por ese recurso específico, no un precio de catálogo multiplicado por tamaño. Cuando no tiene ese acceso, cae a una estimación de precio de lista y lo etiqueta claramente como tal.
Ese detalle separa a esta herramienta de la mayoría de los “calculadores de desperdicio” que circulan. Muchas calculan el costo teórico de un recurso según su tamaño nominal y lo presentan como si fuera lo que pagás, cuando en la práctica tu factura real puede variar bastante por descuentos, reservas o acuerdos de precio negociados con Microsoft. Acá la diferencia queda explícita en el reporte: siempre sabés si el número que estás mirando viene de la factura o de una estimación.
El reporte también incluye un archivo de waivers (waivers.yaml) para marcar riesgos aceptados o falsos positivos. Cada waiver pide un motivo, un aprobador y, opcionalmente, una fecha de vencimiento. Lo waiveado sale de los puntajes y del total, pero sigue listado en un apéndice del reporte, así que nada desaparece en silencio.
¿Cómo instalar y correr un primer escaneo con Skyveda Scan?
Instalar Skyveda Scan toma tres comandos: pip install "skyveda[azure]" (requiere Python 3.12 o superior), az login para autenticarte, y skyveda scopes para ver qué suscripciones podés leer.
- Instalación:
pip install "skyveda[azure]"con Python 3.12+. - Autenticación:
az login, o service principal, o managed identity si corrés desde una VM de Azure. - Verificar alcance:
skyveda scopeste muestra qué suscripciones tenés permiso de leer antes de escanear. - Escaneo real:
skyveda scan --provider azure --subscription <id> --out ./out --pdf. - Sin cuenta a mano:
skyveda scan --offline <carpeta con datos grabados> --out ./outcorre sobre datos de ejemplo, sin tocar la nube.
Si vos no manejás la cuenta de Azure directamente (ponele que sos consultor y el cliente te da acceso temporal), también existe un bundle para Azure Cloud Shell que armás con uv run python packaging/build_cloudshell_bundle.py y subís directo a la terminal del cliente, sin instalar nada local. Las opciones repetibles (varias suscripciones, management group, tenant, label para el reporte) se pueden guardar en un archivo skyveda.toml para no repetir flags cada vez. Te puede servir nuestra cobertura de certificarte en Azure según tu rol.
¿Qué límites tiene esta herramienta a noviembre de 2026 y qué viene después?
Skyveda Scan está en v0.3, etapa que el propio proyecto describe como “desarrollo temprano”. Hoy solo cubre Azure; AWS y GCP quedan para más adelante, según el roadmap publicado en el repositorio en GitHub.
El equipo también anunció que viene un modo mensual para trackear tendencias de desperdicio en el tiempo, además de más chequeos. Todo el código corre bajo licencia Apache 2.0, y el proyecto acepta issues y pull requests, aunque cada commit necesita firma (git commit -s).
Un dato chico pero relevante para equipos que no manejan rupias como moneda de referencia: el desperdicio se reporta en ₹ (INR). Vas a tener que convertir a dólares o pesos para que el número te diga algo en una reunión con finanzas. Nuestros colegas de blog.donweb.com lo analizan en armar tu propio MaaS con vLLM.
Qué significa para equipos y empresas en Latinoamérica
Para un equipo de infraestructura en Argentina o la región, lo interesante de Skyveda Scan no es solo el ahorro directo, sino que el modelo de permisos (Reader más Cost Management Reader) permite correrlo sin fricción con seguridad corporativa, algo que casi nunca pasa con herramientas de “optimización automática”.
Eso sí: el proyecto hoy solo cubre Azure, así que si tu estrategia de nube es multicloud o estás evaluando mover cargas a otro proveedor, vas a necesitar herramientas adicionales hasta que llegue el soporte de AWS anunciado en el roadmap. Si parte de tu infraestructura vive fuera de los hyperscalers, por ejemplo en hosting administrado para sitios y aplicaciones en Argentina, proveedores locales como donweb.com son una alternativa a considerar para esas cargas específicas, separadas del escaneo de Azure.
Qué está confirmado y qué todavía no
- Confirmado: 60 chequeos activos en la versión v0.3, cobertura de Azure únicamente, licencia Apache 2.0, modelo read-only con Reader más Cost Management Reader, según el anuncio y el repositorio oficial.
- Confirmado: el cálculo de desperdicio usa el costo facturado real cuando hay acceso a Cost Management, con fallback etiquetado a precio de lista.
- No confirmado: fecha exacta de lanzamiento del soporte para AWS ni del modo mensual de tendencias. El roadmap los menciona sin cronograma.
- No confirmado: cuántos chequeos nuevos se van a sumar ni con qué frecuencia, ya que el proyecto depende de contribuciones de la comunidad vía pull requests.
Errores comunes al usar un escáner de este tipo
- Dar más permisos de los necesarios: si alguien en tu equipo pide Contributor “para que funcione mejor”, frenalo ahí. Reader más Cost Management Reader es todo lo que necesita.
- Confundir estimación con factura real: si corrés el escaneo sin el permiso de Cost Management, vas a ver números de precio de lista. Fijate siempre en la etiqueta del reporte antes de llevar esa cifra a una reunión de presupuesto.
- Ignorar el apéndice de waivers: marcar algo como riesgo aceptado y después no revisar la fecha de vencimiento es la forma más común de que un hallazgo waiveado siga siendo un problema real seis meses después.
- Correrlo una sola vez y archivarlo: el desperdicio de Azure no es estático. Discos huérfanos y snapshots viejos se siguen acumulando mes a mes, así que un escaneo aislado solo muestra la foto de ese día.
Preguntas Frecuentes
¿Qué es Skyveda Scan y cómo funciona?
Skyveda Scan es un escáner de línea de comandos, open source y gratuito, que corre 60 chequeos de seguridad, confiabilidad y costo contra una suscripción de Azure. Funciona leyendo metadata de recursos vía APIs de solo lectura y genera un reporte HTML con puntajes, hallazgos priorizados y desperdicio estimado en la factura.
¿Cómo instalar Skyveda Scan para escanear una suscripción de Azure?
Se instala con pip install "skyveda[azure]", requiere Python 3.12 o superior, y después de autenticarte con az login corrés skyveda scan --provider azure --subscription <id> --out ./out --pdf. También existe la opción --offline para probarlo con datos de ejemplo sin cuenta real. Lo explicamos a fondo en comparativa completa entre Microsoft y Github.
¿Es seguro usar un escáner de solo lectura en mi cuenta de Azure?
Sí, porque técnicamente no puede modificar nada: solo llama APIs de read, list y get. No crea, cambia ni borra recursos, y tampoco lee secretos ni datos dentro de tus servicios, según la documentación oficial del proyecto.
¿Qué permisos de Azure necesita este tipo de herramienta?
Necesita el rol nativo Reader de Azure para los chequeos generales. Para los chequeos de costo, que calculan el desperdicio sobre la factura real, también hace falta el rol Cost Management Reader. No requiere ningún permiso de escritura.
¿Cómo calcula el desperdicio real en la factura de Azure?
Cuando tiene acceso a Cost Management, usa el monto que efectivamente te facturó Azure por cada recurso, no un precio de catálogo. Si no puede leer esos datos, cae a una estimación de precio de lista y la marca explícitamente como estimación en el reporte.
Conclusión
Skyveda Scan no inventa nada nuevo en términos de qué buscar (discos huérfanos, IPs sin uso, puertos abiertos son problemas conocidos hace años), pero sí resuelve algo que la mayoría de las herramientas de este tipo no resuelve bien: el permiso mínimo para correrlo y la honestidad sobre si el número de desperdicio viene de tu factura real o de una estimación de catálogo.
Si administrás una o varias suscripciones de Azure, el criterio práctico es simple: corré primero skyveda scopes para confirmar qué podés leer, después un escaneo con --offline sobre datos de ejemplo para entender el formato del reporte antes de tocar producción, y recién ahí un escaneo real con permisos acotados a Reader y Cost Management Reader. Eso te da una base de comparación sin exponer nada, y evita que termines dándole más acceso del necesario a una herramienta que todavía está en v0.3.






