MIRAGE-FEED(7)TLP:CLEAROffSeq Mirage

Mirage Feed: daily honeypot threat intelligence from OffSeq

Name

mirage-feed - daily attacker indicators from the OffSeq Mirage honeypot fleet

Handshake-verified attacker IPs, exploited CVEs, payload URLs and tool fingerprints, rebuilt every day in the formats firewalls, SIEMs and threat-intel platforms already read. Free to use under CC BY 4.0, marked TLP:CLEAR.

Synopsis

curl -fsSL https://feeds.offseq.com/mirage-feed/latest/ipv4-7d.txt

One address per line, no comments. Paths are stable; contents change daily.

Status

Snapshot of 2026-10-22, built 2026-10-23 20:18 UTC.

1,566

of 8,250 source IPs seen in the last 24 hours are in the feed

in the feed 19.0%seen, not in the feed

Every address Mirage saw attacking in the last 24 hours counts as seen. Those in the feed have passed the listing rules. The gap is what the full feed holds.

Last 24 hIn the feed
Source IPs8,2503,115
IPv4, 30-day list-10,369
Networks (ASNs)747393
Countries10274
CVEs exploited910
Payload and C2 URLs32
Malware hashes02
Credential pairs tried128,261-
Events2,067,948-
Research scanners excluded-3,736
Tool fingerprints-200

Feed lists cover the last 7 days of activity (30 days for ipv4-30d.txt).

ATT&CK techniques

ItemShareIPs
T1110 Brute Force3,033
T1190 Exploit Public-Facing Application2,002
T1021.005 VNC738
T1595 Active Scanning487
T1046 Network Service Discovery444
T1210 Exploitation of Remote Services398
T1021.001 Remote Desktop Protocol395
T1078 Valid Accounts362

Services

ItemShareIPs
http1,875
vnc738
rdp395
mysql245
postgres224
mongodb194
smtp193
ftp186

Countries

ItemShareIPs
US United States1,229
BR Brazil300
DE Germany183
CN China172
SG Singapore164
IR Iran154
BE Belgium83
NL Netherlands83

Subscribe

Point your tool at a stable URL. Files are rebuilt every day; the paths never change.

UseURL
IPv4 blocklist, last 7 dayshttps://feeds.offseq.com/mirage-feed/latest/ipv4-7d.txt
IPv4 top 1,000, for small firewall tableshttps://feeds.offseq.com/mirage-feed/latest/ipv4-top1k.txt
Payload and C2 URLshttps://feeds.offseq.com/mirage-feed/latest/urls-7d.txt
Malware SHA-256https://feeds.offseq.com/mirage-feed/latest/hashes-sha256-30d.txt
Full records, CSVhttps://feeds.offseq.com/mirage-feed/latest/attackers-7d.csv
STIX 2.1 bundlehttps://feeds.offseq.com/mirage-feed/latest/stix/mirage.json
MISP feed, add as a MISP Feedhttps://feeds.offseq.com/mirage-feed/misp/
Research scanners we excluded, IPv4https://feeds.offseq.com/mirage-feed/latest/known-scanners-ipv4.txt

Plain lists hold one value per line with no comments, so they load as-is into pfBlockerNG, OPNsense aliases, FortiGate threat feeds and Palo Alto EDLs.

Files

