zw008/VMware-Policy

Registro de auditoría unificado, aplicación de políticas y sanitización para habilidades MCP de VMware.

¿Qué es VMware-Policy?

VMware-Policy es la capa de infraestructura compartida para toda la familia de habilidades MCP de VMware, proporcionando registro de auditoría unificado, un motor de políticas (con reglas de denegación y ventanas de mantenimiento), y sanitización de entrada contra inyección de prompts. Actúa automáticamente como dependencia de las otras siete habilidades (vmware-aiops, vmware-monitor, vmware-storage, vmware-vks, vmware-nsx, vmware-nsx-security, vmware-aria y vmware-avi) mediante el decorador @vmware_tool, que realiza pre-verificación, ejecución, post-registro y metadatos. También ofrece una CLI (`vmware-audit`) para consultar el registro de auditoría, exportar en JSON y ver estadísticas. Está escrita en Python, usa SQLite con modo WAL para el registro, y se instala automáticamente con `uv tool install vmware-policy`. Su motor de políticas soporta recarga en caliente sin necesidad de reinicio, y la función `sanitize()` protege contra caracteres de control y truncamiento. No expone herramientas MCP propias, sino que es consumida como biblioteca y CLI por las demás habilidades.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add zw008/VMware-Policy

Installed? Explore more Investigación y análisis de datos skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

VMware Policy

Aviso: Este es un proyecto de código abierto mantenido por la comunidad y no está afiliado, respaldado ni patrocinado por VMware, Inc. o Broadcom Inc. "VMware" y "vSphere" son marcas comerciales de Broadcom. El código fuente es auditado públicamente en github.com/zw008/VMware-Policy bajo la licencia MIT.

Registro de auditoría unificado, aplicación de políticas y sanitización de entrada: la capa de infraestructura para toda la familia de habilidades MCP de VMware.

Dependencia de infraestructura: Las 8 habilidades de VMware dependen de vmware-policy. Se instala automáticamente y proporciona el decorador @vmware_tool, sanitize() y la base de datos de auditoría compartida. Familia: vmware-aiops (ciclo de vida de VM), vmware-monitor (monitoreo de solo lectura), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-nsx (redes NSX), vmware-nsx-security (DFW/cortafuegos), vmware-aria (métricas/alertas/capacidad), vmware-avi (AVI/ALB/AKO). | vmware-pilot (orquestación de flujos de trabajo)

¿Qué hace esta habilidad

CategoríaComponentesCantidad
Registro de auditoríaAuditEngine (SQLite WAL), rotación de logs, detección de agente3
Motor de políticasReglas de denegación, ventanas de mantenimiento, recarga en caliente3
Sanitizaciónsanitize() — defensa contra inyección de prompts, eliminación de caracteres de control1
Decorador@vmware_tool — pre-verificación + ejecución + post-registro + metadatos1
CLIvmware-audit log, vmware-audit export, vmware-audit stats3

Instalación rápida

uv tool install vmware-policy
vmware-audit stats          # verificar instalación

vmware-policy se instala automáticamente como dependencia de todas las habilidades de VMware. La instalación manual solo es necesaria para consultas de auditoría independientes.

Cuándo usar esta habilidad

  • Consultar el registro de auditoría unificado entre todas las habilidades de VMware
  • Ver operaciones denegadas y violaciones de políticas
  • Revisar estadísticas de auditoría (por habilidad, por estado, por rango de tiempo)
  • Exportar registros de auditoría como JSON para análisis externo
  • Configurar reglas de denegación o ventanas de mantenimiento
  • Integrar el decorador @vmware_tool en una nueva habilidad de VMware

Esta habilidad se carga automáticamente como dependencia — no es necesario invocarla directamente. Se activa cuando:

  • Se llama a cualquier función de herramienta de una habilidad de VMware (a través del decorador @vmware_tool)
  • El usuario pregunta sobre registros de auditoría, operaciones denegadas o reglas de políticas
  • El usuario ejecuta comandos de la CLI vmware-audit

