Seguridad

Repórtalo. Lo arreglaremos.

Si encuentras una vulnerabilidad en CommandAGI, avísanos primero en privado. Leemos cada reporte y respondemos.

Reportar una vulnerabilidad

Escribe a security@commandagi.com. Incluye, por favor:

  • qué encontraste y dónde (una URL, una ruta de la API, un paquete o un archivo);
  • los pasos para reproducirlo y lo que un atacante podría hacer con ello;
  • cómo contactarte y si quieres que te demos crédito.

Danos un plazo razonable para corregir el problema antes de divulgarlo. No accedas a datos de otras personas más allá de lo necesario para demostrar el problema, no degrades el servicio y nunca envíes comandos a una máquina que no sea tuya.

Dentro del alcance

  • commandagi.com, developers.commandagi.com y api.commandagi.com
  • la app de escritorio y el host local que ejecuta
  • los paquetes commandagi en npm y PyPI

Los datos de contacto legibles por máquina están en /.well-known/security.txt.

Por diseño

Cómo se protege el producto.

La autoridad es un acto de una persona

Solo una persona crea o amplía un permiso. Una clave de agente no puede otorgarse nada a sí misma ni a otro agente.

Los principales se demuestran

Un principal actúa con una credencial, nunca nombrándose a sí mismo. El host guarda solo el hash de la credencial.

Registrado antes de enviarse

Cada acción sobre una máquina se escribe en su ejecución, con quién la envió, antes de llamar al driver.

Los secretos no van en archivos

Los secretos de conexión viven en el almacén de secretos del host o en memoria — nunca en un mundo, una definición, los ajustes, un flujo o una línea de log.

Loopback por defecto

El host local escucha solo en 127.0.0.1, y sus endpoints de control rechazan las peticiones que vienen de una página web.

Las claves se guardan como hash

Las claves de API se almacenan como hashes, nunca como la clave en sí.