path and tools that read itcountsizesha256
latest/attackers-7d.csvsplunk, sentinel, elastic3,115491.4 KiB2052725055ad
latest/attackers-ipv4-7d.csvopencti3,115491.4 KiB2052725055ad
latest/crowdsec/mirage-7d.csvcrowdsec3,115107.2 KiB8ccf1c2c6f08
latest/cves-7d.csvsiem, vuln-mgmt10813 B2fdc9fb664ea
latest/defender/defender-top500.csvdefender-for-endpoint500122.3 KiB6b6b7e50734c
latest/domains-7d.txtdns-rpz, edl, siem00 Be3b0c44298fc
latest/fingerprints.csvja4plus, zeek, suricata1429.4 KiBfe58088a1718
latest/hashes-sha256-30d.txtedr, siem2130 B633eea5a94b3
latest/hassh.csvzeek, siem4253 B857cf63f1578
latest/ipset/mirage.ipsetipset, iptables3,11592.4 KiBf806663dd7a7
latest/ipv4-1d.txtpfsense, opnsense, fortigate, palo-alto, crowdsec, ipset1,56621.8 KiBd44c6e87e170
latest/ipv4-30d.txtpfsense, opnsense, fortigate, palo-alto, crowdsec, ipset10,369144.1 KiB2e5e11510022
latest/ipv4-7d-cidr32.txtaws-waf3,11552.4 KiB926fa00d03c7
latest/ipv4-7d.txtpfsense, opnsense, fortigate, palo-alto, crowdsec, ipset3,11543.3 KiBce7a68e97f3c
latest/ipv4-top10k.txtpfsense, opnsense, fortigate, palo-alto, crowdsec, ipset3,11543.3 KiBce7a68e97f3c
latest/ipv4-top1k.txtpfsense, opnsense, fortigate, palo-alto, crowdsec, ipset1,00013.7 KiB58d2a3443a6a
latest/ipv6-7d.txtpfsense, opnsense, fortigate, palo-alto, crowdsec, ipset00 Be3b0c44298fc
latest/known-scanners-ipv4.txtallowlist3,71952.3 KiBf6c41aff63f4
latest/known-scanners-ipv6.txtallowlist17333 B6a0d9c781341
latest/mikrotik/mirage-7d.rscmikrotik3,115476.0 KiB4f559e4e397f
latest/nft/mirage.nftnftables3,11547.0 KiB325c7060e10a
latest/passwords-top100.txtpassword-policy1001.0 KiBb525cd1335fb
latest/paths-7d.txthunting49510.4 KiBe3115810ab67
latest/records-7d.ndjson.gzelastic, splunk, jq3,11978.5 KiB2adb512d5405
latest/stix/mirage.jsonopencti, sentinel, misp, taxii-import13,4196.9 MiB89a8a3121299
latest/suricata/categories.txtsuricata142 B11f6626ca9d3
latest/suricata/datasets/ips.lstsuricata3,11543.3 KiBce7a68e97f3c
latest/suricata/datasets/paths.lstsuricata49514.3 KiB86fd7fd69418
latest/suricata/datasets/sha256.lstsuricata2130 B633eea5a94b3
latest/suricata/datasets/uas.lstsuricata645.7 KiBd760b9bb74d4
latest/suricata/mirage-iprep.listsuricata3,11558.5 KiBf0591aa562ec
latest/suricata/mirage.rulessuricata4942 B121af2714861
latest/urls-7d.txtproxy, edl, siem254 B6f215e06e888
latest/user-agents-7d.txthunting644.2 KiB99a461e9579a
latest/zeek/mirage.intelzeek3,183308.9 KiBb711f683a2f4
misp/187f5eda-df4c-5b15-b9b4-6766498e604d.jsonmisp3,197716.1 KiBb6d4783f1664
misp/hashes.csvmisp3,197218.5 KiB9768186525f7
misp/manifest.jsonmisp1293 B6fcd718268a5
schema/record.schema.jsonjsonschema12.9 KiB91b242ca6014
stats.jsonfeeds.offseq.com17.4 KiB82f772b272f9

Full checksums in SHA256SUMS. Index as JSON: feed.json. Mirrors: feeds.offseq.com/mirage-feed/, raw.githubusercontent.com/offseq/mirage-feed/data/.

Integration

pfSense / OPNsense

Firewall > Aliases > Add. Type URL Table (IPs), URL https://feeds.offseq.com/mirage-feed/latest/ipv4-7d.txt, refresh 1 day. Use the alias as the source of a block rule on WAN.

FortiGate
config system external-resource
    edit "mirage-feed"
        set type address
        set resource "https://feeds.offseq.com/mirage-feed/latest/ipv4-7d.txt"
        set refresh-rate 1440
    next
end
Palo Alto (EDL)

Objects > External Dynamic Lists > Add. Type IP List, source https://feeds.offseq.com/mirage-feed/latest/ipv4-7d.txt, repeat Daily. Firewalls with a 50k EDL budget should use ipv4-top1k.txt or ipv4-top10k.txt.

MikroTik RouterOS
/tool fetch url="https://feeds.offseq.com/mirage-feed/latest/mikrotik/mirage-7d.rsc" dst-path=mirage.rsc
/import file-name=mirage.rsc

Entries carry timeout=7d, so they expire on their own.

nftables / ipset

nftables:

curl --create-dirs -fsSLo /etc/nftables.d/mirage.nft https://feeds.offseq.com/mirage-feed/latest/nft/mirage.nft
nft -f /etc/nftables.d/mirage.nft

ipset with iptables, safe to re-run:

curl -fsSL https://feeds.offseq.com/mirage-feed/latest/ipset/mirage.ipset | ipset restore
iptables -C INPUT -m set --match-set mirage4 src -j DROP 2>/dev/null \
  || iptables -I INPUT -m set --match-set mirage4 src -j DROP
