Sicherheit und Vertrauen · DomScan-Produkt

API für Website-Schwachstellenscanner

Findet offengelegte Software, riskante Konfigurationen und bekannte betroffene Versionen auf einer öffentlichen Website. Jedes Ergebnis erklärt, was geprüft wurde, warum eine Übereinstimmung vorliegt und wie belastbar die Nachweise sind.

Was Sie erhalten

Findet offengelegte Software, riskante Konfigurationen und bekannte betroffene Versionen auf einer öffentlichen Website. Jedes Ergebnis erklärt, was geprüft wurde, warum eine Übereinstimmung vorliegt und wie belastbar die Nachweise sind.

SynchronRESTMCPSDKInteraktives Tool

Wählen Sie dieses Produkt, wenn

Für wen es gedacht ist

Nutzen Sie begrenzte passive Prüfungen zur Anreicherung von Triage und Untersuchung, nicht als Ersatz für autorisierte Tests oder menschliche Prüfung.

Wählen Sie dieses Produkt, wenn

Wählen Sie dies für passive Belege offengelegter Versionen und Konfigurationen. Das Ziel wird nicht ausgenutzt und eine Schwachstellenfreiheit nicht bewiesen.

Was Sie erhalten

Findet offengelegte Software, riskante Konfigurationen und bekannte betroffene Versionen auf einer öffentlichen Website. Jedes Ergebnis erklärt, was geprüft wurde, warum eine Übereinstimmung vorliegt und wie belastbar die Nachweise sind.

Endpunkte

Prüfen Sie vor der Integration die unterstützten Operationen, Eingaben, Ausgaben, Ausführungsmodi und Antwortlimits.

GET /v1/vulnerabilities API-Referenz ansehen

Credits und Authentifizierung

8-12 Authentifizierung erforderlich. Die genaue Gebühr und mögliche Preise pro Element finden Sie in der Operationsreferenz.

Beispieloperation

Nutzen Sie dokumentierte Operationen, um öffentliche Belege zu erfassen, zu bewerten, anzureichern, zu verifizieren, zu vergleichen, zu schützen oder zu überwachen.

GET /v1/vulnerabilities Credits: 8-12

Abfrageparameter

Parameter Typ erforderlich
url string optional
domain string optional
mode string
Zulässige Werte standarddeep
Standard standard
optional

Antwortfelder

Feld Typ
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

Beispielanfrage

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))

Beispielantwort

{
  "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"
  }
}

HTTP-Statuscodes

  • 200 OK
  • 400 Ungültige Anfrage
  • 401 Nicht autorisiert
  • 402 Zahlung erforderlich
  • 429 Zu viele Anfragen
  • 503 Dienst nicht verfügbar

Häufig gestellte Fragen

Wo finde ich die Request- und Response-Referenz für Website-Schwachstellenscanner?

In der API-Referenz für Website-Schwachstellenscanner finden Sie Parameter, Response-Felder, Beispiele, Statuscodes und unterstützte Operationsmodi.

Wie sollte ich unbekannte oder unvollständige Ergebnisse von Website-Schwachstellenscanner interpretieren?

Unbekannte oder teilweise Ergebnisse bedeuten, dass die angeforderten Belege nicht vollständig bestimmt werden konnten. Berücksichtigen Sie Ergebnisstatus, Konfidenz, Aktualität und Einschränkungen in nachgelagerten Entscheidungen.

Wie wird Website-Schwachstellenscanner abgerechnet?

Die Abrechnung hängt von Operation und Ausführungsmodus ab. Die Endpoint-Referenz nennt die aktuellen Credit-Kosten, die Authentifizierungsanforderung und die Regeln pro Element.

Wird von Mitarbeitenden dieser Unternehmen genutzt

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse