argus
Argus es una plataforma autoalojada para generar reportes y notificaciones automatizadas de Microsoft 365. Utiliza Bun, Next.js y SQLite en un único contenedor Docker, permitiendo a los administradores de TI y equipos de seguridad recibir alertas programadas sin depender de servicios SaaS externos.
Ficha actualizada 28 sept 2026, 4:12 · upstream 28 sept 2026, 3:51 · release sin release detectada
Qué es argus
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Argus actúa como un observatorio interno para tu tenant de Microsoft 365, reemplazando las consultas manuales a la Graph API con informes programados que llegan solo cuando son relevantes. La arquitectura integra una interfaz Next.js, un agendador en vivo y un motor de ejecución que consulta datos, aplica lógica de anomalías y envía reportes HTML desde una bandeja compartida. Todo el stack reside en un único contenedor Docker optimizado con Bun 1.3 y SQLite.
El sistema utiliza permisos app-only para la autenticación con Entra ID y almacena credenciales sensibles encriptadas con AES-256-GCM, nunca en variables de entorno persistentes. Incluye 26 reportes predefinidos sobre identidad, seguridad e infraestructura, además de soporte para consultas personalizadas. La interfaz permite editar plantillas HTML con variables dinámicas y ajustar la programación sin reiniciar el servicio.
- Monitoreo de anomalías en sesiones de inicio de sesión (sign-ins) para detectar accesos no autorizados.
- Auditoría de licencias inactivas o usuarios dormidos para optimizar costos de Microsoft 365.
- Seguimiento de la tendencia de la Puntuación de Seguridad (Secure Score) y detección de fallas en políticas de acceso condicional.
- Generación de informes periódicos de uso de SharePoint y OneDrive para identificar sitios o archivos desactualizados.
- Detección de invitados inactivos o cuentas de servicio-principal con actividad sospechosa.
- Ejecución completa en un único contenedor Docker, simplificando el despliegue y la gestión de dependencias.
- Almacenamiento de credenciales AES-256-GCM encriptadas en la base de datos, con la clave maestra solo en memoria.
- Runtime Bun 1.3 para una ejecución rápida y eficiente del stack Node.js/TypeScript.
- Plantillas HTML editables con variables dinámicas ({{organization_name}}, {{count}}) y vista previa en vivo.
- Programación de tareas en tiempo real que actualiza el cron sin necesidad de reiniciar el contenedor.
- Colas de ejecución acotadas para evitar saturar la Graph API o solapamientos entre trabajos.
- Pérdida irreversible de credenciales si se pierde la variable ARGUS_MASTER_KEY, ya que no existe mecanismo de recuperación.
- Base de datos SQLite local; no está diseñado para clústeres distribuidos ni alta concurrencia masiva entre múltiples instancias.
- Dependencia de permisos app-only en Entra ID; requiere configuración previa de aplicación registrada y cliente secreto.
- La bandeja compartida de correo debe estar configurada con RBAC específico (Mail.Send) para evitar errores de envío.
- No incluye autenticación OAuth2 para el usuario final, requiriendo acceso directo a la interfaz o proxy inverso.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para producción, utilice `./install.sh docker` y asegúrese de definir ARGUS_MASTER_KEY en memoria (no en .env). Persista la base de datos SQLite mediante un volumen Docker. Configure las credenciales de Microsoft Graph y el correo a través de la interfaz web para mantenerlas encriptadas. Verifique que el contenedor tenga acceso de red al tenant de Microsoft 365 y que la bandeja compartida tenga permisos RBAC adecuados.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.

