Threat Feeds & Categories
Every threat-intel feed and category in the graph, with refresh cadence, verdict properties, and example queries.
On this page (5)
Threat Feeds & Categories Documentation
WhisperGraph aggregates 164 intelligence feeds grouped into 33 categories, of which 140 carry isThreat. The rest are VPN, proxy, Tor, ad-tracking, reputation and popularity lists — useful signal, but not abuse reports, so filter on f.isThreat when you mean threat data only. The feeds are part of the graph itself: each feed is a FEED_SOURCE node, each category is a CATEGORY node, and every indicator that appears on a feed carries a LISTED_IN edge to it. On top of the raw listings, a reconciled verdict is written onto the indicator node, so a single anchored read tells you how bad an IP or hostname is with no extra hops.
Read
coveragebeforeband. Only known-clean — coverage: known-clean. In coverage, no malicious evidence. licenses the word "clean"; no-data — coverage: no-data. Not in coverage. This is not a verdict — nothing was looked at. means unknown, which is a different thing again; malicious-evidenced — coverage: malicious-evidenced. In coverage, with positive evidence of malice. and ambiguous — coverage: ambiguous. In coverage, and the evidence points both ways. mean there is evidence, whatever the band says. Full contract: Coverage — what we looked at.
This page covers how feed data enters the graph, the full catalog and its refresh cadence, the category taxonomy, and the queries to work with both. For a scored verdict with an inspectable evidence chain, use explain().
How feeds enter the graph
Feeds are collected by a companion collection service that pulls from public and commercial sources on each feed's own refresh schedule. Inside the graph, the threat-intelligence layer surfaces three ways:
LISTED_INedges. AnIPV4,IPV6, orHOSTNAMEnode connects to eachFEED_SOURCEthat lists it. The edge itself carries no queryable properties, so do not projectr.weightorr.firstSeenoff it. Per-feed weights and first/last-seen timestamps come fromCALL explain(indicator), which returns them insources[]; the feed's static weight is on the node asf.weight.BELONGS_TOedges. AFEED_SOURCEconnects to itsCATEGORY(there is noIN_CATEGORYedge), so you can turn feed names into threat categories in one hop.- Verdict properties on nodes. Listed indicators carry raw threat properties (
threatScore,threatLevelfromNONEtoCRITICAL,threatSources— a count of feeds, not their names —threatFirstSeen,threatLastSeen) plus a reconciled verdict:verdictScore,verdictLevel,verdictBlocking, and on IP nodesverdictAdvisory. Prefer the reconciledverdict*properties for triage decisions; they are the authoritative signal. A node can carry a threat listing and a whitelist marker at the same time: read the verdict as the verdict and treat the whitelist marker as context, not as an override.
Listed nodes also carry boolean posture flags derived from the categories of the feeds that list them: isThreat, isAnonymizer, isC2, isMalware, isPhishing, isSpam, isBruteforce, isScanner, isBlacklist, isTor, isProxy, isVpn, isWhitelist, isReputation, isBotnet, isDga, isStateActor, isExfilDestination, isOfacSanctioned, isScam and isEgressRisk, with egressClasses naming the kind of egress (tor-exit, for example). Flags like isTor and isAnonymizer matter for triage even when the score is moderate: a login from a Tor exit reads very differently than the same login from a residential IP.
Two mechanics to know before querying:
LISTED_INand the feed-to-categoryBELONGS_TOstep are computed at query time. Label or anchor one endpoint of each, and bound the feed list withWITH f LIMIT 10before expanding to categories. See Best Practices.- Curated allowlists clamp the verdict surfaces (
threatLevel,isThreat,verdictLevel) toINFO/falsefor well-known public DNS resolvers such as1.1.1.1and8.8.8.8, which appear on aggressive blocklists for reasons that rarely matter to a defender. Such a node carriesallowlisted: true. The rawthreatScoreis not clamped, so it keeps the feed evidence.
Feed catalog
The live catalog holds 164 feeds.
This table is generated — every row, every column, straight from the FEED_SOURCE nodes, so it is the catalog rather than a copy of it. The Feed column is the human label (f.displayName). Anchor on the Query key column: it is the feed's stable slug, exposed as both f.id and f.name, so MATCH (f:FEED_SOURCE {id: "abuse-ch-feodo-tracker"}) and the name form both match, while the display name matches nothing. Each feed node also carries isThreat, isPopularity and category (the slug of its category), so you can filter the catalog without a hop. Weight is the feed's static score contribution (f.weight): one listing on a 0.5 feed is a lead, one on a 2.0 feed is a finding.
| Feed | Query key | Category | Weight |
|---|---|---|---|
| 1Hosts Xtra | 1hosts-xtra | Ad/Tracking Blocklists | 0.5 |
| Feodo Tracker | abuse-ch-feodo-tracker | C2 Servers | 2.0 |
| MalwareBazaar Recent | abuse-ch-malwarebazaar | Malware Distribution | 1.5 |
| MalwareBazaar Full (SHA256) | abuse-ch-malwarebazaar-full | Malware Distribution | 1.5 |
| MalwareBazaar Full (MD5) | abuse-ch-malwarebazaar-md5 | Malware Distribution | 1.5 |
| MalwareBazaar Full (SHA1) | abuse-ch-malwarebazaar-sha1 | Malware Distribution | 1.5 |
| ThreatFox Domain | abuse-ch-threatfox-domain | C2 Servers | 1.5 |
| ThreatFox Domain (DNS resolved) | abuse-ch-threatfox-domain-ip | C2 Servers | 0.2 |
ThreatFox IP:Port | abuse-ch-threatfox-ip | C2 Servers | 1.5 |
| ThreatFox URL | abuse-ch-threatfox-url | C2 Servers | 1.5 |
| URLhaus Recent | abuse-ch-urlhaus | Malware Distribution | 1.5 |
| DGA Feed (High Confidence) | bambenek-dga-high | Malicious Domains | 1.4 |
| DGA Feed (High Confidence) (DNS resolved) | bambenek-dga-high-ip | Malicious Domains | 0.1 |
| Binary Defense Banlist | binarydefense-banlist | General Blacklists | 1.2 |
| Blocklist.de All | blocklist-de-all | General Blacklists | 1.0 |
| Blocklist.de Mail | blocklist-de-mail | Spam | 0.8 |
| Blocklist.de SSH | blocklist-de-ssh | Brute Force | 1.0 |
| blocklist-de-strongips | blocklist-de-strongips | Brute Force | 1.6 |
| blocklist-net-ua | blocklist-net-ua | General Blacklists | 1.2 |
| borestad-abuseipdb-s100-30d | borestad-abuseipdb-s100-30d | General Blacklists | 1.4 |
| botscout-30d | botscout-30d | Spam | 0.7 |
| Botvrij Hostnames | botvrij-ioc-domain | Malicious Domains | 1.3 |
| Botvrij Hostnames (DNS resolved) | botvrij-ioc-domain-ip | Malicious Domains | 0.1 |
| Botvrij Dst IPs | botvrij-ioc-dst-ip | C2 Servers | 1.3 |
| Botvrij URLs | botvrij-ioc-url | C2 Servers | 1.3 |
| Brute Force Blocker | bruteforceblocker | Brute Force | 1.0 |
| C2 Intel 30d | c2intelfeeds | C2 Servers | 1.5 |
| c2intelfeeds-domain-90day | c2intelfeeds-domain-90day | C2 Servers | 1.5 |
| c2intelfeeds-domain-90day (DNS resolved) | c2intelfeeds-domain-90day-ip | C2 Servers | 0.2 |
| c2intelfeeds-ipport-90day | c2intelfeeds-ipport-90day | C2 Servers | 1.5 |
| CERT.pl Domains | cert-pl-domains | Malicious Domains | 1.3 |
| CERT.pl Domains (DNS resolved) | cert-pl-domains-ip | Malicious Domains | 0.1 |
| CINS Score | cins-score | General Blacklists | 1.0 |
| CIRCL MISP OSINT Events | circl-osint | General Blacklists | 1.0 |
| circl-osint-misp-hashes | circl-osint-misp-hashes | Malware Distribution | 1.0 |
| Cloudflare Radar Top 1M | cloudflare-radar-top1m | Popularity/Trust | -1.0 |
| DNS RD Abuse | dataplane-dnsrd | General Blacklists | 0.8 |
| SSH Client Attacks | dataplane-sshclient | Brute Force | 1.0 |
| SSH Password Auth | dataplane-sshpwauth | Brute Force | 1.0 |
| dataplane-telnetlogin | dataplane-telnetlogin | Brute Force | 1.0 |
| DShield Recommended Block List | dshield-block | General Blacklists | 1.6 |
| DShield Top Attacking IPs | dshield-top20 | General Blacklists | 1.0 |
| duggytuxy-datashield-critical | duggytuxy-datashield-critical | General Blacklists | 1.5 |
| durablenapkin-scamblocklist | durablenapkin-scamblocklist | Consumer Scam | 0.8 |
| durablenapkin-scamblocklist (DNS resolved) | durablenapkin-scamblocklist-ip | Consumer Scam | 0.1 |
| ET Compromised IPs | emerging-threats-compromised | General Blacklists | 1.3 |
| FireHOL Abusers 1d | firehol-abusers-1d | General Blacklists | 1.5 |
| FireHOL Anonymous | firehol-anonymous | Proxies | 0.5 |
| FireHOL Level 1 | firehol-level1 | General Blacklists | 1.8 |
| FireHOL Level 2 | firehol-level2 | General Blacklists | 1.3 |
| FireHOL Level 3 | firehol-level3 | General Blacklists | 0.8 |
| FireHOL WebClient | firehol-webclient | General Blacklists | 1.0 |
| GreenSnow Blacklist | greensnow | General Blacklists | 1.0 |
| Hagezi Light | hagezi-dns-light | Ad/Tracking Blocklists | 0.7 |
| Hagezi Pro | hagezi-dns-pro | Ad/Tracking Blocklists | 0.8 |
| Hagezi DoH | hagezi-doh | Encrypted DNS Resolvers | 0.8 |
| Hagezi DynDNS | hagezi-dyndns | Reputation | 0.8 |
| Hagezi DynDNS (DNS resolved) | hagezi-dyndns-ip | Reputation | 0.1 |
| Hagezi TIF Full | hagezi-tif-full | Malware Distribution | 1.5 |
| Hagezi TIF Full (DNS resolved) | hagezi-tif-full-ip | Malware Distribution | 0.2 |
| InterServer RBL | interserver-level1 | General Blacklists | 0.8 |
| interserver-sigs-sha256 | interserver-sigs-sha256 | Malware Distribution | 1.0 |
| interserver-sigs-shell-md5 | interserver-sigs-shell-md5 | Malware Distribution | 0.7 |
| loldrivers-vulnerable-samples | loldrivers-vulnerable-samples | Malware Distribution | 1.6 |
| MalShare Raw Hash List (MD5, SHA-1, SHA-256) | malshare-getlistraw-md5 | Malware Distribution | 1.2 |
| Maltrail Static Trails - Telekopye Scam Toolkit | maltrail-static-malicious-telekopye | Consumer Scam | 1.0 |
| Maltrail Static Trails - Telekopye Scam Toolkit (DNS resolved) | maltrail-static-malicious-telekopye-ip | Consumer Scam | 0.1 |
| maltrail-static-malware-apt-kimsuky | maltrail-static-malware-apt-kimsuky | C2 Servers | 1.8 |
| maltrail-static-malware-apt-kimsuky (DNS resolved) | maltrail-static-malware-apt-kimsuky-ip | C2 Servers | 0.2 |
| maltrail-static-malware-apt-lazarus | maltrail-static-malware-apt-lazarus | C2 Servers | 1.8 |
| maltrail-static-malware-apt-lazarus (DNS resolved) | maltrail-static-malware-apt-lazarus-ip | C2 Servers | 0.2 |
| maltrail-static-malware-asyncrat | maltrail-static-malware-asyncrat | C2 Servers | 1.5 |
| maltrail-static-malware-asyncrat (DNS resolved) | maltrail-static-malware-asyncrat-ip | C2 Servers | 0.2 |
| maltrail-static-malware-asyncrat-ipv4 | maltrail-static-malware-asyncrat-ipv4 | C2 Servers | 1.5 |
| maltrail-static-malware-cobaltstrike-2 | maltrail-static-malware-cobaltstrike-2 | C2 Servers | 1.5 |
| maltrail-static-malware-cobaltstrike-2 (DNS resolved) | maltrail-static-malware-cobaltstrike-2-ip | C2 Servers | 0.2 |
| maltrail-static-malware-cobaltstrike-2-ipv4 | maltrail-static-malware-cobaltstrike-2-ipv4 | C2 Servers | 1.5 |
| Maltrail Static Trails - Emotet | maltrail-static-malware-emotet | Malware Distribution | 1.0 |
| Maltrail Static Trails - Mass Scanner | maltrail-static-mass-scanner | General Blacklists | 1.0 |
| Maltrail Static Trails - Suspicious Dynamic Domain | maltrail-static-suspicious-dynamic-domain | Reputation | 0.9 |
| Maltrail Static Trails - Suspicious Dynamic Domain (DNS resolved) | maltrail-static-suspicious-dynamic-domain-ip | Reputation | 0.1 |
| malware-filter phishing domains | malware-filter-phishing-domains | Phishing | 1.3 |
| malware-filter phishing domains (DNS resolved) | malware-filter-phishing-domains-ip | Phishing | 0.1 |
| metamask-eth-phishing-detect | metamask-eth-phishing-detect | Phishing | 1.4 |
| metamask-eth-phishing-detect (DNS resolved) | metamask-eth-phishing-detect-ip | Phishing | 0.1 |
| Bad Hosting ASN | mnwb-bad-hosting-asn | Reputation | 0.8 |
| Mullvad VPN Relays | mullvad-relays | VPNs | 1.2 |
| NazgulCoder IPLists VPN | nazgulcoder-iplists-vpn | VPNs | 1.0 |
| nordvpn-server-ips | nordvpn-server-ips | VPNs | 1.0 |
| OFAC SDN Sanctioned Crypto Addresses (BTC/XBT) | ofac-sdn-crypto-btc | OFAC SDN Sanctions | 2.0 |
| OFAC SDN Sanctioned Crypto Addresses (ETH) | ofac-sdn-crypto-eth | OFAC SDN Sanctions | 2.0 |
| OFAC SDN Sanctioned Crypto Addresses (SOL) | ofac-sdn-crypto-sol | OFAC SDN Sanctions | 2.0 |
| OFAC SDN Sanctioned Crypto Addresses (TRX) | ofac-sdn-crypto-trx | OFAC SDN Sanctions | 2.0 |
| OISD Big | oisd-big | Ad/Tracking Blocklists | 0.8 |
| OpenPhish Feed | openphish | Phishing | 1.5 |
| OTX Pulse IOCs | otx-pulse | General Blacklists | 1.0 |
| phishdestroy-destroylist | phishdestroy-destroylist | Phishing | 1.5 |
| phishdestroy-destroylist (DNS resolved) | phishdestroy-destroylist-ip | Phishing | 0.2 |
| Phishing Blocklist Extended | phishing-army | Phishing | 1.4 |
| Phishing Blocklist Extended (DNS resolved) | phishing-army-ip | Phishing | 0.1 |
| Phishing.Database ACTIVE Domains | phishing-database-domains | Phishing | 1.4 |
| Phishing.Database ACTIVE Domains (DNS resolved) | phishing-database-domains-ip | Phishing | 0.1 |
| Phishing.Database ACTIVE IPs | phishing-database-ips | Phishing | 1.2 |
| Phishing.Database ACTIVE URLs | phishing-database-urls | Phishing | 1.4 |
| phishtank-verified-online | phishtank-verified-online | Phishing | 1.6 |
| Phishunt Feed | phishunt-feed | Phishing | 1.2 |
| polkadot-js-phishing | polkadot-js-phishing | Phishing | 1.2 |
| polkadot-js-phishing (DNS resolved) | polkadot-js-phishing-ip | Phishing | 0.1 |
| projecthoneypot-comment-spammers-30d | projecthoneypot-comment-spammers-30d | Spam | 1.0 |
| projecthoneypot-dictionary-attackers-30d | projecthoneypot-dictionary-attackers-30d | Brute Force | 1.0 |
| projecthoneypot-harvesters-30d | projecthoneypot-harvesters-30d | Spam | 0.8 |
| projecthoneypot-spammers-30d | projecthoneypot-spammers-30d | Spam | 1.0 |
| rfxn-lmd-hash-signatures | rfxn-lmd-hash-signatures | Malware Distribution | 1.0 |
| malicious-domains aa | romainmarcoux-malicious-aa | General Blacklists | 1.0 |
| malicious-domains aa (DNS resolved) | romainmarcoux-malicious-aa-ip | General Blacklists | 0.1 |
| malicious-domains ab | romainmarcoux-malicious-ab | General Blacklists | 1.0 |
| malicious-domains ab (DNS resolved) | romainmarcoux-malicious-ab-ip | General Blacklists | 0.1 |
| sans-isc-research-scanners | sans-isc-research-scanners | General Blacklists | -0.5 |
| sans-isc-top-attackers | sans-isc-top-attackers | General Blacklists | 1.0 |
| sblam-http-spammers | sblam-http-spammers | Spam | 0.8 |
| ScamSniffer Scam Domain Blacklist | scamsniffer-blacklist | Crypto Scam | 1.0 |
| ScamSniffer Scam Domain Blacklist (DNS resolved) | scamsniffer-blacklist-ip | Crypto Scam | 0.1 |
| shadowwhisperer-ips-threats | shadowwhisperer-ips-threats | General Blacklists | 0.9 |
| shadowwhisperer-malware-domains | shadowwhisperer-malware-domains | Malware Distribution | 1.3 |
| shadowwhisperer-malware-domains (DNS resolved) | shadowwhisperer-malware-domains-ip | Malware Distribution | 0.1 |
| shadowwhisperer-scam | shadowwhisperer-scam | Consumer Scam | 0.9 |
| shadowwhisperer-scam (DNS resolved) | shadowwhisperer-scam-ip | Consumer Scam | 0.1 |
| sinking-yachts-phishing | sinking-yachts-phishing | Phishing | 1.2 |
| sinking-yachts-phishing (DNS resolved) | sinking-yachts-phishing-ip | Phishing | 0.1 |
| Spamhaus ASN-DROP | spamhaus-asn-drop | General Blacklists | 1.8 |
| Spamhaus DROP | spamhaus-drop | General Blacklists | 2.0 |
| Spur Astrill Snapshot | spur-astrill-snapshot | VPNs | 2.0 |
| SSL Certificate SHA1 Blacklist | sslbl-sha1-blacklist | C2 Servers | 1.5 |
| IPsum | stamparm-ipsum | General Blacklists | 1.2 |
| StevenBlack Hosts | stevenblack-hosts | Ad/Tracking Blocklists | 0.8 |
| StopForumSpam Listed IPs (7 day) | stopforumspam-listed-ip-7d | Spam | 0.5 |
| macos-malware-kb MD5 | stuartjash-macos-malware-md5 | Malware Distribution | 1.2 |
| macos-malware-kb SHA-1 | stuartjash-macos-malware-sha1 | Malware Distribution | 1.2 |
| macos-malware-kb SHA-256 | stuartjash-macos-malware-sha256 | Malware Distribution | 1.2 |
| team-cymru-fullbogons-ipv4 | team-cymru-fullbogons-ipv4 | General Blacklists | 1.5 |
| team-cymru-fullbogons-ipv6 | team-cymru-fullbogons-ipv6 | General Blacklists | 1.5 |
| threatview-domain-high-confidence | threatview-domain-high-confidence | Malware Distribution | 1.3 |
| threatview-domain-high-confidence (DNS resolved) | threatview-domain-high-confidence-ip | Malware Distribution | 0.1 |
| threatview-ip-high-confidence | threatview-ip-high-confidence | General Blacklists | 0.8 |
| Threatview MD5 Hash All | threatview-md5-hash-all | Malware Distribution | 1.0 |
| Tor Exit Nodes | tor-exit-nodes | TOR Network | 0.5 |
| Tranco Top 1M | tranco-top1m | Popularity/Trust | -1.0 |
| NPA 165 investment/gambling victim reports (historical, context) | tw-165-investment-historical | Reputation | 0.5 |
| NPA 165 investment/gambling victim reports (historical, context) (DNS resolved) | tw-165-investment-historical-ip | Reputation | 0.1 |
| NPA 165 Suspended Fraud Domains | tw-165-suspended | Consumer Scam | 1.3 |
| NPA 165 Suspended Fraud Domains (DNS resolved) | tw-165-suspended-ip | Consumer Scam | 0.1 |
| MODA One-Page E-commerce Fraud Sites | tw-moda-ecommerce-fraud | Consumer Scam | 1.3 |
| MODA One-Page E-commerce Fraud Sites (DNS resolved) | tw-moda-ecommerce-fraud-ip | Consumer Scam | 0.1 |
| TweetFeed monthly indicators (mixed) | tweetfeed-month | General Blacklists | 0.9 |
| TweetFeed Year MD5 | tweetfeed-year-md5 | Malware Distribution | 0.8 |
| TweetFeed Year SHA-256 | tweetfeed-year-sha256 | Malware Distribution | 0.8 |
| usom-ips | usom-ips | Phishing | 1.2 |
| usom-urls | usom-urls | Phishing | 1.3 |
| usom-urls (DNS resolved) | usom-urls-ip | Phishing | 0.1 |
| C2 Tracker | viriback-c2 | C2 Servers | 1.6 |
| voipbl | voipbl | Brute Force | 1.2 |
| windscribe-server-ips | windscribe-server-ips | VPNs | 1.0 |
| x4bnet-lists-datacenter | x4bnet-lists-datacenter | Proxies | 0.5 |
| X4BNet VPN List | x4bnet-lists-vpn | VPNs | 1.0 |
Rows measured live from MATCH (f:FEED_SOURCE) RETURN f, 2026-11-08.
The feed set evolves as sources are added or rebalanced. The first query on this page returns the current list, and GET /api/query/stats reports the live feedSourceCount and categoryCount (see the API Reference).
Refresh cadence
- Per-feed refresh. Each source is re-fetched on its own schedule, from hourly to daily, depending on how often its publisher updates it.
- Incremental sync into the graph. A new listing typically becomes queryable through its
LISTED_INedge within about an hour of the source publishing it. A hot C2 IP added to ThreatFox is usually reachable inside that window.
Listings carry first-seen and last-seen timestamps in explain()'s sources[], so you can tell a fresh listing from a stale one. Treat scores and listings as a live read rather than a fixed record, and re-read an indicator before you act on a verdict you fetched earlier.
Category taxonomy
Every feed belongs to one of 33 categories, and the categories fall into three groups. Threat categories mark confirmed or suspected badness. Anonymizer categories mark infrastructure that hides origin without being malicious in itself. Reference categories carry context data, including trust lists: a Tranco or Cloudflare Radar listing is a popularity signal, so a LISTED_IN edge alone does not mean an indicator is malicious. Check the category, or read the reconciled verdict, before escalating.
Two of the Reference categories are allow-lists — known-good and hash-allowlist. A LISTED_IN edge into either says the opposite of an accusation, and a pipeline that counts edges without reading the category will escalate on them.
The Query key column is the anchor here too. It is the category's stable slug, exposed as both c.id and c.name: MATCH (c:CATEGORY {id: "blacklists"}) matches, and {name: "General Blacklists"} matches nothing because that string is c.displayName. Not every category has a feed attached today; a category with no feeds still exists as a node, so MATCH (c:CATEGORY) lists more categories than a walk from FEED_SOURCE over BELONGS_TO reaches. The Group column is generated from the category's own isThreat / isAnonymizer flags, so it says what the engine says rather than what a writer remembered.
| Category | Query key | Group | What it covers |
|---|---|---|---|
| Ad/Tracking Blocklists | ad-tracking | Reference | Domains used for ads and behavioural tracking |
| Anonymization Infrastructure | anonymizer | Anonymizer | VPN exit nodes, proxies, anonymizing relays |
| Anonymous File Upload | anonymous-upload | Reference | Anonymous file-upload and sharing services |
| Attack Sources | attacks | Threat | IPs observed scanning or attacking |
| General Blacklists | blacklists | Threat | Catch-all reputation lists from operators |
| Brute Force | bruteforce | Threat | SSH/RDP/credential brute-force sources |
| Bulk Cloud Storage | bulk-storage | Reference | Bulk cloud-storage providers, sometimes abused for staging or exfiltration |
| C2 Servers | c2 | Threat | Confirmed command-and-control infrastructure |
| Consumer Scam | consumer-scam | Threat | Consumer-facing scam sites and services |
| Crypto Scam | crypto-scam | Threat | Cryptocurrency fraud, drainer and giveaway-scam infrastructure |
| Encrypted DNS Resolvers | encrypted-dns | Reference | |
| Exfiltration Destinations | exfiltration | Reference | Endpoints commonly used as data-exfiltration destinations |
| Known-good file hashes | hash-allowlist | Reference | Allow-list. Hashes of files known to be benign |
| Malicious Infrastructure | infrastructure | Threat | Hosting providers and ASNs hosting badness |
| Known-Good | known-good | Reference | Allow-list. Infrastructure vouched for as benign — a listing here is the opposite of an accusation |
| Malicious Domains | malicious-domains | Threat | Domains involved in malware or attack chains |
| Malware Distribution | malware-distribution | Threat | URLs/IPs serving malware payloads |
| OFAC SDN Sanctions | ofac-sanctions | Threat | OFAC Specially Designated Nationals: sanctioned crypto addresses (BTC/ETH/SOL/TRX) |
| Paste Sites | paste-sites | Reference | Paste and text-sharing services, often used to host stolen data or IOCs |
| Phishing | phishing | Threat | Domains and URLs used for credential theft |
| Popularity/Trust | popularity | Reference | Top-N domain lists used for whitelisting and reputation |
| Proxies | proxies | Anonymizer | HTTP/SOCKS proxy infrastructure |
| Reference Data | reference | Reference | Public infrastructure datasets (e.g. Bitcoin nodes) |
| Reputation | reputation | Reference | General reputation aggregators |
| Scam / Fraud | scam | Threat | General scam and fraud infrastructure |
| Spam | spam | Threat | Mail spam sources |
| State Actor & Sanctions | state-actor | Threat | State-sponsored actor infrastructure and sanctions-related indicators |
| Threat Intelligence | threat | Threat | Curated threat-intel from intel providers |
| TOR Network | tor | Anonymizer | Tor relays and exit nodes |
| Ad-hoc File Transfer | transfer-services | Reference | Ad-hoc/anonymous file-transfer services, sometimes abused for malware delivery or exfiltration |
| Uncategorized | uncategorized | Reference | Feeds not yet assigned a category |
| VPNs | vpns | Anonymizer | Commercial VPN egress IPs |
| Vulnerability & Exploit | vulnerability | Reference | Hosts exposing known-vulnerable or actively exploited services |
Rows measured live from MATCH (c:CATEGORY) RETURN c, 2026-11-08.
Use the category to scope a hunt: filter to C2 Servers plus Malware Distribution for confirmed-bad, or exclude the Reference group when counting threat evidence.
Querying feeds and verdicts
FEED_SOURCE and CATEGORY are small reference labels, so they are safe to scan without an anchor:
// List the live feed catalog with its human label, category slug and weight
MATCH (f:FEED_SOURCE)
RETURN f.id AS feed, f.displayName AS label, f.category AS category, f.weight AS weight
ORDER BY f.id
LIMIT 50
For an indicator, read the listings and the reconciled verdict together in one anchored query:
// Feeds listing this IP, plus its reconciled verdict and posture flags
MATCH (ip:IPV4 {name: "185.220.101.1"})
OPTIONAL MATCH (ip)-[:LISTED_IN]->(f:FEED_SOURCE)
RETURN ip.name AS ip, ip.verdictScore AS score, ip.verdictLevel AS level,
ip.verdictBlocking AS blocking, ip.isTor AS isTor,
collect(DISTINCT f.name) AS feeds
LIMIT 1
Several feeds naming the same indicator is a stronger signal than one. To turn the feed names into categories, pivot each feed through BELONGS_TO, bounding the feed list with WITH f LIMIT 10 between the two hops. The full recipe, along with batch enrichment patterns, is in Indicator Triage. For the scored reasoning behind a verdict, with the exact feeds, weights, and first/last-seen timestamps, call explain(). Labels, edges, and properties for the whole threat layer are in the Graph Schema.