Seguridad y confianza · Producto DomScan

API de Escáner de vulnerabilidades de sitios web

Detecta software expuesto, configuraciones de riesgo y versiones afectadas conocidas en un sitio web público. Cada resultado explica qué se comprobó, por qué hubo una coincidencia y la solidez de las pruebas.

Qué obtienes

Detecta software expuesto, configuraciones de riesgo y versiones afectadas conocidas en un sitio web público. Cada resultado explica qué se comprobó, por qué hubo una coincidencia y la solidez de las pruebas.

SíncronoRESTMCPSDKHerramienta interactiva

Elige este producto cuando

Para quién es

Usa comprobaciones pasivas acotadas para enriquecer la clasificación y la investigación, no para sustituir pruebas autorizadas ni la revisión humana.

Elige este producto cuando

Elige esto para evidencias pasivas de versiones y configuraciones expuestas. No explota el objetivo ni demuestra que el sitio esté libre de vulnerabilidades.

Qué obtienes

Detecta software expuesto, configuraciones de riesgo y versiones afectadas conocidas en un sitio web público. Cada resultado explica qué se comprobó, por qué hubo una coincidencia y la solidez de las pruebas.

Endpoints

Revisa las operaciones, entradas, salidas, modos de ejecución y límites de respuesta compatibles antes de integrar.

GET /v1/vulnerabilities Ver referencia de API

Créditos y autenticación

8-12 Autenticación obligatoria. Consulta la referencia de la operación para conocer el coste exacto y cualquier precio por elemento.

Operación de ejemplo

Usa operaciones documentadas para recopilar, evaluar, enriquecer, verificar, comparar, proteger o monitorizar evidencias públicas.

GET /v1/vulnerabilities Créditos: 8-12

Parámetros de consulta

Parámetro Tipo obligatorio
url string opcional
domain string opcional
mode string
Valores permitidos standarddeep
Predeterminado standard
opcional

Campos de respuesta

Campo Tipo
target object
target.requested_url string
target.final_url string
target.hostname string
scan object
scan.mode string
scan.status string
scan.checked_at string
scan.duration_ms integer
scan.disclaimer string
summary object
summary.posture string
summary.risk_level string
summary.finding_count integer
summary.version_affected_count integer
summary.misconfiguration_count integer
summary.urgent_count integer
summary.severity_counts object
findings[] object[]
findings[] object
findings[].fingerprint string
findings[].classification string
findings[].severity string
findings[].priority string
findings[].title string
findings[].summary string
findings[].component object
findings[].component.technology_id string
findings[].component.name string
findings[].component.detected_version string
findings[].component.version_kind string
findings[].component.confidence string
findings[].component.confidence_score integer
findings[].component.ecosystem string
findings[].component.package string
findings[].component.purl string
findings[].advisory object
findings[].advisory.id string
findings[].advisory.aliases[] string[]
findings[].advisory.cves[] string[]
findings[].advisory.published_at string | null
findings[].advisory.modified_at string | null
findings[].advisory.cvss[] object[]
findings[].advisory.cvss[] object
findings[].advisory.cvss[].type string
findings[].advisory.cvss[].vector string
findings[].advisory.fixed_versions[] string[]
findings[].advisory.affected_ranges[] object[]
findings[].advisory.affected_ranges[] object
findings[].advisory.references[] string[]
findings[].exploitation object
findings[].exploitation.cisa_kev boolean | null
findings[].exploitation.kev_added_at string | null
findings[].exploitation.kev_required_action string | null
findings[].exploitation.known_ransomware_use string | null
findings[].exploitation.epss_probability number | null
findings[].exploitation.epss_percentile number | null
findings[].exploitation.epss_date string | null
findings[].evidence object
findings[].evidence.confidence string
findings[].evidence.observed[] string[]
findings[].evidence.limitations[] string[]
findings[].remediation object
findings[].remediation.summary string
findings[].remediation.fixed_versions[] string[]
findings[].sources[] string[]
components[] object[]
components[] object
components[].technology_id string
components[].name string
components[].detected_version string | null
components[].version_kind string | null
components[].confidence string
components[].advisory_status string
components[].matched_advisories integer
coverage object
coverage.target_response string
coverage.technology_detection string
coverage.package_advisories string
coverage.known_exploitation string
coverage.exploitation_probability string
coverage.detected_components integer
coverage.versioned_components integer
coverage.advisory_eligible_components integer
coverage.advisory_checked_components integer
coverage.advisory_deferred_components integer
coverage.advisory_query_limit integer
coverage.relay_used boolean
coverage.limitations[] string[]
sources[] object[]
sources[] object
sources[].id string
sources[].name string
sources[].owner string
sources[].url string
sources[].status string
sources[].retrieved_at string | null
sources[].cache_hit boolean
sources[].expected_freshness string
sources[].fallback_behavior string
sources[].cost string
_meta object

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/vulnerabilities?url=https%3A%2F%2Fexample.com&domain=example.com&mode=standard"
const response = await fetch("https://domscan.net/v1/vulnerabilities?url=https%3A%2F%2Fexample.com&domain=example.com&mode=standard", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
import os
import requests

response = requests.get(
    "https://domscan.net/v1/vulnerabilities?url=https%3A%2F%2Fexample.com&domain=example.com&mode=standard",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/vulnerabilities?url=https%3A%2F%2Fexample.com&domain=example.com&mode=standard", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/vulnerabilities?url=https%3A%2F%2Fexample.com&domain=example.com&mode=standard")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))