Habilidades relacionadas — Enrutamiento de habilidades

Intención del usuarioHabilidad recomendada
Ciclo de vida de VM, despliegue, operaciones invitadasvmware-aiops (uv tool install vmware-aiops)
Monitoreo de solo lectura, riesgo cerovmware-monitor (uv tool install vmware-monitor)
Almacenamiento: iSCSI, vSAN, almacenes de datosvmware-storage (uv tool install vmware-storage)
Tanzu Kubernetes (vSphere 8.x+)vmware-vks (uv tool install vmware-vks)
Redes NSX: segmentos, pasarelas, NATvmware-nsx (uv tool install vmware-nsx-mgmt)
Seguridad NSX: reglas DFW, grupos de seguridadvmware-nsx-security (uv tool install vmware-nsx-security)
Aria Ops: métricas, alertas, capacidadvmware-aria (uv tool install vmware-aria)
Balanceador de carga, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Flujos de trabajo de múltiples pasos con aprobaciónvmware-pilot
Consulta de registros de auditoría, reglas de políticasvmware-policy — esta habilidad

Flujos de trabajo comunes

Consultar actividad de auditoría reciente

  1. Ver las últimas 20 entradas de auditoría: vmware-audit log --last 20
  2. Filtrar por habilidad: vmware-audit log --skill vmware-nsx --last 50
  3. Revisar operaciones denegadas: vmware-audit log --status denied --since 2026-03-28
  4. Ver estadísticas agregadas: vmware-audit stats --days 7

Configurar reglas de políticas para producción

  1. Copiar reglas predeterminadas: cp $(python -c "import vmware_policy; print(vmware_policy.__file__.replace('__init__.py','rules_default.yaml'))") ~/.vmware/rules.yaml
  2. Editar ~/.vmware/rules.yaml — agregar reglas de denegación para producción:
    deny:
      - name: no-delete-in-prod
        operations: ["delete_*", "cluster_delete"]
        environments: ["production"]
        reason: "Operaciones destructivas bloqueadas en producción"
    maintenance_window:
      start: "22:00"
      end: "06:00"
    
  3. Las reglas se recargan automáticamente — no es necesario reiniciar
  4. Verificar: vmware-audit log --status denied para ver operaciones bloqueadas

Exportar registros de auditoría para cumplimiento

  1. Exportar todos los registros como JSON: vmware-audit export --format json > audit-export.json
  2. Filtrar por habilidad: vmware-audit export --skill vmware-aiops --since 2026-01-01
  3. Importar en su SIEM o herramienta de cumplimiento

Modo de uso

EscenarioRecomendadoPor qué
Consultar registros de auditoríaCLIvmware-audit proporciona una salida tabular enriquecida
Integrar en una habilidadAPI de Pythonfrom vmware_policy import vmware_tool, sanitize
Exportación automatizada de cumplimientoCLIvmware-audit export --format json se canaliza a cualquier herramienta

Referencia rápida de CLI

# Ver entradas de auditoría recientes
vmware-audit log --last 20
vmware-audit log --skill vmware-nsx --status denied
vmware-audit log --since 2026-03-28 --tool delete_segment

# Exportar para cumplimiento
vmware-audit export --format json > audit.json
vmware-audit export --skill vmware-aiops --since 2026-01-01

# Estadísticas agregadas
vmware-audit stats --days 7
vmware-audit stats --days 30

Referencia completa de CLI: consulte references/cli-reference.md

API de Python

from vmware_policy import vmware_tool, sanitize

# Envolver cada función de herramienta MCP
@vmware_tool(risk_level="high", sensitive_params=["password"])
def delete_segment(name: str, env: str = "") -> dict:
    ...

# Sanitizar respuestas de API no confiables antes de devolverlas al LLM
clean_text = sanitize(api_response_text, max_len=500)

Herramientas MCP (0)

vmware-policy no expone herramientas MCP. Es una biblioteca Python y CLI consumida por otras habilidades de VMware.

