A chi è rivolto
Usa controlli passivi con limiti definiti per arricchire triage e analisi, non per sostituire test autorizzati o revisione umana.
Prova un prodotto, un risultato, un percorso di endpoint o un argomento API.
Individua software esposto, configurazioni rischiose e versioni note come vulnerabili in un sito web pubblico. Ogni risultato spiega che cosa è stato controllato, perché è stata rilevata una corrispondenza e quanto sono solide le prove.
Individua software esposto, configurazioni rischiose e versioni note come vulnerabili in un sito web pubblico. Ogni risultato spiega che cosa è stato controllato, perché è stata rilevata una corrispondenza e quanto sono solide le prove.
Usa controlli passivi con limiti definiti per arricchire triage e analisi, non per sostituire test autorizzati o revisione umana.
Sceglilo per prove passive di versioni e configurazioni esposte. Non sfrutta il target e non dimostra che il sito sia privo di vulnerabilità.
Individua software esposto, configurazioni rischiose e versioni note come vulnerabili in un sito web pubblico. Ogni risultato spiega che cosa è stato controllato, perché è stata rilevata una corrispondenza e quanto sono solide le prove.
Esamina le operazioni, gli input, gli output, le modalità di esecuzione e i limiti di risposta supportati prima dell’integrazione.
8-12 Autenticazione richiesta. Consulta il riferimento dell’operazione per il costo esatto e gli eventuali prezzi per elemento.
Usa operazioni documentate per raccogliere, valutare, arricchire, verificare, confrontare, proteggere o monitorare prove pubbliche.
| Parametro | Tipo | obbligatorio |
|---|---|---|
| url | string | facoltativo |
| domain | string | facoltativo |
| mode |
string
Valori consentiti
standarddeep
Predefinito
standard
|
facoltativo |
| 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 |
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)){
"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"
}
}
200 OK400 Richiesta non valida401 Non autorizzato402 Pagamento richiesto429 Troppe richieste503 Servizio non disponibileUsa il riferimento API di Scanner delle vulnerabilità dei siti web per esaminare parametri, campi di risposta, esempi, codici di stato e modalità operative supportate.
I risultati sconosciuti o parziali indicano che le prove richieste non hanno potuto essere determinate completamente. Conserva stato del risultato, confidenza, aggiornamento e limiti nelle decisioni successive.
Il prezzo dipende dall’operazione e dalla modalità di esecuzione. Consulta il riferimento dell’endpoint per il costo attuale in crediti, il requisito di autenticazione e le regole per elemento.
Usato da persone di queste aziende