Respuesta de ejemplo

{
  "target": {
    "requested_url": "https://www.example.com/",
    "final_url": "https://www.example.com/",
    "hostname": "www.example.com"
  },
  "scan": {
    "mode": "standard",
    "status": "complete",
    "checked_at": "2026-10-09T10:15:30.000Z",
    "duration_ms": 3120,
    "disclaimer": "A clean result means DomScan did not detect an issue within the documented scan coverage. Automated scanning cannot prove that an application is vulnerability-free or replace an authorized penetration test."
  },
  "summary": {
    "posture": "review",
    "risk_level": "medium",
    "finding_count": 2,
    "version_affected_count": 0,
    "misconfiguration_count": 2,
    "urgent_count": 0,
    "severity_counts": {
      "critical": 0,
      "high": 0,
      "medium": 1,
      "low": 1,
      "info": 0,
      "unknown": 0
    }
  },
  "findings": [
    {
      "fingerprint": "configuration:content-security-policy:www.example.com",
      "classification": "security_misconfiguration",
      "severity": "medium",
      "priority": "elevated",
      "title": "Content Security Policy is not advertised",
      "summary": "The observed response did not include a Content-Security-Policy header.",
      "evidence": {
        "confidence": "high",
        "observed": [
          "Public response did not include the expected content-security-policy protection."
        ],
        "limitations": [
          "header_policy_can_vary_by_path_or_response_status"
        ]
      },
      "remediation": {
        "summary": "Deploy a restrictive Content Security Policy in report-only mode first, then enforce it.",
        "fixed_versions": []
      },
      "sources": [
        "target_response"
      ]
    },
    {
      "fingerprint": "configuration:referrer-policy:www.example.com",
      "classification": "security_misconfiguration",
      "severity": "low",
      "priority": "normal",
      "title": "Referrer Policy is not advertised",
      "summary": "The response did not include an explicit Referrer-Policy header.",
      "evidence": {
        "confidence": "high",
        "observed": [
          "Public response did not include the expected referrer-policy protection."
        ],
        "limitations": [
          "header_policy_can_vary_by_path_or_response_status"
        ]
      },
      "remediation": {
        "summary": "Choose and deploy a Referrer-Policy that matches the application privacy and analytics requirements.",
        "fixed_versions": []
      },
      "sources": [
        "target_response"
      ]
    }
  ],
  "components": [
    {
      "technology_id": "jquery",
      "name": "jQuery",
      "detected_version": "3.7.1",
      "version_kind": "asset",
      "confidence": "high",
      "advisory_status": "checked",
      "matched_advisories": 0
    },
    {
      "technology_id": "cloudflare",
      "name": "Cloudflare",
      "detected_version": null,
      "version_kind": null,
      "confidence": "high",
      "advisory_status": "mapping_unavailable",
      "matched_advisories": 0
    }
  ],
  "coverage": {
    "target_response": "checked",
    "technology_detection": "checked",
    "package_advisories": "checked",
    "known_exploitation": "not_requested",
    "exploitation_probability": "not_requested",
    "detected_components": 2,
    "versioned_components": 1,
    "advisory_eligible_components": 1,
    "advisory_checked_components": 1,
    "advisory_deferred_components": 0,
    "advisory_query_limit": 20,
    "relay_used": true,
    "limitations": [
      "Only exact reviewed technology-to-package mappings are checked against OSV.",
      "Versionless or semantically incompatible detections are not reported as vulnerable.",
      "This passive scan does not send exploit payloads or prove exploitability.",
      "Response headers and exposed versions can vary by path, edge location, or authentication state."
    ]
  },
  "sources": [
    {
      "id": "target_response",
      "name": "Observed public response",
      "owner": "Target website",
      "url": "https://domscan.net/tech-stack-api",
      "status": "checked",
      "retrieved_at": "2026-10-09T10:15:30.000Z",
      "cache_hit": false,
      "expected_freshness": "Live at scan time",
      "fallback_behavior": "Unavailable signals remain unknown and never imply that the target is unaffected",
      "cost": "none"
    },
    {
      "id": "osv",
      "name": "OSV",
      "owner": "Google Open Source Security Team",
      "url": "https://google.github.io/osv.dev/",
      "status": "checked",
      "retrieved_at": "2026-10-09T10:15:29.000Z",
      "cache_hit": false,
      "expected_freshness": "OSV targets advisory freshness within 15 minutes",
      "fallback_behavior": "Use a fresh cached result when available; otherwise mark the component advisory check unknown",
      "cost": "none"
    },
    {
      "id": "cisa_kev",
      "name": "CISA Known Exploited Vulnerabilities Catalog",
      "owner": "Cybersecurity and Infrastructure Security Agency",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "status": "not_requested",
      "retrieved_at": null,
      "cache_hit": false,
      "expected_freshness": "Catalog changes are checked hourly",
      "fallback_behavior": "Use a fresh cached catalog when available; otherwise leave exploitation status unknown",
      "cost": "none"
    },
    {
      "id": "first_epss",
      "name": "Exploit Prediction Scoring System",
      "owner": "FIRST",
      "url": "https://www.first.org/epss/",
      "status": "not_requested",
      "retrieved_at": null,
      "cache_hit": false,
      "expected_freshness": "Scores are generated daily",
      "fallback_behavior": "Return the advisory without an EPSS value and mark exploitation probability unknown",
      "cost": "none"
    }
  ],
  "_meta": {
    "served_by": "pop=MAD country=ES",
    "analysis_status": "complete"
  }
}

Códigos de estado HTTP

  • 200 OK
  • 400 Solicitud incorrecta
  • 401 No autorizado
  • 402 Pago requerido
  • 429 Demasiadas solicitudes
  • 503 Servicio no disponible

Preguntas frecuentes

¿Dónde puedo encontrar la referencia de solicitud y respuesta de Escáner de vulnerabilidades de sitios web?

Usa la referencia de API de Escáner de vulnerabilidades de sitios web para revisar parámetros, campos de respuesta, ejemplos, códigos de estado y modos de operación compatibles.

¿Cómo debo interpretar los resultados desconocidos o incompletos de Escáner de vulnerabilidades de sitios web?

Los resultados desconocidos o parciales indican que la evidencia solicitada no pudo determinarse por completo. Conserva el estado del resultado, la confianza, la vigencia y las limitaciones en las decisiones posteriores.

¿Cómo se calcula el precio de Escáner de vulnerabilidades de sitios web?

El precio depende de la operación y del modo de ejecución. Consulta la referencia del endpoint para conocer el coste actual en créditos, el requisito de autenticación y las reglas por elemento.

Utilizado por personas en estas empresas

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse