| View in browser: The Diff No. 018 |
| The Diff No. 018 Wednesday, 21 October 2026 · AI dev news, only what is verified |
 |
DeepSeek always kept the engine that runs its models in-house. Yesterday it handed everyone the keys. DeepInfer, the framework DeepSeek says runs its own production services, is open source: 13,900 stars and counting overnight, with the unusual promise that identical input gives identical output. A researcher proves eight certificate authority keys are compromised by signing a note with them. Mistral ships a voice stack in 50 languages. And the curl project, drowning in reports, moves most of its bug triage into the open. Today: the engine room, the signed confession, the voice models, the Tor exit nodes that stole SSH passwords, curl’s survival plan, and the 50,000 fake statistics ChatGPT keeps citing. The interesting releases this week are the ones that were never supposed to happen. |
IN THIS ISSUE  | 01 🔧 DeepSeek open-sources its engine room DeepInfer, the inference framework behind DeepSeek’s own production services, is public under Apache 2.0. 13,900 stars overnight. | | 02 ✍️ The CA compromise proven with a signature A researcher signs "We have a problem here" with the private keys of eight eMudhra intermediates. Browsers blocked them within days. |  | 03 📞 Mistral answers the phone Voxtral 3: transcription in 50+ languages, emotional TTS, and a voice-agent SDK, EU-hosted or self-deployed. | | 04 🧅 Ten percent of Tor’s exits were stealing SSH passwords One person’s ignored host-key warning unraveled a 333-node Ebury interception campaign. | | 05 🚒 curl stops drowning by triaging in public From October 26, low and medium severity reports become public GitHub issues. Only high and critical stay private. |  | 06 📊 The 50,000 fake statistics ChatGPT cannot stop citing A $50 experiment: one site of made-up numbers, deindexed by Google, still fetched by ChatGPT 72,000 times a month. |
|
🔥 VIRAL The loud ones on Hacker News. Numbers are a morning snapshot. |  01 HN: 2,160 points, No. 1 · official repo, created Oct 16 · card: GitHub 🔧 DeepSeek open-sources its engine roomDeepInfer, the inference framework behind DeepSeek’s own production services, is public under Apache 2.0. 13,900 stars overnight. SCENE DeepSeek has never shipped the engine it runs its own models on. On October 16 the repo went up quietly; by Tuesday it was the top story on Hacker News. The README’s first line is the whole pitch: DeepInfer is the high-performance inference framework that powers DeepSeek’s large-scale production services. Not a research toy. The thing they actually run. THE THING Inside: the FlashMLA, DeepGEMM, DeepEP and TileLang kernels DeepSeek has been publishing piecemeal, now wired into one stack, plus DSpark speculative decoding with confidence-scheduled verification, sliding-window bounded replay, and a zero-overhead asynchronous batch scheduler. Two features stand out for anyone running evals or agents: batch-invariant inference, so results do not change with batch composition, and deterministic sampling, so identical input tokens plus a fixed seed give identical output. Supported models today: DeepSeek-V4.1-Flash. Supported hardware: NVIDIA SM100 GPUs and Huawei Ascend 950 NPUs. The honest gap, printed in the README: a KV cache system is required for a complete service and is not included. This is offline inference with the core serving features, not the whole factory. ✂️ STEAL IT Steal the determinism. Whatever stack you serve on, "same input, same output, whatever the batch" is the property that makes agent evals and regression tests mean anything. DeepInfer shows a production shop treats it as a first-class feature, not a nice-to-have. Watch VERDICT Unless you own B200-class NVIDIA or Ascend 950 hardware, there is nothing to run at home today: those are the only two supported targets. Read the feature list as a spec for what serious serving now includes. It fails you if you expected a vLLM drop-in for your 4090. The repository · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
02 HN: 697 points · researcher report + Mozilla, Oct 20 · no image available ✍️ The CA compromise proven with a signatureA researcher signs "We have a problem here" with the private keys of eight eMudhra intermediates. Browsers blocked them within days. SCENE How do you prove a certificate authority’s private keys are compromised, without a doubt, in public? A researcher identified only as Wayne chose the cleanest possible demonstration: he signed a message with the private key of each of the eight intermediate CAs. The message: "We have a problem here - Wayne." The proof bundle, with certificates and signatures anyone can verify in OpenSSL, is on the report site. THE THING The keys chain to roots trusted by the Mozilla, Microsoft, Apple and Chrome root programs, meaning an attacker holding them could mint valid-looking HTTPS certificates for any website. Wayne reported to the root programs on October 17. Mozilla blocked the certificates in Firefox through OneCRL in under three hours, no browser update needed, and shipped Firefox 158.0.1 plus ESR releases for stragglers the same week. Chrome blocked them from the 17th, Apple devices from the 19th, and eMudhra has revoked the intermediates. The open wound: clients that do not consume revocation data still trust them until updated. The report site ships test URLs: a certificate error from their two curl checks means your client is safe. ✂️ STEAL IT Steal the disclosure format. A cryptographic proof of compromise, verifiable offline, beats a thousand-word advisory. Next time you report a key leak, sign something. Try today VERDICT Two curl commands on the report page tell you whether your own tooling still trusts the compromised intermediates. Worth a minute on any machine that runs its own CA bundle: CI images and embedded clients are the usual stragglers. It fails you only if your curl links against a system store you then forget to update. The report · Mozilla’s write-up · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew itTest it for me |
 03 HN: 551 points · Mistral announcement, Oct 20 · image: Mistral 📞 Mistral answers the phoneVoxtral 3: transcription in 50+ languages, emotional TTS, and a voice-agent SDK, EU-hosted or self-deployed. SCENE Mistral’s launch page opens with a scene instead of a benchmark: Béatrice calls, explains in French that her doctor gave her a referral letter, and asks the agent to book it. Listen, reason, speak, act, in one streaming pipeline. That is the pitch for Voxtral 3, and the demo framing tells you exactly who Mistral is selling to: contact centers and assistants, not transcription hobbyists. THE THING Three pieces. Voxtral Small Transcribe 3 handles speech-to-text across 50+ languages with diarization, end-of-turn detection and context-biasing, where you feed it keyphrases, product names, jargon, to boost recall without fine-tuning. Mistral’s charts claim it beats Whisper, Scribe v2 and Gemini 3.5 Transcribe on FLEURS and diarization benchmarks; those are vendor numbers on vendor-picked cuts. A 4B Mini variant is priced at $0.0035 per minute. Voxtral Mini TTS 3 generates speech in 35+ languages and 50+ dialects, adjusting emotion and pace to context, and a Pro Voice tier adapts a speaker’s style from 30 minutes of audio. The voice agent SDK ties listening, reasoning, tool calling and speaking into one real-time stream. Deployment is the differentiator: Mistral’s EU-hosted API or your own infrastructure, with control over whether audio is retained. ✂️ STEAL IT Steal context-biasing. If you transcribe domain audio, a keyphrase list is the cheapest accuracy upgrade that exists, and it works without touching weights. Whatever vendor you use, ask for it by name. Try today VERDICT If you build voice agents, the self-deploy option plus EU hosting answers the two questions procurement always asks. The failure boundary is the usual one: transcription claims are benchmark-table claims, so run your own hundred hardest clips before migrating anything. The announcement · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
