Skip navigation

Rapid7 is sunsetting AttackerKB, and the public API goes dark on August 18, 2026. After that, the vulnerability discussions, community assessments, and Rapid7 analysis that accumulated on the platform become a dead link.

I wrote a small Go CLI that pulls it down while the API still responds: attackerkb-archive.

What It Does

The tool hits three endpoints — topics (with Rapid7 analysis), community assessments, and contributor profiles — and writes each as NDJSON with checksums and a manifest. The data is yours to query, back up, or re-publish however you want.

The challenge is the rate limit: 100 requests per day, no exceptions. A full archive is roughly 134 requests, meaning two calendar days. The tool manages this with a checkpoint file that records progress after each page, so you can kill it, come back tomorrow, and re-run — it picks up where it left off. HTTP 429s are handled with Retry-After plus jitter.

Output Model

attackerkb-data/
  topics.ndjson             # Vulnerability topics with Rapid7 analysis
  assessments.ndjson         # Community assessments
  contributors.ndjson        # Contributor profiles
  MANIFEST.json              # Counts + SHA-256s for all files
  checkpoint.json            # Resume state (delete to force fresh archive)

Each .ndjson file has a corresponding .sha256 for verification. The manifest bundles everything into one summary.

There’s also a -contributor mode that fetches all assessments by a specific author (e.g. yourhandle), enriched with topic names — useful for reconstructing someone’s body of work from the platform.

Why Archive This?

The AKB corpus — particularly the Rapid7 analyses and the community’s exploitation assessments — is a reasonable snapshot of how experts in the security industry talked about vulnerabilities. It’s not a CVE database; it’s authoritative commentary, and once it’s gone there’s no way to get it back.

The tool is MIT-licensed, single-file-ish Go, with no dependencies beyond the standard library. If you have an API key and want to preserve your corner of the platform, clone the repo, set ATTACKERKB_API_KEY, and let it run across two days.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.