FutrixData logo FutrixData
Seguridad de MongoDB

Seguridad de MongoDB para agentes de IA — Bloquea dropDatabase, controla agregaciones descontroladas

La seguridad de MongoDB para agentes de IA se centra en escrituras a nivel de colección, cambios estructurales y patrones de agregación. FutrixData inspecciona las operaciones de Mongo por tipo (find, aggregate, updateMany, dropDatabase) y usa la salida de explain para detectar escaneos de colección antes de que envíen gigabytes al contexto del agente.

Superficie de riesgo de MongoDB en un contexto de IA

El riesgo en MongoDB no se parece al de SQL. Las operaciones peligrosas son drops de colección, concesiones de roles, etapas de agregación que escriben en otras colecciones ($merge, $out) y llamadas find sin límite que materializan toda la colección en el contexto del agente.

FutrixData parsea operaciones de Mongo tanto en sintaxis JSON como de shell, así que db.users.drop() y { "drop": "users" } resuelven a la misma regla.

Reglas integradas de MongoDB

OperaciónAcción por defecto
find, aggregate, countallow
insertOne, insertMany, updateOne, updateMany, replaceOne, deleteOne, deleteManywarn
Agregaciones entre colecciones ($lookup, $unionWith)warn
Agregaciones con $merge o $outrequire_approval
renameCollection, collMod, dropIndexesrequire_approval
drop, dropDatabaseblock
createUser, dropUser, grantRolesToUserblock

Sondeos anticipados con explain

Para find y aggregate, FutrixData ejecuta explain y comprueba:

Una consulta que apunta a un campo indexado se mantiene en bajo riesgo; la misma consulta con una regex sobre un campo no indexado se escala a medio.

Ejemplos de reglas por colección

Ejemplos

Drop de colección interceptado
// Agent attempts:
db.users.drop()

// FutrixData response:
{ "ok": false, "risk": "block", "rule": "mongo.drop_collection", "audit_id": "audit_01HQ8N..." }
Agregación con $out controlada
// Agent attempts:
db.events.aggregate([
  { $match: { kind: "purchase" } },
  { $out: "purchases_summary" }
])

// FutrixData response:
{ "ok": false, "risk": "require_approval", "rule": "mongo.aggregate_writes_other_collection" }

Preguntas frecuentes

¿FutrixData soporta replica sets y clusters fragmentados?

Sí. FutrixData se conecta mediante el driver estándar de MongoDB, así que cualquier cosa que el MongoDB Driver soporte — replica sets, sharded clusters, MongoDB Atlas — funciona igual. La evaluación de reglas se ejecuta en FutrixData; los sondeos de explain usan la misma conexión que la consulta real.

¿Qué pasa con <code>$where</code> (JavaScript del lado del servidor)?

Las agregaciones y finds que contienen $where se marcan en warn o superior. La regla es configurable por colección — puedes bloquear $where de forma dura contra fuentes de producción mientras lo permites en desarrollo.

¿Puedo definir reglas por colección?

Sí. El alcance puede ser un tipo de base de datos (toda MongoDB), una instancia específica de fuente de datos (sólo prod-mongo) o una colección específica. Las reglas con alcance más preciso prevalecen sobre las más amplias.

¿Funciona con MongoDB Atlas?

Sí. FutrixData trata Atlas como cualquier otro endpoint de MongoDB — cadena de conexión de entrada, resultados enmascarados de salida. Las listas de IPs permitidas de Atlas deben incluir el host de FutrixData (o, en autoalojado, tu salida de red).

¿Sobrecoste de rendimiento?

La evaluación de reglas estáticas es de microsegundos. Los sondeos de explain añaden un round-trip extra en lecturas donde la ruta de acceso importa. Las escrituras se evalúan estáticamente — sin sondeo.

Prueba FutrixData con tu propia base de datos

Aplicación de escritorio gratuita para macOS, Windows y Linux. Enterprise Edition autoalojada para despliegues en producción.