ComponenteTipoDescripción
@vmware_toolDecoradorEnvuelve más de 156 herramientas MCP en 8 habilidades
sanitize()FunciónDefensa contra inyección de prompts para respuestas de API
AuditEngineClaseRegistrador de auditoría SQLite WAL con rotación
PolicyEngineClaseEvaluación de reglas YAML con recarga en caliente
vmware-auditCLICLI Typer para consultar el registro de auditoría
detect_agent()FunciónInfiere el agente de IA que llama desde variables de entorno (ver más abajo)

Detección de agente (Nota de transparencia)

La función detect_agent() en audit.py revisa las siguientes variables de entorno para identificar qué agente de IA está llamando a las herramientas. Esto es inspección de solo lectura con fines de registro de auditoría — no se extraen ni almacenan credenciales:

Variable de entornoAgente detectadoPropósito
CLAUDE_SESSION_ID o CLAUDE_CODEclaudeSesión de Claude Code
OPENAI_API_KEY o CODEX_SESSIONcodexSesión de OpenAI Codex
OLLAMA_HOSTlocalModelo local de Ollama
DEERFLOW_SESSIONdeerflowSesión de DeerFlow
(ninguna coincide)unknownAgente no reconocido

El nombre del agente detectado se almacena en la columna agent de ~/.vmware/audit.db solo con fines de registro de auditoría. No se registran claves API ni tokens.

Solución de problemas

Advertencia "Cannot initialize audit DB"

El directorio de la base de datos de auditoría ~/.vmware/ debe ser escribible. Créelo manualmente: mkdir -p ~/.vmware && chmod 700 ~/.vmware.

Las reglas de políticas no surten efecto

Las reglas se cargan desde ~/.vmware/rules.yaml. Verifique que el archivo exista y contenga YAML válido. PolicyEngine se recarga en caliente al cambiar el archivo — no es necesario reiniciar.

El registro de auditoría crece demasiado

AuditEngine rota automáticamente a 100 MB, manteniendo los 5 archivos más recientes. Para limpieza manual: ls ~/.vmware/audit.*.db para ver los archivos de archivo.

Excepción "PolicyDenied" en la habilidad

Esto significa que una regla de denegación en ~/.vmware/rules.yaml coincidió con la operación. Verifique vmware-audit log --status denied para ver el nombre de la regla y el motivo. Para omitir temporalmente: VMWARE_POLICY_DISABLED=1 (aún se registra como omitido).

El decorador no detecta el nombre de la habilidad

El decorador @vmware_tool infiere el nombre de la habilidad de la ruta del módulo (ej., vmware_aiops.ops.vm_lifecycle -> aiops). Si el módulo no sigue la convención vmware_<skill>, la habilidad se registra como "unknown".

Error "database is locked" de SQLite

Varios procesos de habilidades concurrentes pueden escribir en el mismo audit.db mediante el modo WAL. Si los bloqueos persisten más de 5 segundos, verifique procesos zombies que mantengan el archivo de base de datos.

Configuración

uv tool install vmware-policy
mkdir -p ~/.vmware

vmware-policy se instala automáticamente como dependencia de todas las habilidades de VMware. El directorio ~/.vmware/ se crea automáticamente en la primera escritura de auditoría.

Guía de configuración completa, detalles de seguridad e instrucciones de integración: consulte references/setup-guide.md

Seguridad

  • Código fuente: github.com/zw008/VMware-Policy
  • Contenido del archivo de configuración: ~/.vmware/rules.yaml contiene solo definiciones de reglas, sin credenciales
  • Alcance de datos de webhook: N/A — vmware-policy no envía datos externamente
  • Verificación TLS: N/A — vmware-policy no realiza conexiones de red
  • Protección contra inyección de prompts: sanitize() trunca a 500 caracteres y elimina caracteres de control C0/C1
  • Mínimo privilegio: La base de datos de auditoría es solo local (~/.vmware/audit.db), sin exposición a la red

Licencia

MIT — github.com/zw008/VMware-Policy

Skills relacionados