Skip to content
Back to skills

Greynoise

ASecurity

Classify IP addresses as internet scanners (benign/malicious) or targeted attackers — filters noise from security alerts

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 12, 2026
researchrustgoshellawsapisecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill greynoise --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Greynoise?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Greynoise
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-greynoise/badge)](https://www.skillsdirectory.com/skills/aibot88-greynoise)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: greynoise
description: Classify IP addresses as internet scanners (benign/malicious) or targeted attackers — filters noise from security alerts
category: security
version: 1.0.0
origin: aiden
tags: security, greynoise, scanner, threat-intel, ip, osint, soc, incident-response, noise-filtering
env_required:
  - GREYNOISE_API_KEY
---

# GreyNoise — Internet Scanner Intelligence

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.

## When to Use

- An IP triggers a firewall rule and you want to know if it is just background internet noise
- SOC triage: is this alert a known scanner or a targeted attack?
- Filter false positives from SIEM before escalating an alert
- User asks "is this IP a scanner?", "is this noisy traffic?", "is IP X benign?"

## How to Use

### Check if an IP is a known internet scanner

```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)"
```

### Triage a batch of IPs from a firewall log

```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
}
```

### Interpret the results

```
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
```

## Examples

**"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.

## Cautions

- Community endpoint returns limited data — `GREYNOISE_API_KEY` unlocks full context
- `noise: false` and `riot: false` does not mean the IP is malicious — GreyNoise may simply have no data for it
- Data reflects GreyNoise's scanner observations — gaps exist for low-volume IPs
- Free community endpoint: ~50 lookups/day per source IP without a key

## Requirements

- No key required for low-volume community lookups
- `GREYNOISE_API_KEY` — free community key at https://viz.greynoise.io/account

Files in this skill

  • SKILL.md3.8 KB
  • source.json613 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.