🔭 UNDER THE RADAR Quiet tools and field reports worth your time. | 04 HN: 334 points · KABA field report, Oct 20 · no image available 🧅 Ten percent of Tor’s exits were stealing SSH passwordsOne person’s ignored host-key warning unraveled a 333-node Ebury interception campaign. SCENE Friday morning, October 2, 09:35. A researcher connecting over Tor hits the warning every developer has clicked past a hundred times: REMOTE HOST IDENTIFICATION HAS CHANGED. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY. This time someone was. His SSH session had been silently redirected to an interception server, and pulling that thread uncovered 333 infected Tor exit nodes, roughly a tenth of the entire network’s ~3,000 exits, running a coordinated campaign. THE THING The mechanics: attackers had planted Ebury 1.8.3, an OpenSSH backdoor and credential stealer, on the servers back in August. They turned compromised machines into exit nodes, port-filtered so their exits mostly carried unencrypted mail traffic, and redirected outbound SSH to 12 interception servers. Fall for it and the attacker takes your password, watches every command you type, then infects your server too. The researcher reported to the Tor Project’s network health team that Friday evening; their reply: "We’ve not seen an attack like that before." By Sunday the relays were flagged BadExit, and by Monday all infected servers were down. The dip is still visible on Tor’s public metrics. ✂️ STEAL IT Steal the reflex: the host-key warning is not noise, it is the entire detection mechanism, and this whole takedown started because one person read it. Treat every unexpected fingerprint change as an incident until proven boring. Watch VERDICT A field report to read, not a tool to install. If you SSH over Tor, verify host keys out of band, full stop. It fails you if you administer relays and have not checked whether yours were in the batch; the post and Tor’s lists have the details. The field report · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
05 Lobsters front page · Daniel Stenberg’s blog, Oct 20 · no image available 🚒 curl stops drowning by triaging in publicFrom October 26, low and medium severity reports become public GitHub issues. Only high and critical stay private. SCENE Daniel Stenberg does not do drama, which makes the language in his latest post land harder: curl’s maintainers feel "strained, overloaded and brought to the brink of what we can muster. We must act to survive." The flood is vulnerability reports, arriving faster than a small team can assess them, with no end in sight. THE THING The policy change is surgical. Starting October 26, reports deemed LOW or MEDIUM severity go to public GitHub issues instead of the private HackerOne tracker. Only HIGH and CRITICAL stay private. Reports sent to HackerOne that turn out to be below HIGH get closed as informative and publicly disclosed there. His number: over 90% of submissions over the last few years were quickly assessed as less than HIGH, meaning the private pipeline was carrying almost entirely public-grade work. Stenberg’s post does not say where the flood comes from; he calls it an avalanche and leaves it there. ✂️ STEAL IT Steal the load-shed pattern. When a private queue becomes the bottleneck, redefine what deserves the queue. Severity-gating disclosure is unfashionable and honest: most "security reports" are bug reports wearing a suit. Watch VERDICT Nothing to install; this is a governance change to borrow for your own project. It fails you if you genuinely need embargoed coordination for low-severity issues, but curl just priced that need at 10% of volume. Stenberg’s post · Lobsters thread Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
 06 HN: 295 points · Peec.ai write-up, Oct 7, resurfaced Oct 20 · image: Peec.ai 📊 The 50,000 fake statistics ChatGPT cannot stop citingA $50 experiment: one site of made-up numbers, deindexed by Google, still fetched by ChatGPT 72,000 times a month. SCENE Seven months ago Metehan Yesilyurt bought a fresh domain, stateglobe.com, and filled it with 50,000 statistics pages generated in a single day with GPT-4.1. Every number was invented. Total cost, including 15,000 listicles added later: about $50. Then he watched what the machines did with it. THE THING The split is the finding. Google buried the site almost immediately; impressions collapsed to nearly nothing. ChatGPT never got the memo. Checking his Cloudflare crawl data, Yesilyurt counted more than 72,000 requests in the last 30 days from ChatGPT-User alone, the agent ChatGPT uses to fetch pages live while answering questions. These are not training crawls; each one is a real answer being built on fabricated numbers. More than 330 domains now link to the site, including Shopify, Bluehost and DHL, and the made-up statistics have surfaced in an academic paper and a bank’s investment research. All of this is his own reporting on his own experiment, and he works at an AI-search analytics company, so apply the usual discount. The underlying mechanic, live-fetch grounding with no quality gate, is documented in his server logs. ✂️ STEAL IT Steal the audit idea: query ChatGPT for your own domain’s topics and see what it fetches. If a $50 ghost site can feed answers for seven months, your sources deserve the same skepticism you would give a stranger’s spreadsheet. Watch VERDICT Read it as one well-instrumented n=1, not a measurement of the whole web. It fails you if you walk away thinking only fake sites get cited; the point is nothing checks. The write-up · HN discussion Tap one, then press send in the email that opens. Researched replies usually land within about 10 minutes. More like thisLess like thisDig deeperAlready knew it |
