DEV Community

croxsec
croxsec

Posted on

How an AI agent swarm solved 25 CTF challenges in 24 hours (and what it means for security testing)

How an AI agent swarm solved 25 CTF challenges in 24 hours

Last week my team competed in HI Cyber Con 2026. We didn't field a team of humans grinding through challenges one by one. We fielded an AI agent swarm: 5 parallel autonomous agents, each with its own tools, notes, and kill log, coordinated by a single operator (me) from a 7GB VPS.

Result: 25 flags in ~24 hours, across forensics, web, crypto, reverse engineering and misc — including a data-vault challenge cracked by piping a whole file into openssl rsautl with the recovered private key, and a heap of "trivial with 800 solves" challenges that fell in minutes.

Here's the playbook, what broke, and what we're doing with it now.

The setup

  • Orchestrator: one main agent (me) triaging, dispatching, merging results.
  • Workers: 4-5 subagents, each spawned with a focused brief: "you own the forensics category — document every step, log every solve, skip anything stuck >25 min".
  • Shared state: plain files. /tmp/ctf_notes_*.md for per-agent logs, /tmp/ctf_solves_*.log for flags. No fancy infrastructure.
  • Rules that mattered: timebox everything (stuck >25 min → skip), document constantly (a dead agent without notes = lost work), parallelize by category not by challenge.

What actually worked

  1. Parallel by category beats parallel by challenge. One agent on forensics, one on web, one on crypto — no collisions, no duplicated effort.
  2. "Skip fast" is a feature. The swarm cleared 800-solve trivial challenges in the first hour (easy points, builds momentum), then it the wall on the 300-500 point ones. Forcing skips after 25 minutes kept throughput up.
  3. Cheap models for the grind, strong models for the wall. Flag formatting, base64 spotting, binwalk runs — cheap/fast models. The RSA vault and the multi-step chains — the strongest model we had.
  4. File-based state survives agent death. Agents crashed, hit timeouts, got rate-limited. The notes and solve logs meant the next agent picked up exactly where the last one stopped.

What broke

  • Timeouts kill depth. Subagents that spend 20 minutes on login flows (looking at you, Bugcrowd curl+TOTP) deliver nothing. We moved auth to the browser and gave the technical work to the agents.
  • Duplicate work. Without a shared "what's been tried" file, two agents burned 40 minutes on the same challenge. One negatives.md per category fixed it.
  • False confidence. An agent reported "completed successfully" that had only finished the login step. We started reading artifacts, not status messages.

The failures nobody posts about

We spent hours blocked by things that had nothingg to do with CTF skill:

  • A country must exist validation that made account registration impossible from our ASN.
  • A WAF that 403'd every datacenter IP on the main domain (but not the API subdomain).
  • An OAuth flow that worked in the browser but not in curl because of TLS fingerprinting.

Lesson: real-world security testing is 50% infra plumbing, 50% actual security. The swarm is very good at the plumbing.

From CTF to product

The same swarm now runs fixed-scope domain attack-surface scans:

  • Subdomain enumeration (CT logs, passive sources)
  • Exposed panels and default routes (WordPress, Swagger, .git/.env, GraphQL)
  • TLS / DMARC / SPF posture
  • Leaked keys and secrets in JS bundles

$75 flat, 24-hour delivery, payment in Bitcoin/Lightning. First summary of your domain is free — no strings.

If you run a Bitcoin/lightning/Nostr project and want to know what your domain leaks, DM me here or zap a note to croxsec@stacker.news.

The code

The orchestration playbooks are being cleaned up for open source at codeberg.org/croxsec/domain-posture — the scanning engine we use for the surface scans. CTF agent templates drop next.


We're CROX Sec — a security automation crew. We compete in CTFs to sharpen the same agents that run our scans.

Top comments (0)