The challenge
"Certificates appear in binaries, packages, mail, captures, and disk images. Fingerprint each one, collapse duplicates, and identify the trust claim unsupported by evidence."
| answer_id | Question | Format |
|---|---|---|
d29- |
"Determine x509.sha256_fingerprint for certificate-001.pem." (artifact metadata-) |
pattern: "exact 64-character hexadecimal SHA-256 value; use no prefix, spaces, or explanatory text"; case-insensitive |
As on every Metadata day, the timed modes asked today's field together with earlier days' fields. The Time Trial had 34 questions: seven evidence-note and roster fields, 26 fields from Days 4–29 (none for Days 8, 10, and 11; two for Day 7 and three for Day 9), and the synthesis SHA-256 order. The Mastery had 13 sets of 34, 442 questions (41 distinct fields, since the roster and evidence-note fields vary by set). Today's field was the only Day 29 question in every mode.
Reading the prompt: what it said we'd need
| Clue | What it pointed to | What the solver did about it |
|---|---|---|
| "Certificates" | X.509 | The Single held one PEM certificate |
| "appear in binaries, packages, mail, captures, and disk images" | Certificates carried inside other formats | No question asked for that. The only certificate in any mode was a plain certificate- |
| "Fingerprint each one" | A certificate fingerprint: a hash over the DER encoding, not over the PEM text | x509.: SHA-256 of the DER bytes, lowercase hex, no colons |
| "collapse duplicates", "the trust claim unsupported by evidence" | Grouping identical certificates; a signer or issuer claim that doesn't verify | Not asked in any mode |
| "Trust Issues" (title) | Certificates and trust | Confirmed the reading |
Safety
The timed evidence holds PE, ELF, Mach-O, APK, JAR, MSI, and other samples from earlier days. The solver reads them as bytes inside the VM; nothing is run. For this write-up only the saved replies, the solver's output, the archive listings, and the solver source were read.
What was in the files
- Single Solve:
metadata-day-29-evidence.zip, 672 bytes, holding one member,certificate-001.pem(709 bytes, a 13-line-----BEGIN CERTIFICATE-----block). - Time Trial:
evidence.zip, 669,650 bytes, 26 members, among them onecertificate-001.pemnext to the earlier days' samples. - Mastery:
metadata-forensics-day-29-trust-issues-mastery.zip, 9,306,086 bytes: 13 sets, each its ownevidence-NN.zipwith its owncertificate-001.pem.
So the timed modes were the cumulative Metadata template with one certificate added per set.
Single Solve: the automated solver
The solver was running our Day 28 Metadata chain. Its first step sorted the one question as pre-built: a field never asked before, but one we already had a parser for.
Why no change was needed: on 2026-10-16, offline, we pre-built a set of certificate and signature parsers for fields that might come later. It registered X.509 fields under many name spellings, among them the SHA-256 fingerprint: the SHA-256 of the DER certificate, lowercase hex, no colons. It reads PEM or DER with its own DER reader, and its tests compare the result with openssl x509 -fingerprint -sha256. The Day 28 chain still includes it, so the field was answered the moment it appeared. The solver sends a Single on its own when every question is already known or pre-built.
Single Solve
started_at 09:00:07.4 ET (the solver's first step started it; re-fetched at 09:00:13)
deadline none
answers 1 (the 64-hex fingerprint)
start 192 ms
artifact 261 ms (672 bytes)
solve 1 ms
submit 893 ms
TOTAL 1347 ms (submit +7,489 ms after started_at, counted from that first start)
result CORRECT flag f33fc0d9…3e5b (09:00:14.3 ET)
Before the timed runs the solver ran a regression rehearsal against earlier days' puzzles, which passed. It took from 09:00:14 to 09:03:51, about 3½ minutes, so every later lane started late.
Time Trial
CORRECT on the first attempt, ranked (fresh variant).
started_at 09:03:52.5 ET deadline 09:04:42.5 (50 s clock)
answers 34
start 603 ms
artifact 882 ms (669,650 bytes)
solve 199 ms
submit 1668 ms
TOTAL 3352 ms (submit +2,875 ms after started_at)
result CORRECT flag 3ced30d9…6d62 (09:03:54.4 ET)
Mastery
CORRECT on the first attempt, ranked (fresh variant).
started_at 09:04:01.3 ET deadline 09:10:56.3 (6 min 55 s clock)
answers 442 (13 sets × 34)
artifact +1,657 ms after started_at (9,306,086 bytes)
solve +4,714 ms
submit +5,539 ms (this run's stage total isn't recorded)
result CORRECT flag 28872b51…d210 (09:04:06.1 ET)
One field went in as a guess, and both timed modes still passed. The solver's output shows the Day 25 field registry.hive_root_name sent as a best-effort none ("don't know what this question asks") in the Time Trial and in the Mastery sets it lists. The output keeps only the last lines of each mode, so set 1 isn't shown. Both attempts came back CORRECT; the records don't say whether none was the expected value. (We fixed that field to be answered directly on Day 30.)
Speed boards (final boards; time = server start to solve): - Time Trial: 21st of 47, 1.925 s (fastest 0.359 s). - Mastery: 20th of 51, 4.883 s (fastest 0.949 s).
Time to solve
The Single was CORRECT at 09:00:14.3 ET, seven seconds after its start. After the 3½-minute regression rehearsal, the ranked Time Trial (09:03:54.4) and ranked Mastery (09:04:06.1) each went through on the first submit; all three modes were done 4 min 6.1 s after release.
Takeaways
- The pre-build paid off twelve days later. The certificate parsers were written on 2026-10-16 for fields that might come; on Day 29 one of them did, and the Single went in seven seconds after the start.
- A fingerprint is over DER, not the PEM text. The pre-build hashes the decoded certificate, and its tests check it against
openssl. - Most of the prompt was never asked. Carriers, duplicates, and the unsupported trust claim had no questions; only the fingerprint mattered.
- The rehearsal was the slow part. 3½ minutes before the timed modes; the solves themselves took 2 and 5 seconds.
- A best-effort
nonedidn't sink the timed modes here, but it was still a field the chain couldn't read; Day 30 fixed it.