Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Classify IPs as scanners or targeted attackers — filter alert noise
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 4% | 0% |
GreyNoise collects and analyses internet-wide scan traffic. It tells you whether an IP hitting your firewall is a known mass-scanner (benign research tool or malicious crawler) versus a targeted attacker — helping SOC teams filter out internet noise from real threats.
Community tier: The /v3/community/{ip} endpoint works with limited volume even without a key. Set GREYNOISE_API_KEY for higher rate limits.
powershell$ip = "71.6.135.131" $headers = @{} if ($env:GREYNOISE_API_KEY) { $headers['key'] = $env:GREYNOISE_API_KEY } $result = Invoke-RestMethod -Uri "https://api.greynoise.io/v3/community/$ip" -Headers $headers Write-Host "IP: $($result.ip)" Write-Host "Noise: $($result.noise)" # true = mass-scanner Write-Host "RIOT: $($result.riot)" # true = trusted benign service Write-Host "Classification: $($result.classification)" # benign | malicious | unknown Write-Host "Name: $($result.name)" Write-Host "Last seen: $($result.last_seen)" Write-Host "Link: $($result.link)" Write-Host "Message: $($result.message)"
powershell$ips = @("1.1.1.1", "8.8.8.8", "71.6.135.131", "45.83.66.42") $headers = @{} if ($env:GREYNOISE_API_KEY) { $headers['key'] = $env:GREYNOISE_API_KEY } foreach ($ip in $ips) { try { $r = Invoke-RestMethod -Uri "https://api.greynoise.io/v3/community/$ip" -Headers $headers $tag = if ($r.riot) { '[RIOT-trusted]' } elseif ($r.noise) { '[SCANNER]' } else { '[TARGETED?]' } Write-Host "$ip $tag $($r.classification) $($r.name)" } catch { Write-Host "$ip [ERROR] $($_.Exception.Message)" } Start-Sleep -Milliseconds 200 }
noise = true → IP is a known mass-scanner (benign researchers, crawlers, etc.)
riot = true → IP belongs to a trusted service (Cloudflare, Google, AWS, etc.)
classification = "malicious" → Known malicious scanner — block and investigate
classification = "benign" → Probably safe background noise — may deprioritise
classification = "unknown" → No data — treat with caution"Is 71.6.135.131 an attacker?" → Returns classification: malicious, noise: true — known malicious scanner.
"This IP keeps hitting our web server — is it just background noise?" → noise: true means it is scanning the whole internet, not targeting you specifically.
"Is 8.8.8.8 a threat?" → riot: true — belongs to Google DNS, trusted RIOT (Rule It Out) list.
GREYNOISE_API_KEY unlocks full contextnoise: false and riot: false does not mean the IP is malicious — GreyNoise may simply have no data for itGREYNOISE_API_KEY — free community key at https://viz.greynoise.io/accountOther measured skills in the registry, with their headline benchmark lift.