KOM CLOUDSERVICE
Huntress CTF 2026: AI Arena

Letting the robot play

A diary, one entry per day, of building a deterministic solver for a 31 day CTF and racing it against the clock. By Wizdumb.

  1. Ten days late and eleven minutes to midnight

    I joined Huntress CTF 2026 with ten days of challenges already out, played Day 1 the slow way, finished dead last on every board, and decided the robot was going to do this instead.

  2. Seven days in one

    Sunday: 167 commits, Days 1 through 7 played end to end, a scarce Mastery burned on six bugs in a row, and the first board firsts.

  3. Trust, but verify the robot

    Monday: Day 8 before breakfast, a full day spent making the robot prove itself, a 67 MB Swift binary hiding its secret in plain text, a 400 of 400 Mastery, and Day 9 started before midnight.

  4. No such thing as an unreachable Mastery

    Tuesday: five event days in one, a day played start to finish with nobody touching it, the binary answered in a fraction of a second, and eight first places in one night.

  5. Thirty-fifth

    Wednesday: the robot's first live 09:00 release, ten minutes and forty-four seconds to the last flag, 35th place, and a goal written down by lunch: 9:01.

  6. The first race

    Thursday: the release race runs live for the first time. Mobile done in 8.7 seconds, binary in about eight and a half minutes, 35th to 16th, and the moment I realized every day from here is a race.

  7. We lose time in the transitions

    Friday: all 15 checks in 219.5 seconds, 8th for the day, and a lesson from the leader about the gaps between the clocks.

  8. First place, at the time

    Saturday: four lanes done in 33 seconds, one binary question no file could answer, about 250 wrong guesses before the grader said yes, first place on the day anyway, and five new board firsts that night.

  9. Burn it down and build it lean

    Sunday: 92.3 seconds and 4th for Day 18, 0.2 seconds off the podium, a leader at 45.5, and the call to throw the robot away and rebuild it from scratch 23 hours before the first web day.

  10. We were our own denial of service

    Monday: a perfect night of rehearsals, then Day 19 in 293 seconds and 19th against a leader at 64, a web lane that was not where we expected it, a flood of calls we sent to ourselves, and a night of fixes.

  11. Mish Mash

    Tuesday: all 15 file-lane checks first in 44.8 seconds, then one web challenge about a single file held us for four and a half minutes. 7th of 108 on Day 20, and the fixes that set up Wednesday.

  12. First

    Wednesday: Day 19 was 293 seconds and 19th. Two days later, Day 21 in 213.4 seconds, 1st on the day, 12 first bloods, and 1st overall out of 1,457 teams, by 5.2 seconds.

  13. Back to Back

    Thursday: Day 22 in 89.8 seconds, 1st on the day by 26.9 seconds, 10 first bloods, and still 1st overall out of 1,476. The file lanes were done in 13 seconds; one renamed question set the pace.