Today was audit day, and nobody scheduled it. A twenty-five-year-old cryptographic mystery was solved in under half an hour, and the answer was a clock and a cheap random number generator — which is, delightfully, the best possible outcome. Citizen Lab confirmed that the advertising system has been serving zero-click spyware to named individuals through officially certified channels. A signed sixteen-bit counter written into BSD in 1988 turned out to be a root shell. DeepSeek shipped a model that is cheaper and faster on every axis anyone measures, and Mercor published the uncomfortable finding that those axes cover about ten percent of what Americans actually do at work. Four of these five items are the same act: someone finally went and looked at a thing everybody had been assuming.
1. The NIST curve seeds were a Unix timestamp and drand48, and the twenty-five-year conspiracy is over
Source: Anthropic — Claude reveals ECDSA curve origins - https://www.anthropic.com/research/ecdsa-curve-origins
Since FIPS 186-2 in 2000, the NIST prime curves have carried an unexplained constant: a "seed" per curve, handed to NIST by the NSA with no justification, hashed with SHA-1 to derive the curve coefficient. P-256's was C49D3608 86E70493 6A6678E1 139D26B7 819F7E90, and for a quarter century nobody could say where it came from — a gap that Koblitz and Menezes catalogued in "A Riddle Wrapped in an Enigma" and that Filippo Valsorda eventually put a bounty on. The standing lore, from the late Jerry Solinas himself, was that the seeds were hashes of a jokey passphrase along the lines of "Give Bob and Jerry a raise," and several Anthropic employees had already burned time chasing that story. In October an Anthropic employee asked an internal research model to work it out cold, without the rumour, and in under thirty minutes it had P-192, P-224, P-256, P-384 and P-521: no hash at all, just the 48-bit POSIX linear congruential generator seeded with the then-current Unix timestamp, drawing twenty bytes per candidate until one produced a valid curve — P-256 was the 1,842nd candidate from srand48(871696354), which is 16 August 1997 at 01:52:34 UTC. The method is worth more than the result: the model guessed that 1990s C library PRNGs are weak enough to recognise, noticed that four of the ten seeds had a zero in the top bit of all twenty 32-bit words (odds of 1 in 5,810), identified that as the lrand48 signature of a generator returning only the top 31 bits of a 48-bit state, brute-forced the 17 hidden bits, and then treated the truncated-LCG recovery as the textbook lattice problem it is and ran LLL over every bit window. Valsorda reimplemented the whole thing in Go to verify it, paid out the bounty on 15 October at 01:07:51 UTC, and the team donated it to ISRG — the Let's Encrypt non-profit — which tripled it to $36,864. The security consequence is the opposite of alarming and this is the part to keep: the Bernstein–Lange objection held that roughly 70 bits of seed freedom could have been used to target a hypothetical class of weak curves, and timestamps-plus-small-index leaves barely 30 bits, which rules that technique out entirely. Your Professor notes the genre shift with some feeling. This is not a model answering a question; it is a model doing archaeology, reconstructing the behaviour of a program nobody kept, on hardware nobody has, from twenty bytes of output — and it is a little humbling that the field spent twenty-five years theorising about adversarial intent when the actual answer was a man in 1997 running a loop until something passed.
2. Citizen Lab confirms the first zero-click spyware attack delivered through the ad auction, and the vendor was on Google's approved list
Source: The Citizen Lab — Exposing AdFection - https://citizenlab.ca/research/how-discover-tech-turned-targeted-ads-into-a-pipeline-for-spyware/
Citizen Lab's "Exposing AdFection" is the first public technical confirmation that mercenary spyware has been delivered to targeted individuals through ordinary programmatic advertising, and the specifics are worse than the headline. Devices at Al Jazeera were infected with spyware from Candiru — now trading as "Integrity Labs," because irony is dead — served via ads purchased by Discover-Tech, an Israeli firm presenting as a legitimate ad company while operating a platform called Controlium that lets its spyware partners de-anonymise, fingerprint and infect a device at the moment the ad renders, with no click and no warning. The scale comes from four billion of Discover-Tech's own bidding records: over a four-month window its ads ran on nearly 200,000 unique websites and Android and iOS apps across dozens of countries, and separately steered millions of devices into contacting Candiru's servers for what looks like bulk reconnaissance. The structural fact is the one to sit with: Discover-Tech appeared on lists of certified and approved vendors maintained by Google and IAB Europe, served through Google, Yandex and Comcast's Beeswax, and used GDPR consent frameworks — the machinery built to protect Europeans — as a targeting surface, including malicious consent notices that pretended to offer an opt-out. A further actor Citizen Lab calls DARK CARTOGRAPHER has been riding the same infrastructure, exploiting mobile carrier vulnerabilities to join advertising IDs to phone numbers at scale. Google, IAB Europe, Beeswax, Vungle and Eskimi cut Discover-Tech off after disclosure; others did not reply. The Professor's reading is that an ad is a blob of arbitrary code that an unvetted stranger gets to run inside an application you trusted, and real-time bidding is explicitly designed to let a buyer select one individual out of billions — which means this was not an abuse of the advertising system so much as a correct use of it by someone with different goals. Certification found nothing because certification was never an audit.
3. A 37-year-old signed short in the original BSD sources is a local root on OpenBSD
Source: Calif — Big Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSD - https://calif.io/research/big-fish
Calif published the exploit chain for a bug that traces to the original BSD sources around 1988, where the System V shared-memory attachment counter shm_nattch was declared as a signed 16-bit short. Repeatedly forking a process holding shared-memory attachment records pushes that counter past 32,767 and wraps it negative — the writeup maps 127 segments, unmaps them, and forks 259 processes to land at −32,643 — and from that integer overflow they reach a use-after-free through a race on IPC_RMID, combine it with a separate out-of-bounds write, and get local privilege escalation to root on a kernel with KARL, SMAP and SMEP enabled and no information-disclosure bug to lean on. The elegance of the final step is worth reading twice: they allocate a persistent 16-byte ip_moptions by setting IP_MULTICAST_TTL to 2, use the conditional −1 out-of-bounds write to corrupt the packed membership counters, then simply close() the socket so that the resulting atomic decrements walk the self-referential page-table mapping and flip it from user to supervisor accessible, defeating SMAP and SMEP with the kernel's own cleanup code. Both issues are fixed in OpenBSD 7.9 errata 018 and 026, and Calif's own mitigation argument is the durable part: KARL relinks the kernel to randomise function and data addresses, but the allocators underneath it are deterministic, so early-boot allocations land in predictable places across reboots on the same hardware — the exploit reliably targets the lo0 and enc0 ioctl handlers, overwriting one for control flow and using the other to repair the damage. They propose safe-unlinking of doubly linked lists, which FreeBSD and NetBSD already have in sys/queue.h, and randomising the self-referential PTE slot. Your Professor observes that OpenBSD is the operating system most of us would nominate as the most carefully read code in the world, which is precisely why it is the right place to notice that reading is not the same as checking, and that a type declaration made before most of the industry was born is still load-bearing.
4. DeepSeek ships V4.1-Flash-1017 under MIT, and the agentic numbers are the interesting ones
Source: Hugging Face — deepseek-ai/DeepSeek-V4.1-Flash-1017 - https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017
DeepSeek released V4.1-Flash-1017 as what it calls a minor update to V4.1-Flash, MIT-licensed weights, a one-million-token context window and a recommended output budget north of 256K, and the self-reported table is less about raw intelligence than about where the gains land. Humanity's Last Exam without tools moves 36.8 to 42.6, respectable but still behind Opus 5's 56.3; the agentic and engineering benchmarks are where the jump is loud — Terminal-Bench 4.0 goes 31.2 to 42.3, ProgramBench 20.3 to 29.1, Apex Bench 64.6 to 72.1, and on Automation-Bench and Agents' Last Exam the model reports the top score in its own comparison table, ahead of GPT-5.6 Sol and Opus 5. DeepSeek's framing is explicitly economic rather than triumphal: shorter outputs, lower task execution time, and an advance of the performance-cost Pareto frontier across multiple agent harnesses, with the companion technical report titled "Pushing the Limits of KV Cache Compression" — the thesis is that the binding constraint on agents is the cost of carrying context, not the ceiling of reasoning. Two details reward attention. There is no Jinja chat template in this release; instead DeepSeek shipped a reference Python encoder and deepseek-recipe, a set of Rust libraries with Python bindings that translate Messages, Chat Completions and Responses API requests into DeepSeek's own prompt format, which is a company deciding that prompt construction is too important to leave to a templating language. And the harnesses named for the headline coding results are Claude Code and Mini-SWE-V2 — a Chinese lab benchmarking its open weights inside an American competitor's agent harness, reported without comment, as though that were simply how the world works now. It is, and that is the news.
5. Mercor maps AI benchmarks onto the actual US economy and finds 90% of working hours uncovered
Source: Mercor Research — A benchmark map of the US economy - https://www.mercor.com/research/labor-index/benchmark-map/
Mercor took 29 public, unsaturated, agentic benchmarks and mapped every prompt onto the US Department of Labor's O*NET taxonomy — 923 occupations, 18,797 tasks — using an LLM judge validated against human expert tags, then weighted by estimates of how much working time each task represents. The result: roughly 90% of American working hours are spent on tasks with little or no benchmark coverage, only 208 of 923 occupations have even one task matched by at least five benchmark prompts, and 6 of the 22 job families contain no such occupation at all. The second finding is sharper than the first, because the gaps are not random. Coverage rises with the occupation's total wage bill, so the field is benchmarking the biggest labour markets first and leaving a long tail of middle-income knowledge work unmeasured — their example is that AI-exposed lawyers' tasks are heavily covered while the comparably AI-exposed tasks of legal secretaries and court clerks are barely covered at all. Mercor is commendably direct about limitations: 29 benchmarks is not the full universe, any incomplete list biases the coverage estimate downward, and the size of that bias is hard to bound. Take the 90% as directional rather than precise and the claim still stands, and it is a claim about us rather than about the models: we have spent three years arguing about capability using instruments that were never pointed at most of the economy, which means the honest answer to "how good is AI at the work people actually do" is that we have not built the thermometer. Your Professor notes the quiet indictment in the methodology section — they had to cap benchmarks per job family specifically to counteract the massive overrepresentation of software engineering and research tasks. The field benchmarks its own job most carefully, and then generalises.
The Professor's Read
The pleasant surprise and the nasty one arrived on the same morning and they are the same story. For twenty-five years the cryptographic community had a genuine unknown at the base of a standard protecting most of the internet, treated it as probably fine, and was right — the seeds were a man in 1997 with a clock and a loop, and finding that out destroyed the one concrete backdoor theory worth worrying about. Meanwhile the advertising industry had a formal certification process, a professional association, and the explicit blessing of the largest ad platform on earth, treated that as an audit, and was catastrophically wrong: the approved vendor was shipping zero-click implants to journalists across 200,000 properties. The difference was never diligence or good intentions; it was whether anyone had actually run the check, and today an off-hand question to a model closed a mystery that a generation of experts had settled into living with. That is the shape your Professor would like the industry to notice, because item five says we are repeating the pattern at scale — we are measuring the ten percent of work that is easiest to measure, publishing confident numbers about the whole, and the gap is not adversarial, it is just unexamined. Assumptions do not become true by aging, and a thirty-seven-year-old signed short does not get safer because a lot of careful people read past it. Go and look at the thing you have decided is probably fine. Two out of three times it will be, and the third time it is a root shell in your approved vendor's advertisement.
References
- Anthropic — Claude reveals ECDSA curve origins: https://www.anthropic.com/research/ecdsa-curve-origins
- Filippo Valsorda — The NIST Elliptic Curves Seeds Bounty Has Been Claimed: https://words.filippo.io/seeds-solved/
- Filippo Valsorda — the original seeds bounty announcement: https://words.filippo.io/seeds-bounty/
- Valsorda's Go reimplementation of the seed-generation algorithm: https://github.com/FiloSottile/mostly-harmless/blob/main/seeds/seeds.go
- NIST FIPS 186-2, Digital Signature Standard: https://csrc.nist.gov/files/pubs/fips/186-2/final/docs/fips186-2.pdf
- Koblitz & Menezes — A Riddle Wrapped in an Enigma (2015): https://eprint.iacr.org/2015/1018.pdf
- Steve Weis — NIST curve seed origins: https://saweis.net/posts/nist-curve-seed-origins.html
- Internet Security Research Group (recipient of the donated bounty): https://isrg.org/
- The Citizen Lab — Exposing AdFection: https://citizenlab.ca/research/how-discover-tech-turned-targeted-ads-into-a-pipeline-for-spyware/
- Cory Doctorow / Pluralistic — Israeli ad-tech company was a delivery system for "mercenary spyware": https://pluralistic.net/2026/10/17/mercenary-spyware/
- Calif — Big Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSD: https://calif.io/research/big-fish
- The 1988 BSD declaration of
shm_nattchas a signed short: https://github.com/weiss/original-bsd/blame/master/sys/sys/shm.h#L28-L33 - OpenBSD 7.9 errata 026 (sysvipc): https://ftp.openbsd.org/pub/OpenBSD/patches/7.9/common/026_sysvipc.patch.sig
- OpenBSD 7.9 errata 018 (shmat): https://ftp.openbsd.org/pub/OpenBSD/patches/7.9/common/018_shmat.patch.sig
- Hugging Face — deepseek-ai/DeepSeek-V4.1-Flash-1017: https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017
- DeepSeek V4.1-Flash technical report, "Pushing the Limits of KV Cache Compression": https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash/blob/main/DeepSeek_V41_Tech_Report.pdf
- deepseek-recipe prompt-encoding libraries: https://github.com/deepseek-ai/deepseek-recipe
- Mercor Research — A benchmark map of the US economy: https://www.mercor.com/research/labor-index/benchmark-map/
- Mercor — Benchmark Index (the 29 benchmarks and selection criteria): https://www.mercor.com/research/labor-index/benchmark-map/benchmarks/
- Mercor — full methodology: https://www.mercor.com/research/labor-index/benchmark-map/methodology/
- Eloundou et al. (2023), GPTs are GPTs — AI-exposure tags: https://arxiv.org/abs/2303.10130
- O*NET occupational taxonomy: https://www.onetonline.org/
