Skip to content

API de External Attack Surface

Mantenido por: Aether365 Team Audiencia: Desarrolladores Alcance: Endpoints de External Attack Surface (EAS) - resultados, objetivos de escaneo, verificación de dominios y escaneos bajo demanda

La API de External Attack Surface lee la postura externa de sus dominios de Microsoft 365 (TLS, seguridad DNS y endpoints expuestos), gestiona qué hosts se escanean y lanza escaneos bajo demanda. Todos los endpoints quedan limitados al tenant a partir del token bearer. El escaneo bajo demanda requiere un plan de pago.

Obtener resultados de Attack Surface

Devuelve el último escaneo de attack surface agrupado en las secciones ssl, dns y endpoints, junto con el recuento de incidencias abiertas por severidad y los objetivos de escaneo actuales.

GET /tenants/me/attack-surface

Solicitud de ejemplo

bash
curl https://api.aether365.io/tenants/me/attack-surface \
  -H "Authorization: Bearer <token>"

Respuesta de ejemplo

json
{
  "success": true,
  "data": {
    "latestScan": {
      "id": "scan_abc123",
      "status": "completed",
      "completedAt": "2026-06-29T08:00:00Z",
      "passCount": 18,
      "failCount": 6
    },
    "severityCounts": { "Critical": 1, "High": 2, "Medium": 3, "Low": 0 },
    "sections": {
      "ssl": [
        {
          "testId": "EAS.TLS.001",
          "title": "Certificate is valid and not expiring soon",
          "result": "Passed",
          "severity": "High",
          "target": "contoso.com",
          "helpUrl": "https://docs.aether365.io/checks/...",
          "remediation": "..."
        }
      ],
      "dns": [],
      "endpoints": []
    },
    "targets": [
      {
        "id": "tgt_abc123",
        "host": "contoso.com",
        "source": "user",
        "excluded": false,
        "verificationStatus": "verified",
        "verifiedAt": "2026-06-28T12:00:00Z",
        "createdAt": "2026-06-28T11:00:00Z"
      }
    ]
  }
}

El target de cada hallazgo es el host al que se aplica; los hallazgos sin host son controles que afectan a todo el tenant. Agrupe por target para obtener una vista por dominio.


Listar objetivos de escaneo

Devuelve todos los objetivos de escaneo del tenant: los dominios de Microsoft 365 detectados automáticamente y los dominios personalizados que haya añadido.

GET /tenants/me/attack-surface/targets

Un objetivo personalizado pendiente también devuelve un verificationRecord (el valor del registro DNS TXT que debe publicar).


Añadir un objetivo personalizado

Añade un dominio personalizado. Empieza como pending y no se escanea hasta que se verifica.

POST /tenants/me/attack-surface/targets

Cuerpo de la solicitud

json
{ "host": "contoso.com" }
CampoTipoObligatorioNotas
hoststringSiUn nombre de dominio sin más (sin esquema, puerto ni ruta)

Respuesta de ejemplo

json
{
  "success": true,
  "data": {
    "id": "tgt_new123",
    "host": "contoso.com",
    "source": "user",
    "excluded": false,
    "verificationStatus": "pending",
    "verificationRecord": "aether365-site-verification=ab12cd34..."
  }
}

Errores

CódigoHTTPDescripción
VALIDATION_ERROR400host no es un nombre de dominio sin más
VALIDATION_ERROR409El objetivo ya existe

Verificar un objetivo personalizado

Confirma la propiedad del dominio buscando el registro TXT publicado. Si tiene éxito, el objetivo pasa a verified y se incluye en el siguiente escaneo.

POST /tenants/me/attack-surface/targets/{targetId}/verify

Publique un registro DNS TXT en el apex del dominio con el valor devuelto como verificationRecord (por ejemplo aether365-site-verification=ab12cd34...) y, a continuación, llame a este endpoint.

Errores

CódigoHTTPDescripción
EAS_TXT_NOT_FOUND400El registro TXT esperado aún no se ha encontrado en DNS

Excluir o incluir un objetivo

Activa o desactiva si un objetivo se escanea. Los objetivos detectados automáticamente no se pueden eliminar, solo excluir.

PATCH /tenants/me/attack-surface/targets/{targetId}

Cuerpo de la solicitud

json
{ "excluded": true }

Eliminar un objetivo personalizado

Elimina un objetivo personalizado (añadido por el usuario). Los objetivos detectados automáticamente devuelven 400 y solo se pueden excluir.

DELETE /tenants/me/attack-surface/targets/{targetId}

Lanzar un escaneo de Attack Surface

Inicia un escaneo de attack surface bajo demanda. Requiere un plan de pago.

POST /tenants/me/attack-surface/scan

Cuerpo de la solicitud

json
{ "connectionId": "conn_abc123" }
CampoTipoObligatorioNotas
connectionIdstringNoTenant de Microsoft conectado que se va a escanear; omítalo para el principal

Errores

CódigoHTTPDescripción
AUTH_FORBIDDEN403El plan no incluye External Attack Surface
TENANT_NOT_CONNECTED400No hay ningún tenant de Microsoft conectado
SCAN_ALREADY_RUNNING409Ya hay un escaneo de attack surface en curso
SERVICE_UNAVAILABLE503El escáner de attack surface aún no está disponible
¿Te resultó útil esta página?