Source health
Every 4 hours the canary asks each active source about a known indicator and records the answer. A source that changes its answer, stops answering or slows down shows up here before it changes a verdict.
| Source | Supports | Health | Last answer | Latency | Checked |
|---|---|---|---|---|---|
|
VirusTotal (files)
virustotal
|
hash | skip |
skipped
provider says the daily allowance is spent (480/480 virustotal today), not asked
|
1 ms | 1h ago |
|
VirusTotal (URL)
virustotal_url
|
url | skip |
skipped
provider says the daily allowance is spent (480/480 virustotal today), not asked
|
– | 1h ago |
|
AlienVault OTX
otx
|
hash | ok |
found · malicious
49 pulse(s), 1 no-threat pulse(s) ignored
|
1197 ms 2.8× baseline | 1h ago |
|
AlienVault OTX (domain)
otx_domain
|
domain, ip | ok |
found
whitelisted, but in 45 pulse(s), 5 no-threat pulse(s) ignored
|
1820 ms | 1h ago |
|
AlienVault OTX (URL)
otx_url
|
url | ok |
found
no pulses
|
84 ms | 1h ago |
|
Certificate Transparency
crt
|
domain | ok |
found
85 cert(s), 11 hostname(s)
|
2510 ms 1.3× baseline | 1h ago |
|
CIRCL hashlookup
circl
|
hash | ok |
found · malicious
listed by malshare.com
|
345 ms | 1h ago |
|
DNS records
dns
|
domain, ip | ok |
found
A, AAAA, MX, NS, SOA, TXT
|
134 ms | 1h ago |
|
Google Safe Browsing
gsb
|
url, domain | ok |
matched · malicious
MALWARE
|
155 ms 1.7× baseline | 1h ago |
|
Hybrid Analysis
hybridanalysis
|
hash | ok |
found · malicious
1/1 scanner(s) flagged - EICAR
|
582 ms | 1h ago |
|
MalShare
malshare
|
hash | ok |
found · malicious
sample in MalShare (EICAR)
|
382 ms | 1h ago |
|
MalwareBazaar (abuse.ch)
malwarebazaar
|
hash | ok | not_found | 515 ms | 1h ago |
|
MetaDefender (domain/IP)
metadefender_domain
|
domain, ip | ok |
found · clean
0/8 providers flagged
|
87 ms | 1h ago |
|
MetaDefender (files)
metadefender
|
hash | ok |
found · malicious
17/21 engines flagged
|
315 ms | 1h ago |
|
MetaDefender (URL)
metadefender_url
|
url | ok |
found · clean
0/7 providers flagged
|
126 ms 1.3× baseline | 1h ago |
|
ThreatFox (abuse.ch)
threatfox
|
hash, url, domain, ip | ok | no_match | 309 ms | 1h ago |
|
URLhaus (URL)
urlhaus_url
|
url | ok | no_match | 113 ms | 1h ago |
|
URLhaus payload (abuse.ch)
urlhaus
|
hash | ok | not_found | 352 ms | 1h ago |
|
urlscan.io (URL)
urlscan
|
url, domain, ip | ok | not_found | 442 ms | 1h ago |
|
WHOIS / RDAP
rdap
|
domain, ip | ok |
found
RESERVED-Internet Assigned Numbers Authority / 1995-08-14
|
251 ms 1.6× baseline | 1h ago |
|
Hatching Triage
triage
|
hash | off |
–
TRIAGE_API_KEY
|
– | never |
|
PhishTank
phishtank
|
url | off |
–
PHISHTANK_APPKEY
|
– | never |
|
Reverse IP
reverseip
|
domain, ip | off |
–
TT_ENABLE_REVERSE_IP
|
– | never |
|
VirusTotal (domain/IP)
virustotal_domain
|
domain, ip | off |
–
TT_VT_DOMAINS
|
– | never |
What the canary asks
Four indicators whose answer should not change, each asked of every source that supports its type. A run costs one request per active source, so it bypasses the cache on purpose: a cached answer would hide exactly the breakage it is looking for.
sha256 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f EICAR test file url http://malware.testing.google.test/testing/malware/ Safe Browsing sample domain example.com stable, benign ip 8.8.8.8 stable, benign
The first healthy answer becomes the expected one. From then on a source that answers "not found" where it used to answer "found" is a warning rather than a success — that is the shape of both silent breakages fixed in 2.6.0 and 2.7.0, neither of which returned an error.
Machine-readable: /api/v1/status
returns the same data, and ?strict=1 answers 503 unless every
active source is healthy.