agentsclimarketplace

Lookup abuseipdb

Skill Liberty91LTD/cti-skills/skills/lookup-abuseipdb

Use when you need abuse-report history for an IPv4/IPv6 address — confidence score, total reports, distinct reporters, usage type. IP-only. Commonly invoked by /ip-investigation. Retrieval only.From its SKILL.md

Install
npx -y skills add Liberty91LTD/cti-skills --skill lookup-abuseipdb

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 16 stars16 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.2 KB, 987 tokens by cl100k_base, as published. Nobody here has run it

lookup-abuseipdb

Queries AbuseIPDB for IP reputation data. IP addresses only (v4 and v6). Retrieval only — do not interpret.

When to invoke

  • User asks about abuse reports for an IP
  • Investigation skill needs community-reported abuse context
  • Triaging whether an IP has a history of malicious behavior

How to invoke

Two CLIs are provided. Pick by capability needed:

Basic check — Node CLI (zero deps)

node tools/clis/abuseipdb.js ip <ip>

Hits the /check endpoint with a 90-day window. Best for fast retrieval inside an investigation chain.

Full read-only suite — Python CLI (stdlib only)

python3 tools/clis/abuseipdb.py check <ip> [--max-age-in-days N] [--verbose]
python3 tools/clis/abuseipdb.py reports <ip> [--per-page N] [--page N]
python3 tools/clis/abuseipdb.py check-block <cidr> [--max-age-in-days N]
python3 tools/clis/abuseipdb.py blacklist [--confidence-min N] [--limit N]
                                          [--ip-version 4|6]
                                          [--only-countries CC,CC]
                                          [--except-country CC,CC]

No external deps — Python 3 stdlib only, no venv needed.

Capabilities the Node CLI doesn't have:

  • Verbose check (check --verbose) — full per-report list including category, comment, reporter ID, country.
  • Reports endpoint — paginated raw report history (uses zero check-quota).
  • CIDR-block check (check-block) — reputation summary across an entire network range. Useful for triaging suspicious /24s, hosting providers, ASN sub-ranges.
  • Blacklist download — bulk pull of high-confidence abuse IPs filtered by country / IP version / confidence threshold. Useful for ingesting into block lists.

Examples:

# Detailed report list for a suspect IP
python3 tools/clis/abuseipdb.py check 185.220.101.45 --verbose

# What's been reported in this /24 in the last 30 days?
python3 tools/clis/abuseipdb.py check-block 185.220.101.0/24

# Pull RU-only IPs with 90%+ confidence, max 500
python3 tools/clis/abuseipdb.py blacklist --only-countries RU --confidence-min 90 --limit 500

Both CLIs accept --dry-run to preview the request without calling the API. Both exit code 2 if $ABUSEIPDB_API_KEY is unset (when not in dry-run). Report missing key; do not fabricate.

Write endpoints (deferred)

AbuseIPDB also exposes /report, /bulk-report, and /clear-address for contributing reports back. These are NOT wired into either CLI by default — this skill is retrieval-focused. To contribute reports, use the AbuseIPDB web UI or write a deliberate purpose-built script with a confirmation flow.

Response format

source: abuseipdb
indicator: <IP>
query_time: <ISO8601>
abuse_confidence: <0-100>
total_reports: <number>
distinct_reporters: <number>
last_reported: <date>
isp: <ISP>
usage_type: <type>
country: <country>
is_tor: <boolean>
recent_report_categories: [<list of category IDs>]

Rate limits

Free tier: 1000 checks/day. Paid tiers have higher limits.

Source reliability (Admiralty default)

Default rating for downstream /score-source: C3 (fairly reliable, possibly true). Community-reported; false positives possible. Upgrade to B2 if distinct_reporters >10 and abuse_confidence >75.

Operational notes

  • IP addresses only. The CLI rejects non-IP inputs.
  • A low abuse score does NOT mean the IP is clean — just that it hasn't been widely reported.

Related skills

  • /lookup-greynoise — scanner/noise classification for the same IP
  • /lookup-virustotal, /lookup-shodan, /lookup-otx — additional IP context
  • /ip-investigation

See also

  • Integration setup: tools/integrations/abuseipdb.md
  • Node CLI source: tools/clis/abuseipdb.js
  • Python CLI source: tools/clis/abuseipdb.py
  • Official API docs: https://docs.abuseipdb.com/

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.