User-Agent header Web access log Triage: informational

CensysInspect in Your Access Log: Censys Internet-Wide Scanning

Published

Censys's scanner, which connects to every IPv4 address every day to record what each internet-facing service answers, and which identifies itself honestly and publishes the networks it scans from.

What it looks like

Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)

The User-Agent header as an access log records it — in nginx's and Apache's combined format, the last quoted field.

On our own server, the 30 days to 1 November 2026

197

requests · about 6.6 a day

87

source addresses

Most requested pathsRequests
/101
/app-ads.txt13
/robots.txt12
/.well-known/security.txt11
/sitemap.xml8
/wiki8
/login8
/sellers.json7

LogTriage's production API server (Hetzner, Germany): port 22 open to the internet, key-only since 6 October 2026 (password and keyboard-interactive authentication off); nginx in front of the API on ports 80 and 443. Requests nobody asked for (API traffic and our own monitoring left out); paths as requested, query strings dropped and identifiers redacted; counted weekly from the nginx access log. Linked paths are scanner probes explained on their own pages. More in the monthly attack report, and you can check the addresses in your own log against free blocklists.

Sources on who sends it

The operator's or the researchers' own pages; what this page says about the sender comes from them.

What it is

CensysInspect is the user agent of Censys, a company that maps the internet’s exposed services. Censys says it makes “a small number of harmless connection attempts to every IPv4 address worldwide each day” and records what each service answers in its dataset of internet hosts. The header carries Censys’s URL, so anyone reading their log can look it up.

On our own server the requests were exactly that kind of light touch: about two hundred in the last 30 days, spread over about ninety addresses, asking for /, /.well-known/security.txt, /app-ads.txt and /robots.txt (counts above). No secret files, no exploit payloads.

Who sends it

Censys, Inc., founded by computer scientists at the University of Michigan. Censys scans from subnets it lists publicly, and says that blocking those addresses “is sufficient to prevent your device from appearing in our IPv4 dataset”. The opt-out page has the current ranges. Those ranges are also how to tell a real CensysInspect request from a copy: anyone can send the header, but only Censys sends it from Censys’s subnets.

Is it a threat?

No. It is reconnaissance in the plain sense of the word (MITRE ATT&CK T1595, active scanning) — but announced, light, and published under the operator’s name. The real question is what Censys sees: if a service on your server answers Censys, it answers everyone, including scanners that never say who they are. Use the visit as a reminder to check what is exposed.

How to handle it

  1. Leave it alone unless you have a reason to keep your server out of Censys’s dataset.
  2. To opt out, block Censys’s published subnets at the firewall; by address, not by user agent, because the subnet list also covers connections that never send an HTTP request.
  3. Search your own data: an attacker’s view of your server is no smaller than Censys’s.
  4. Censys asked our server for /.well-known/security.txt. Publishing one, as RFC 9116 describes, tells researchers who find a problem where to report it.

Count Censys’s requests and the paths it asked for:

grep 'CensysInspect' /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head

If you only want to keep its HTTP requests out of your application logs, refuse the user agent in nginx (server block) — the firewall block above is the actual opt-out:

if ($http_user_agent ~* "CensysInspect/") {
    return 403;
}

The web probe reference explains what the unannounced scanners in the same log are after.

Other user agents in the same logs

Detect it

MITRE ATT&CK: T1595

Frequently Asked Questions

What is CensysInspect?
It is the user agent of Censys's internet scanning. Censys, founded by computer scientists at the University of Michigan, says it makes a small number of harmless connection attempts to every IPv4 address worldwide each day and records what each service answers. The URL in the header, about.censys.io, explains the scanning and links the opt-out instructions.
Should I block CensysInspect?
There is no security reason to. The requests read your home page, robots.txt and similar files and change nothing. Blocking them keeps your server out of Censys's dataset, which some owners prefer, but it does not protect you from scanners that do not identify themselves, and the same services will still be visible to them.
How do I opt out of Censys scans?
Censys publishes the subnets it scans from and says that blocking those addresses is sufficient to keep a device out of its IPv4 dataset. Its documentation page on opting out of data collection lists the ranges and the steps; blocking by address works better than by user agent, since the address list also covers connections that send no HTTP request.
Why does Censys connect from so many different addresses?
It scans from several subnets, and its requests are spread across them. On our server roughly two hundred CensysInspect requests in 30 days came from about ninety addresses, a few each, which is what a polite internet-wide survey looks like, in contrast to a brute-force tool hammering from one address.

See which scanners are hitting your server

Drop an nginx or Apache access log into the free browser analyzer: scanners and probes are grouped by source with the evidence lines, any probe that got a 200 back is flagged, and known user agents and probes link back here. Nothing is uploaded.

Investigating something right now? LogTriage checks every address in the file against threat intelligence and writes the incident report: 10 analyses a month free. The incident pack adds the in-depth AI analysis and files up to 100 MB: 25 analyses for $19, one payment, no subscription. Pricing