Filippo Valsorda @filippo.abyssdomain.expert · 28/09/2026I'm really looking forward to getting the org to a place where it can provide a reliable, sustainable, and accountable service for all atproto applications out there (and maybe beyond). Also, very happy about the company I get to do this with! 1491
Filippo Valsorda @filippo.abyssdomain.expert · 13/09/2026Triaged a large batch of issues found by a zkao.io scan. Some good bugs, but no vulnerabilities. (LLMs are especially bad at telling those apart.) LLMs found zero (0) vulnerabilities above SEV:LOW in Go crypto so far 💁♂️ 💅 2623
Filippo Valsorda @filippo.abyssdomain.expert · 10/09/2026What's the point if GitHub has unsandboxed RCEs, Hugging Face has unsandboxed RCEs, Forgejo has unsandboxed RCEs... Anyway, we gotta stop shelling out to git in security contexts. 1646
Filippo Valsorda @filippo.abyssdomain.expert · 05/09/2026Again and again, demanding work from dozens or hundreds or thousands of unaffected dependents instead of fixing vulnerability scanners does not scale, and is an open source sustainability issue. github.com/FiloSottile/... (do NOT dogpile on the reporter, call your vuln scanner vendor instead) 720815
Filippo Valsorda @filippo.abyssdomain.expert · 29/08/2026I know it's unpopular to say because the scrapers are evil and stupid (and most of them are!) but I can't get over how small the numbers are in all of these posts. 18M/day is 200 qps, and there isn't even a bandwidth cost argument. Those are Raspberry Pi numbers. people.kernel.org/monsieuricon... 911910
Filippo Valsorda @filippo.abyssdomain.expert · 26/08/2026Uuuuh, neat! Would it be easy enough to add 32 bytes of WireGuard PSK and get some degree of post-quantum protection, since these are already secret tokens? I am growing uncomfortable with Tailscale's lack of harvest-now-decrypt-later protection against QCs. 3391
Filippo Valsorda @filippo.abyssdomain.expert · 26/08/2026Ok, I think the ML-DSA performance side quest might be complete 🏎️ Very proud of how safe and clear the final incremental changes are, too. 2472
Filippo Valsorda @filippo.abyssdomain.expert · 25/08/2026I am so happy we can now divinate precise diagrams in minutes to help reason through complicated code. (This is the "butterfly" of the Number Theoretic Transform of ML-DSA. It's faster not to reduce non-overflowing intermediates, but I had to convince myself that they do not, in fact, overflow.) 3282
Filippo Valsorda @filippo.abyssdomain.expert · 21/08/2026ML-KEM and ML-DSA fill matrices/vectors with output from SHAKE, each element derived from slightly different inputs. This is perfect for SIMD instructions, so now we have func ReadMulti(s []*SHAKE, out [][]byte) backed by AVX2 on amd64, and by the existing two-lane asm on arm64. go.dev/cl/818720 1414
Filippo Valsorda @filippo.abyssdomain.expert · 19/08/2026We got a lot of traces, thank you! The main category we are missing (unsurprisingly) is Windows. We got one (1) pure-Windows session 😅 Please... idk, ask a friend? help-test-crypto-passkey.exe.xyz Also, I worked around an interop issue in KeePassXC and ChiPass. If you use those please try again! 103413
Filippo Valsorda @filippo.abyssdomain.expert · 17/08/2026I am mostly done implementing crypto/passkey, but now I need YOUR help collecting real-world traces for its test suite! Please go to help-test-crypto-passkey.exe.xyz and click the buttons. It should take 1–3 minutes. 𝘌𝘴𝘱𝘦𝘤𝘪𝘢𝘭𝘭𝘺 if you have some unusual Linux-on-the-desktop xkcd 1987 passkey setup. 1411441
Filippo Valsorda @filippo.abyssdomain.expert · 16/08/2026From the "things that would have been too much effort before but take no time with LLMs and @exe.dev" category. Yay for personal software. 2553
Filippo Valsorda @filippo.abyssdomain.expert · 15/08/2026Like, 18 instances of "Origin Lite" out of 527 comments, most of them in the second half of the page. 060
Filippo Valsorda @filippo.abyssdomain.expert · 25/07/2026Get your own totally official Geomys FIPS 140-3 Entropy Source! 🎰 Only at @gophercon.com in Seattle, next month. Compatibility with any Go version is not guaranteed 👀 2574
Filippo Valsorda @filippo.abyssdomain.expert · 04/07/2026Hmm, do we need to test this hypothesis? I have a Blåhaj and I do like foxes 🦊 813212
Filippo Valsorda @filippo.abyssdomain.expert · 28/06/2026Improve your IETF experience 1000x with this ONE WEIRD TRICK! Awful men don't want you to know about it!!! 1240
Filippo Valsorda @filippo.abyssdomain.expert · 17/06/2026I am trying to transfer from an iPhone 17e to a clearly superior iPhone 13 mini. However, the 13 is on iOS 26.5 while the 17e is on iOS 26.5.1, which is a 17-only bugfix release, so the transfer flow fails silently. I think the only solution is flashing iOS 26.6 beta 2. This is so stupid. 11816
Filippo Valsorda @filippo.abyssdomain.expert · 07/06/2026The list at www.secretservice.gov/prohibitedit... is all generic stuff you'd expect and then - Flipper Zero - Pineapple Wi-Fi router - Raspberry-Pi enabled devices Huh. 136110
Filippo Valsorda @filippo.abyssdomain.expert · 28/04/2026Looks like GitHub silently corrupted some index. PR #237 definitely exists and is closed (github.com/C2SP/C2SP/pu...) but is just... not in the list (github.com/C2SP/C2SP/pu...) regardless of filters. I briefly doubted my own sanity. This is bad. 1413217
Filippo Valsorda @filippo.abyssdomain.expert · 28/04/2026A bit over two years after starting to work on it... Go is officially FIPS 140-3 certified 💥 csrc.nist.gov/projects/cry... I am pretty confident Go is now one of the most—if not the most—seamless and complete FIPS 140-3 compliance solutions... with a single env var, out of the box. 928962
Filippo Valsorda @filippo.abyssdomain.expert · 24/04/2026I think it's important to triage failed predictions and I was wrong about this one. It looks like it's more organizational dysfunction and neglect than the "embrace, extend, extinguish" I was told to be worried about but the acquisition did not work out well for GitHub. xcancel.com/FiloSottile/... 922820
Filippo Valsorda @filippo.abyssdomain.expert · 23/04/2026How much storage / bandwidth / CPU / memory does it take to run a production Sunlight CT log? Surprisingly little! There's now a public stats page, pulled every 5m from our Tuscolo prod metrics. stats.sunlight.geomys.org Less than 2 cores, 300 MB of memory, ~250 Mbps of bandwidth, 260 GiB of SSD. 1314
Filippo Valsorda @filippo.abyssdomain.expert · 19/04/2026They're not device-bound, and they sync like your passwords across iCloud or Chrome or 1Password devices. (One exception: if you store the passkey on a physical security key like a YubiKey.) If you need to log in from a not-synced device, select this option and scan the QR from a synced phone. 5250
Filippo Valsorda @filippo.abyssdomain.expert · 15/04/2026If you feel like that deprives you of FIPS 140-3 madness, you might appreciate this new footnote. words.filippo.io/fips-hkdf/#f... 2173
Filippo Valsorda @filippo.abyssdomain.expert · 15/04/2026I had a whole post on "yes, HKDF is FIPS 140-3 compliant, actually" but now NIST just went and added it by name to the list of Approved algorithms with a change comment saying "it was always compliant, yo" (paraphrased), so yay. words.filippo.io/fips-hkdf/ 2346
Filippo Valsorda @filippo.abyssdomain.expert · 11/04/2026Alright, it's official! 💰 @matthewdgreen.bsky.social and I bet on what will break first, ML-KEM-768 or X25519. The loser donates to a 501(c)(3) picked by the winner. If you have an opinion on quantum computers or lattices, you can join with a side bet. Just submit a PR! github.com/FiloSottile/... 711929
Filippo Valsorda @filippo.abyssdomain.expert · 07/04/2026Oh hey, with all the 🔥 I almost missed that today was the 12th anniversary of Heartbleed. The online test I cobbled together that night gave me the opportunities to get started in this line of work! Initially it was hilariously bad: a Flask server shelling out to a patched Go crypto/tls binary. 518215
Filippo Valsorda @filippo.abyssdomain.expert · 05/04/2026I finally chased down test coverage for the last edge cases of ML-DSA's low-level, constant-time field operations like Decompose. This is an accumulated (words.filippo.io/accumulated) test that locks in the output for all possible inputs of all these tricky functions. go.dev/cl/762940 2251
Filippo Valsorda @filippo.abyssdomain.expert · 04/04/2026They also added an allowlist of all Homebrew packages, interesting. I am kinda tempted to try developing a lockdown policy, but man Santa looks janky. 220
Filippo Valsorda @filippo.abyssdomain.expert · 04/04/2026There are some interesting patterns, but the main one is that Let's Encrypt is the only CA that evenly spreads load. Other CAs are mostly using older logs, or their own logs and Google's. (Of course, LE is 50% of issuance, and GTS is 25%, so the rest don't matter much.) 1112
Filippo Valsorda @filippo.abyssdomain.expert · 04/04/2026There was no good way to see what CT logs are actually used by CAs, so I made a dashboard of @censys.bsky.social data on @exe.dev. groups.google.com/a/chromium.o... 1445
Filippo Valsorda @filippo.abyssdomain.expert · 29/03/2026Some personal/protocol news! Looking forward to helping make PLC the trustworthy and auditable bedrock of identity on atproto. Catch me, @wseltzer.bsky.social, or @bnewbold.net at #AtmosphereConf if you want to chat! We’re still getting started but want to be transparent even in the early stages. 88916
Filippo Valsorda @filippo.abyssdomain.expert · 26/03/2026I’m at #AtmosphereConf, look for me in the teddy bear sweater and say hi! If you’re not at the conference, consider muting this thread 😅 4240
Filippo Valsorda @filippo.abyssdomain.expert · 20/03/2026So uh, apparently $288/year is not enough to run a Mastodon service for ~3 users, and this is a known issue (masto.host/mastodon-con...) with no solution (github.com/mastodon/mas...! 1520720
Filippo Valsorda @filippo.abyssdomain.expert · 13/03/2026They sell entropy sources at FamilyMart in Taiwan in convenient 51-bit packages! 61669
Filippo Valsorda @filippo.abyssdomain.expert · 08/03/2026Dustin Moody from NIST: “you don’t need more than 128 bits of symmetric keys for post-quantum security” #rwc2026 Say it louder, for the people in the back! 26614
Filippo Valsorda @filippo.abyssdomain.expert · 13/02/2026So, I hope it goes without saying for almost everyone, but don't do shit like this. The first issue mentioning a fork was totally fair, spamming every thread in the issue tracker without permission from the maintainer is not. 2312
Filippo Valsorda @filippo.abyssdomain.expert · 12/02/2026Here's a little demo of our new pkg.geomys.dev code viewer for Go modules! Install the (minimal-permissions) extension from chromewebstore.google.com/detail/pkgge... or addons.mozilla.org/en-US/firefo... to link directly to it from pkg.go.dev. 1250
Filippo Valsorda @filippo.abyssdomain.expert · 07/02/2026Had Claude replace the bsky embed with simple server-rendered boxes and I like the result a lot better! github.com/FiloSottile/... 030
Filippo Valsorda @filippo.abyssdomain.expert · 06/02/2026Just had the next Geomys CT log hw delivered, this one to be racked in an EU DC. This means my home office now has an Ampere Altra 64-core NAS with 96 TB HDD, a Dell PowerEdge R6515, a Milk-V Jupiter RISC-V 64-bit, redundant fiber, a Turris Omnia, a USB Armory, and an Enigma replica. And a MacBook. 7763
Filippo Valsorda @filippo.abyssdomain.expert · 30/01/2026I just bought a whole new server for the Geomys transparency services (CT log, tlog witness with SLA, more soon) using “PayPal Check out” and for some reason it was extremely funny to me. 3201
Filippo Valsorda @filippo.abyssdomain.expert · 26/01/2026Because not using AI tools for what they excel at produces less secure code. For example, they are great at debugging (words.filippo.io/claude-debug...), they can find real issues in code review, they know more math than me, and they can write static analyzers I would have never had the time for. 2916
Filippo Valsorda @filippo.abyssdomain.expert · 26/01/2026Here are three lines from my AGENTS.md that make agents a lot better with Go. Go has great CLI tools, but many people don't know about them, and so agents are not trained to reach for them. Maybe the Go project should maintain a Go development skill? 51054
Filippo Valsorda @filippo.abyssdomain.expert · 25/01/2026This is beautifully done! Here's a uv one-liner, in case it's useful. uv run --with 'maptoposter@https://git.olaren.dev/Olaren/maptoposter.git' python -m maptoposter --help 1432