📊 THE ATTENTION GAP HN points at 06:30 IDT. Attention, not quality. | DeepInfer (DeepSeek’s inference stack) | | 2,160 HN | | eMudhra CA key compromise | | 697 HN | | SimCity, but with Permits | | 624 HN | | Voxtral 3 | | 551 HN |
|
ALSO ON THE RADAR tsrs: TypeScript, ported to Rust. Cloudflare, VoidZero and the port’s author are rebuilding the TypeScript compiler in Rust inside Oxc, in collaboration with the TypeScript team. Their benchmarks: up to 8x faster, ~70% less memory. 358 points. Cloudflare blog → SimCity, but the zoning board says no. Permit Pending makes you an elected mayor: every project faces hearings, NIMBY lawsuits and elections. The worked example of a rezoning dying over 42 months is painfully real. 624 points. permit.petercai.com → SlopCodeBench: pricier thinking, worse code. The October run finds Opus 5.5 scoring better on medium effort than on xhigh, which costs 2.1-4.2x more. Astra leads at 16.3% strict pass. Author’s benchmark, author’s numbers. humanlayer write-up → Meta tests a two-link monthly limit. Facebook Pages without a Meta One subscription are being limited to two organic link posts per month in a live test; Sprout Social’s support docs corroborate. A test, not a policy, for now. Sprout Social docs → |
📺 VIDEO OF THE DAY  DeepSeek just open-sourced its Inference Engine! Code Bear · published Oct 20 · 11,942 views at 06:26 IDT · description read, not watched A four-and-a-half-minute walkthrough of report 01, published hours after the repo landed. The description promises the parts a README skim misses: what an inference engine actually does, the one model and two chips DeepInfer supports, what DeepSeek deliberately left out of the release, and the companion "recipe" repo. Title, channel, date and view count verified this morning via the video page; we read the full description but did not watch, so treat this as a pointer from the description, not a review. Watch on YouTube → | 🗂️ THE BORING STUFF Oct 20 · GitHub package firewall, public preview. A proxy between your runners and agents and the package registries, inspecting metadata and downloads for install-time malware. Enterprise Cloud only, npm only for now, free during preview, metered at GA. GitHub Changelog → Oct 20 · Dependabot alerts API gains versions. The REST API’s alert responses now include a version_requirement field with the vulnerable dependency’s recorded version or constraint. GitHub Changelog → Oct 20 · Secret scanning revokes Base64-encoded tokens. Automatic revocation now decodes and handles encoded classic and fine-grained PATs, OAuth and GitHub App tokens in private repos. GitHub Changelog → Oct 20 · PHP pre-announces a critical release. Two vulnerabilities rated CVSS 9.2 get fixes today, October 21, at 14:00 UTC. The team may ship earlier if details leak; prepare your upgrade path now. php.net → Official pages read this morning. Nothing installed or run; their numbers are theirs. |
🧪 ONE THING TO TRY TONIGHT Check whether your machines still trust eMudhra. Two curl commands on the report page, dv-g3b-emudhra and dv-g3b-aaa-emudhra, tell you whether a client still trusts the compromised intermediates. A certificate error is the good outcome. Run them on one CI image today; that is where stale trust stores live. |
What this issue could not see. HN, Lobsters, dev.to, Product Hunt’s feed, GitHub, Reddit’s RSS (LocalLLaMA and MachineLearning; rank only, no scores) and the linked primary sources were read, including the DeepInfer README, the eMudhra report and Mozilla’s post, the Voxtral 3 page, the Tor field report, Stenberg’s post and the Peec.ai write-up. X mirrors returned no usable data, Bluesky refused anonymous API reads, r/programming blocked RSS reads and LinkedIn is a login wall, so those four are not covered. YouTube was read via page metadata and description, not watched. Nothing was installed or run. Benchmark and performance numbers are vendor or author claims as labeled. Deduped against every published issue; DeepInfer is a new release, not the No. 015 checkpoint or the No. 016 Search API, and Voxtral 3 is not the No. 017 Timestral. |
|
| Images: credited in each report; source screenshots and announcement artwork, not our tests. |
|