ip6tables -C INPUT -m set --match-set mirage6 src -j DROP 2>/dev/null \
  || ip6tables -I INPUT -m set --match-set mirage6 src -j DROP
CrowdSec
curl -fsSL https://feeds.offseq.com/mirage-feed/latest/ipv4-7d.txt -o mirage.txt
cscli decisions import -i mirage.txt --format values --duration 48h --scope ip --reason mirage-feed
Suricata and Zeek

Suricata IP reputation: latest/suricata/categories.txt and latest/suricata/mirage-iprep.list.

alert ip any any -> $HOME_NET any (msg:"Mirage feed: known attacker"; iprep:src,MirageAttacker,>,50; sid:1900001; rev:1;)

Zeek Intel framework, with latest/zeek/mirage.intel saved locally:

redef Intel::read_files += { "/opt/mirage/mirage.intel" };
MISP, OpenCTI, Sentinel, Defender, Splunk
  • MISP: Sync Actions > Feeds > Add. Source format MISP Feed, URL https://feeds.offseq.com/mirage-feed/misp/.
  • OpenCTI: Data > Ingestion > CSV feeds on latest/attackers-ipv4-7d.csv, with the mapper in the repository under docs/opencti-csv-mapper.json. Or import latest/stix/mirage.json as a STIX bundle.
  • Microsoft Sentinel: send latest/stix/mirage.json to the STIX objects upload API, wrapped as {"sourcesystem":"OffSeq Mirage","stixobjects":[...]} with at most 100 objects per request:
    jq -c '.objects as $o | range(0; $o | length; 100) | {sourcesystem: "OffSeq Mirage", stixobjects: $o[.:. + 100]}' mirage.json
  • Defender for Endpoint: Settings > Endpoints > Indicators > Import, with latest/defender/defender-top500.csv. The import takes 500 indicators per batch, which is why the file stops at 500.
  • Splunk: add latest/attackers-7d.csv as a lookup and match on src_ip.

How an IP gets listed

An address is published only when all of these hold:

  1. It completed a TCP handshake and sent application data. UDP-only and spoofable traffic never qualifies.
  2. At least 3 Mirage sensors in at least 2 networks saw it within 7 days. One-off hits stay out.
  3. It is not a known research scanner, CDN, public resolver, bogon or any range on the MISP warninglists.
  4. Its first sighting is at least 24 hours old.

Entries expire 7 days after the last observed activity; new activity renews them. Research scanners are excluded from the blocklists and published separately in known-scanners-ipv4.txt and known-scanners-ipv6.txt, so you can allowlist them.

Before every publish, the build is rejected if the list overlaps an allowlist, contains anything wider than a /32, or changes size by more than 30% from the previous day.

Most listed addresses are compromised devices or rented infrastructure. A listing means "this address attacked honeypots", not a judgement about whoever holds it.

Community feed and full feed

This feed is free and stays free. The full feed is part of OffSeq Mirage.

CommunityFull feed
CadenceDaily, 24 h delayedReal time: API, webhook, TAXII
Attacker IPsMulti-sensor, high confidenceEvery source, incl. targeted single-sensor activity
Context per IPASN, country, tagsPorts, protocols, full session timeline
PayloadsURLs and hashesDecoded payloads, shell transcripts, stage-2 captures
CredentialsTop 100 passwords, no usernamesAttempted credentials and captured hashes
Attribution-Actor clusters, campaigns, intent verdicts
History7 to 30 days365 days
Private sensors-Mirage honeypots on your own IP space, with alerts
Sign up at mirage.offseq.com

Verify a download

Every build ships SHA256SUMS and a minisign signature over it.

Download into the same paths as the feed, so the names match the checksum file:

curl -fsSLO https://feeds.offseq.com/mirage-feed/SHA256SUMS -O https://feeds.offseq.com/mirage-feed/SHA256SUMS.minisig
curl --create-dirs -fsSLo latest/ipv4-7d.txt https://feeds.offseq.com/mirage-feed/latest/ipv4-7d.txt
minisign -Vm SHA256SUMS -P RWQeu/vC+HeSo+5whq+ViPiKFUe35GOuuVll6WA6QKlFNirw7IzweToA
sha256sum -c --ignore-missing SHA256SUMS

On macOS, use shasum -a 256 -c in place of sha256sum -c.

Removal

If your address is listed and should not be, use the removal form or write to abuse@offseq.com. No GitHub account needed. Requests are handled within 72 hours. An address that resumes attacking is listed again.

A bug in a file format or an integration? Open an issue.

See also

privacy, github.com/offseq/mirage-feed, record.schema.json, OffSeq research, FIRST TLP 2.0