Para quem é
Use verificações passivas limitadas para enriquecer triagem e investigação, não para substituir testes autorizados ou análise humana.
Tente um produto, objetivo, caminho de endpoint ou tópico de API.
Encontre software exposto, configurações arriscadas e versões conhecidas como afetadas em um site público. Cada resultado explica o que foi verificado, por que houve correspondência e a força das evidências.
Encontre software exposto, configurações arriscadas e versões conhecidas como afetadas em um site público. Cada resultado explica o que foi verificado, por que houve correspondência e a força das evidências.
Use verificações passivas limitadas para enriquecer triagem e investigação, não para substituir testes autorizados ou análise humana.
Escolha para evidências passivas de versões expostas e configurações. Não explora o alvo nem prova que o site está livre de vulnerabilidades.
Encontre software exposto, configurações arriscadas e versões conhecidas como afetadas em um site público. Cada resultado explica o que foi verificado, por que houve correspondência e a força das evidências.
Revise as operações, entradas, saídas, modos de execução e limites de resposta compatíveis antes da integração.
8-12 Autenticação obrigatória. Consulte a referência da operação para ver o custo exato e qualquer preço por item.
Use operações documentadas para coletar, avaliar, enriquecer, verificar, comparar, proteger ou monitorar evidências públicas.
| Parâmetro | Tipo | obrigatório |
|---|---|---|
| url | string | opcional |
| domain | string | opcional |
| mode |
string
Valores permitidos
standarddeep
Padrão
standard
|
opcional |
| 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 Pedido inválido401 Não autorizado402 Pagamento necessário429 Demasiados pedidos503 Serviço indisponívelUse a referência da API de Scanner de vulnerabilidades de sites para revisar parâmetros, campos de resposta, exemplos, códigos de status e modos de operação compatíveis.
Resultados desconhecidos ou parciais significam que as evidências solicitadas não puderam ser totalmente determinadas. Mantenha o estado do resultado, a confiança, a atualização e as limitações nas decisões seguintes.
O preço depende da operação e do modo de execução. Consulte a referência do endpoint para ver o custo atual em créditos, o requisito de autenticação e as regras por item.
Usado por pessoas nestas empresas