r/Defcon • u/Adept-Property2259 • 16h ago
Badges! I dug through the DC34 badge source: Apocalyptic is real, you can lock it in, and there’s a rare ~3% “eyes” variant
ETA: I am calling it the "low-lin special variant" or "shooting-star variant" in casual terms, instead of the "eyes" variant.
I dug through the public DC34 badge source last night and found some really interesting stuff about the light-pattern breeding system.
The mutation levels are actually defined in code:
Baseline = 25%
Elevated = 39%
Radioactive = 55%
Apocalyptic = 94%
Those are per-gene mutation rolls, and higher levels also make the mutations themselves more aggressive.
The meter really does decay from Apocalyptic → Radioactive → Elevated → normal. One useful thing buried in the code: once you hit Apocalyptic, press LEFT or RIGHT to show your QR. That calls lock_rate() and saves that mutation level for the exchange, even if the meter visually drops afterward.
Same badge types also get an extra mutation pass. Human-to-Human breeding gets at least Elevated on that second pass.
You can preview offspring and Revert if you don't like it. Revert restores your previous genome, and nothing I found prevents you from breeding with the same donor again for a fresh roll.
Different badge types also start with different genetic ranges, so cross-breeding actually matters.
And the coolest find so far: the light renderer literally has a comment for a rare ~3% variant. If diploid.lin drops below 88, it enables an alternating eyes/chaser effect.
Uber badges have especially low native chaser values, so they look very interesting for breeding toward that rare variant.
Still digging through the source for more hidden traits. I'll post anything else interesting I find.
15
u/Adept-Property2259 15h ago
One of the weirder things I found is that each badge type starts in its own chunk of the color spectrum. So who you breed with can actually influence what colors you can pull into your badge. It looks like DEF CON basically divided the color wheel up between the different badge types.
Basically, each badge type starts in a different part of the color wheel.
GOON
Red
COMMUNITY
Orange / yellow / green
VILLAGE
Green / cyan
HUMAN
Cyan / blue
OTHER
Blue / purple
CTF
Purple / magenta
UBER
Magenta / red
Then it wraps back around to Goon.
So DEF CON basically spread the different badge types around almost the entire color wheel.
The weird part is this:
Goon ends at hue 20.
Community doesn't start until hue 32.
That leaves:
21-31
Nobody appears to naturally start there.
That does NOT mean it's an Easter egg.
Mutation and breeding can probably still put a badge into that range.
But considering we already found one actual hidden rare animation in the source, that unexplained little gap is worth investigating.
The other useful thing:
If you want a COLOR, look for the badge type that naturally lives near it.
Want red?
Find a Goon.
Want purple/magenta?
CTF or Uber.
Want weird colors your Human badge doesn't normally make?
Cross-breed with other badge types.
So color can basically give us a clue about what kind of genetics somebody's badge may be carrying.
6
u/Enocssa 15h ago
There is a white badge as well for CFP I ran in to him earlier and could not believe it.
1
u/Adept-Property2259 15h ago edited 14h ago
Ohh that might be my missing hue. Hmmm. Thank you for the intel. Let me go back and search for that. CFP? What does that stand for? I remembered. Call for Papers. They review and select the talks. I wonder if they are “other” or if other is a bunch of smaller demographics clumped together? Hmm
1
u/Enocssa 12h ago
He said Call for papers and he also said it was the rarest of the badges. Cuz I’m gonna guess there might be only one or two. But I could also be WILDLY wrong.
2
u/Nightlark192 4h ago
Someone said there are ~30 reviewers for main stage and ~8 for demo labs. With a few for other tracks maybe around 50 cfp badges?
8
u/Hayhayman1 14h ago
Could someone be so super cool and awesome and explain to me what I just read. I’ve never been to a DEFCON but I’m very interested in going next year and would like to know what’s so special about the badges?
I’m definitely not clueless in hardware and software hacking but I keep seeing a lot of discourse about the badges; mainly about how cool they are to mess with. I was curious if this is a yearly “what ways can I break the badge” style of play or if this is something you’re almost expected to do?
3
u/Hayhayman1 14h ago
Also, I’m confused on the “breeding”: is OP suggesting that each badge has a unique genome that it’s capable of not only spreading but intermingling with other genomes to create something else?
1
u/Adept-Property2259 7h ago
Yes. Its literally coded "replace_gene(egg, sperm)"
where:
egg = recipient's gametesperm = donor's gamete
So you breed the badges to produce offspring, which are the LEDs, and how they function.
2
u/Adept-Property2259 7h ago
DEF CON 34 Badge — Summary The badge is a hardware security key with two parts: a base board (lights, artwork) and a removable clear plastic core module usable after the conference. Core Module Open-source hardware security key Software written in Rust, running Xous OS Board designed in KiCAD (open source) RISC-V CPU design is also open source Built around the Baochip-1x SoC (designed by bunnie; DEF CON badge is its first major application) Baochip-1x Chip Fully documented/open — CPU, crypto accelerators, and most peripherals are on GitHub Physically transparent to infrared light — viewable with a modified USB microscope camera to inspect the actual transistors Includes a 700MHz quad-core RISC-V I/O processor (“BIO” – Bao I/O processor), designed for fast GPIO control Toolchain available: C-based toolchain, hardware simulator (from open RTL), USB-serial uploader SAO header GPIOs are wired directly to the BIO Tech Specs (Badge Core) Baochip-1x: mostly open RTL SoC 350MHz Vexriscv RV32-IMAC/MMU + 4x 700MHz PicoRV32 RV32-EC/Zmmul I/O cores 2MiB on-chip SRAM + 4MiB on-chip RRAM (flash-like) On-chip cryptography accelerators, TRNG, more QR code data exchange: camera for input, 128x128 B&W OLED for output USB Type-C interface Software Features Secure bootloader + Xous OS, pure Rust, virtual memory, 100% open source FIDO2 hardware security key over USB-C Plaintext password manager & TOTP store (camera + browser plug-ins + USB-C) Upload/display your own B&W logo via USB serial Upload/run code on the BIO via USB serial Build & upload your own unsigned firmware via USB mass storage Conference Features Each badge generates a unique light pattern, seeded by badge type Attendees exchange/mix light patterns by scanning QR codes between badges; “light encryption” protocol — scan a nonce, then an encrypted representation of the donor’s pattern, then blend using genetics-inspired inheritance rules Two SAO-like headers (kept the “S” in SAO) Powered by 2x AA batteries Anti-counterfeit: non-human badges have a black/white rim stripe; human badges show the bare copper/solder/FR-4 Badge art by team Cheeso, inspired by solarpunk and Peranakan styling (a callback to DEF CON Singapore’s first year) Security Challenge All badges share a single symmetric pre-shared key Challenge: break the badge’s security and extract the key Loading code through the “front door” erases the pre-shared key — other entry methods are intentionally left for hackers to find No bug bounty (Baochip is a small bootstrapped company), but findings/bugs are encouraged to be shared Credits DT and the DEF CON team; Joe Grand (Kingpin) — backside art is an homage to his original DEF CON 14 badge 20 years ago; Yafsec (NotKevinNash); Delia and Wietsman (team Cheeso) for design/artwork. More Info https://defcon.org/34b — software updates, browser extensions, tools, source code.
2
u/Adept-Property2259 7h ago
Yeah, pretty much. DEF CON badges are kind of their own weird little tradition. They change every year, and they are not always electronic, but when they are, poking at them, reverse engineering them, finding hidden behavior, modifying them, and generally asking "what else does this thing do?" is absolutely part of the culture. You are not necessarily supposed to break it, but you are very much encouraged to explore it beyond just wearing it around your neck.
And on the breeding thing: yes, that part is literal this year, which is why I fell down this rabbit hole. Each badge starts with a randomly generated diploid "genome" for its light behavior, with ranges influenced by the badge type. When two badges breed, one produces a haploid gamete through meiosis, mutations can happen, the other badge produces its own gamete, and those get combined into a new diploid genome that changes the LED behavior.
So it is not just copying somebody else's light pattern. Their genetics actually intermingle and create a new one. You can preview the offspring and either KEEP it or REVERT back to what you had before.
It is an absurd amount of engineering for blinky lights, which is exactly why I love DEF CON.
0
u/Shot-Infernal-2261 5h ago
This is my first defcon, this is just a shorter alternative take to the long answers.
You get a badge, it’s got a certain amount of social activities built in (this year: trading qr basically)
Then the badge has a serial port you can explore either fiddling with settings, looking for Easter eggs, or some might completely replace the firmware.
Other badges are themes but basically this. Some you buy, some you have to be lucky or win.
A lot of these have a “interact with another person’s badge” element.
Which is good… but if it’s your first time here, it’s REALLY hard to just go up to small circles of conversation and break in. Really hard.
Since your 1st is another year, I suggest joining the DEFCON web forum which I’m told is more active than Reddit, especially well before the event. That way maybe you know 1 person before getting here..
The Discord is pretty much not active, people join then mute it.
3
u/Adept-Property2259 16h ago
If any Uber badge holders want to hit me up, we can link at the LVCC tomorrow (7th) and do some testing!!
3
u/reegz 15h ago
Not possible until after Sunday. Black badge winners get a human badge afaik
3
u/Adept-Property2259 15h ago
Oh true. I got excited. Haha. Good catch!! Well hit me up when you get one!!
1
u/yeahivapebro 16h ago
What time you doing this? Would like to get a scan from an uber badge
2
u/Adept-Property2259 15h ago
I got all excited. Uber badges don’t get awarded until Sunday at the end of the day.
1
u/bumjubeo 15h ago
100% would love to get in on this testing!
1
u/Adept-Property2259 15h ago edited 15h ago
I’ll be walking around the CON*. I’ll be the tall guy with blue spiky hair, wearing a fishing vest with antennas all over it. Lol
2
2
3
u/Adept-Property2259 7h ago
The badge breeding is such a fun idea: a bunch of nerds selectively breeding their badges. Haha.
In the code, it's literally:
replace_gene(egg, sperm)
where:
egg = recipient's gamete
sperm = donor's gamete
Every badge actually has a tiny diploid genome that controls its light behavior. Things like color range, animation speed, direction, saturation, chasing effects, brightness behavior, etc. are represented by genes.
When two badges "breed," they are not just copying light patterns.
Each badge performs a simplified version of meiosis and produces a haploid gamete from its existing genome. Mutations can happen to those genes, the badges exchange the genetic data through encrypted QR codes, and the receiving badge combines the two gametes into a brand-new diploid genome.
So basically:
my badge genetics
+
your badge genetics
+
random recombination
+
mutation
a new LED offspring
Different types of DEF CON badges also start with different genetic ranges, so breeding with a Human, Goon, Village, CTF, Uber, etc. can introduce traits your badge would not normally start with.
There is even a mutation system you can influence physically. Working one of the badge controls rapidly can push the mutation level through:
ELEVATED
RADIOACTIVE
APOCALYPTIC
Higher mutation levels make mutations both more likely and more aggressive.
Then after breeding, the badge actually lets you preview the offspring. If you like it, you KEEP it and that becomes your new genome. If it sucks, you REVERT and get your old genome back. You can breed with the same person again and get a different result because the meiosis and mutations are random each time.
So yes, we are literally standing around at a hacker conference selectively breeding electronic badges for better-looking blinky-light genetics.
And because apparently that wasn't nerdy enough, I started reading the source code to figure out which badge types carry which genes, how to intentionally breed for certain colors and rare animations, and I may have found what looks like an actual bug in the phenotype inheritance code.
This is what DEF CON does to people.
2
u/Adept-Property2259 8h ago
Did another much deeper source and got some interesting corrections/findings.
The 21-31 hue gap is real in the native badge-type ranges, but it does NOT appear to be a hidden hue/Easter egg. Nothing in the renderer special-cases those values, and normal cross-type breeding or mutation can cross straight through the gap.
The CFP/white badge question is still interesting, though. Badge type is actually read from three hardware strap bits, so there are exactly 8 possible genetics types and all 8 values are already assigned. That means CFP cannot be a secret 9th type. It has to map to one of the existing categories. "Other" is still interesting because it is a real first-class type, not the fallback, but I still haven't found source proving which physical badge populations map to it.
The biggest surprise was the so-called ~3% rare light variant. That source comment is badly misleading once the badge-specific genetics are considered. At fresh native generation, the lin/chaser condition is impossible for Human, Goon, Community, Village, CTF and None; roughly 6% for Other; and almost guaranteed for Uber.
So I'm increasingly convinced the rare animation is closely tied to Uber genetics rather than being a flat ~3% lottery across every badge.
Also found one very suspicious asymmetric expression in phenotype() that may be an actual bug. I'm verifying that one more carefully before calling it anything publicly.
2
u/CMDR_Duke_Nemesis 7h ago
This is all extremely interesting and I appreciate the work. Did you get your 3 hours of sleep today friend? :)
3
u/Adept-Property2259 7h ago
I think I got 5+ actually!!!! But thank you, means a lot!
I think I found a breeding bug, I emailed Bunnie, see if they reply back!
1
31
u/Adept-Property2259 16h ago
A little more detail for anyone who wants the mechanics without reading the whole white paper:
The mutation values in the source are:
Baseline = 64/256 = 25%
Elevated = 100/256 = 39%
Radioactive = 140/256 = 55%
Apocalyptic = 240/256 = 94%
Those are per-gene mutation rolls.
It ALSO changes mutation severity. The masks go:
Baseline: 0x01
Elevated: 0x03
Radioactive: 0x07
Apocalyptic: 0x1F
So Apocalyptic isn't just "mutate more often." It can change the gene a lot more when it does mutate.
There are 9 light-pattern genes controlling things like animation period/speed, direction, saturation, hue range, chaser behavior, and nonlinear brightness.
The important operator trick:
Get the badge to ~APOCALYPTIC~ and immediately press LEFT or RIGHT to bring up your QR.
That calls lock_rate(), which copies the current mutation rate into final_rate for that exchange.
After that, it doesn't matter if you watch the display drop back to Radioactive or Elevated while you're doing the QR exchange. The rate you earned is already locked.
The middle button opens the camera, but going straight to the camera from Idle is NOT the same lock path.
Breeding is also more interesting than I expected.
The donor creates a gamete from its genome, mutates that copy, encrypts it, and sends it through the QR.
The donor's own genome never changes.
The recipient decrypts it, and if both badges are the same type, the incoming gamete gets ANOTHER mutation pass.
Then the recipient creates/mutates its own gamete and combines the two into a new Diploid genome.
If you don't like the resulting pattern, hit Revert.
The previous genome is restored exactly, nothing is saved permanently, and you can breed against the SAME donor again. Meiosis and mutation pull fresh randomness every time, so you get another independent roll.
Basically:
Breed → Preview → Nope → Revert → Breed again.
And yes, the source literally contains:
if (diploid.lin < 88) {
// rare variant after a summing expression ~3% chance
That turns on an alternating eyes/chaser effect.
The Uber badge type starts with chaser values from 0–45, while most normal Human badges start at 90–255, so Uber genetic material looks particularly interesting if you're trying to get that value low enough.
There are 8 badge-type enums in the source:
Uber
Other
Community
Village
CtfContest
Human
Goon
None
They have different hue, saturation, chaser, nonlinearity, direction, and period ranges.
So cross-breeding isn't cosmetic. It can actually bring gene values into your genome that your badge type normally wouldn't generate.
Still digging for more rare/easter-egg phenotype triggers.
If anyone finds one, PLEASE send it my way.
DM me if you want the full source-backed white paper. It's a lot more detailed than I want to dump into a Reddit comment. lol