
Donderdagmiddag, kwart over twee. Iemand met twintigduizend volgers typt dat Mistral gehackt is, dat hij Tor erbij heeft gepakt en dat de hele codebase te koop staat. Acht uur later, om half elf ’s avonds, staat die post op ruim 338.000 weergaven en 5.200 likes, en weet half X dat de modelgewichten van het grootste AI-bedrijf van Europa in verkeerde handen zijn. Dat laatste heeft niemand gezegd. Het is er onderweg bij gekomen.
Update, vrijdag 18 september: Mistral heeft alsnog gereageerd. Om 07:48 uur Nederlandse tijd postte het bedrijf op X: “We are aware of a claim alleging unauthorized access to our systems. Following a thorough investigation, we have found no evidence to support this claim and can confirm that our systems have not been compromised.” Daarmee is de stilte voorbij, maar het verhaal niet. De reactie staat alleen op X; op de nieuwspagina en de advisory-lijst van Mistral staat vanmorgen nog niets, en over de samples die FrenchBreaches openhad zegt het bedrijf geen woord. Rond half elf stond de teller op 16.800 weergaven. De draad die het gerucht groot maakte, stond toen op ruim 850.000. Een ontkenning reist een stuk langzamer dan een gerucht.
Kijk mee hoe dat gaat, want dit is een schoolvoorbeeld. De oorspronkelijke post van Beni Duboss zegt twee dingen: de aanvaller deelde samples van niet-uitgebrachte tools, en de codebase staat te koop. Een uur later meldt hij dat hij de verkoper zelf heeft benaderd met de vraag of de verkoop ook modelgewichten, post-trainingspijplijnen, datasetopbouw en synthetische datageneratie omvat. Een vraag dus. Het antwoord is nooit gepubliceerd. Ruim vijf uur later, om 19.41 uur, staat diezelfde lijst van vier bij @NeoAIForecast als feit: “GG. Mistral got hacked. Allegedly taken: Model weights, Post-training pipelines, Dataset construction/cleaning, Synthetic data generation.” Die post is op zichzelf klein, om half elf ’s avonds 628 weergaven en acht likes, dus laten we hem niet groter maken dan hij is. Maar de verschuiving is precies waar het om gaat: er is niets nieuws gevonden, alleen een vraag die van vorm veranderde.
De partij die de bestanden wel opende, zegt iets veel voorzichtigers
Beni is er eerlijk over: gevraagd of hij de samples zelf heeft onderzocht, antwoordt hij “I did not but FrenchBreaches did”. Die Franse lekkensite, voor zover bekend de enige partij die de samples heeft opengehad, publiceerde op 17 september om 03:26 wat ze wel zagen. Op 16 september zette iemand onder de naam mrwho een advertentie op een cybercrimeforum: “Selling mistral.ai Source Code”. Bijgeleverd was een bestandsboom van 339 bestanden, met namen als mistral-inference-private, mistral-finetune-internal, vllm-internal, sre-kubernetes-tools en tailscale-gitops. Eén sample konden ze openen: webstral, een werkend prototype van een browseragent die pagina’s leest, knoppen aanklikt en formulieren invult, draaiend op het model devstral-medium-2507.
Geen modelgewichten dus. Geen klantendatabase ook: FrenchBreaches schrijft expliciet dat er in de onderzochte samples geen bestand met persoonsgegevens van Mistral-gebruikers zat. En in de webstral-code stond geen werkende API-sleutel van Mistral zelf; de gebruiker vult zijn eigen sleutel in. Wat er ligt is broncode en technische informatie, en dat is erg genoeg, maar het is iets anders dan wat er vanavond rondgaat.
Vier bestandsnamen die in mei ook al te koop stonden
Hier wordt het interessant, en dit is het stuk dat op X vrijwel niemand maakt. De verkoper zegt zelf dat Mistral “in mei en nu opnieuw” is gecompromitteerd. Die mei-hack is echt gebeurd en goed gedocumenteerd. Op 12 mei raakte Mistral besmet via de Mini Shai-Hulud-aanval op het externe pakket TanStack, en de groep TeamPCP bood daarna bijna 450 repositories aan voor 25.000 dollar, met de mededeling dat ze alles gratis zouden lekken als er binnen een week geen koper was.
Leg de twee advertenties naast elkaar. In de mei-lijst staan mistral-inference-private.tar.gz, mistral-inference-internal.tar.gz, mistral-finetune-internal.tar.gz en mistral-common-internal.tar.gz. Alle vier staan ze ook in de lijst van deze week. De projecten rond finance, KYC, juridisch werk en klantenservice die FrenchBreaches nu noemt, stonden in mei al met naam en toenaam in de advertentie: kyc-doc-agent.tar.gz, mistral-lawyer-internal.tar.gz, mistral_finance_agent.tar.gz, cma-customer-care-internal.tar.gz. En er is nog een detail: 26 augustus arresteerde de Australische federale politie twee mannen van 21 en 23 in Cottesloe en Mandurah, die volgens justitie bij TeamPCP hoorden. Veertien aanklachten, in totaal minstens 300 gigabyte gestolen data en een half miljoen credentials.
Ons oordeel: dit ruikt sterk naar de buit van mei die na de arrestaties opnieuw in de verkoop gaat, niet naar een verse inbraak. FrenchBreaches zegt het zelf voorzichtiger maar wel duidelijk: de samples bewijzen dat iemand Mistral-code heeft, ze bewijzen niet dat er in september opnieuw is binnengekomen. Om dat aan te tonen zou je een bestand of een commit van ná mei moeten laten zien. Dat is niet gebeurd.
Zes repo-namen die in mei niet in de lijst stonden
Want er klopt iets niet aan onze eigen redenering. Als dit gewoon de mei-buit is, waarom staan er dan repo-namen in die in mei niet in de lijst stonden? vllm-internal, client-python-private, research-sysadmin, gpu-dashboard, tailscale-gitops, platform-docs: die komen in de meilijst van FrenchBreaches niet voor. Nu was die meilijst maar een greep uit 450 repositories, dus dat bewijst niets. Maar het betekent wel dat wij ook niet kunnen uitsluiten dat er nieuw materiaal bij zit. En de webstral-agent past ongemakkelijk goed bij een bedrijf dat op 16 september, dezelfde dag als de advertentie, een browserpartnerschap met Mozilla aankondigde. Toeval kan, maar we noemen het geen toeval tot iemand de datums in die code heeft gezien.
Mistral zelf zweeg tot vrijdagochtend. Wat er toen kwam is één post op X (zie de update bovenaan), en op de eigen advisory-lijst staat nog steeds niets over deze claim. Dat die lijst niet stilstaat maakt het opvallender: op 14 september kwam er nog MAI-2026-003 bij, over shell-permissies in Mistral Vibe. Wel een melding over dat, niets over dit. De meihack staat er als MAI-2026-002, gepubliceerd op 12 mei, bijgewerkt op 14 mei, status “investigation closed”. In mei lieten ze aan BleepingComputer weten dat noch de gehoste diensten, noch klantdata, noch de onderzoeksomgevingen geraakt waren, en dat de gestolen data niet uit de kern-repositories kwam. Dat is een stevige uitspraak om te herhalen als er nu weer iets ligt. Eén post op X is beter dan stilte, maar het blijft het dunste antwoord dat een bedrijf van deze omvang kan geven: geen advisory zoals in mei, geen woord over waar die 339 bestanden dan vandaan komen.
Hoe herken je dit patroon de volgende keer, binnen vijf minuten?
De human firewall gaat meestal over mails en telefoontjes, maar dit is dezelfde spier. Een gerucht dat zich opblaast werkt als social engineering op schaal: het speelt in op urgentie, op de behoefte om er als eerste bij te zijn, en op de aanname dat iemand met veel volgers het wel zal hebben nagekeken. Bij soorten phishing leren we mensen om de afzender te checken voor ze klikken. Bij nieuws is de check dezelfde: wie heeft de bestanden zelf gezien?
Drie vragen die hier alles hadden opgelost. Eén: is dit een vraag of een bevinding? De lijst van vier categorieën was letterlijk een vraag aan de verkoper. Twee: wie heeft het origineel opengemaakt? In dit geval één partij, en die zegt nadrukkelijk iets zwakkers dan de doorvertelling. Drie: wat zegt het bedrijf zelf, en waar staat dat normaal? Bij Mistral hoort dat op docs.mistral.ai onder security advisories, en daar staat nog steeds niets nieuws. De reactie van vrijdagochtend staat alleen op X, en dat is precies een trede lager dan het eigen kanaal.
Weet jij welke sleutel van welke leverancier waar staat?
Werk je met een AI-leverancier, dan is de vraag vandaag niet of Mistral gehackt is. De vraag is of jij binnen een uur kunt zeggen wélke sleutels van welke leverancier waar in jouw omgeving staan. Pak één leverancier, zoek de sleutel op, en kijk wanneer hij voor het laatst is vervangen. Staat daar een datum van meer dan een jaar geleden, of weet je het niet, dan heb je vanavond je eigenlijke probleem gevonden en heeft dat niets met Parijs te maken. De firewall test doet hetzelfde voor je mensen; dit doet het voor je koppelingen.
Het moment dat er echt iets te zeggen valt, komt zodra iemand een bestand uit die 339 laat zien met een datum van na 12 mei. Ook na de ontkenning van vanmorgen ligt dat bestand er nog niet, van geen van beide kanten. Gebeurt dat niet, dan is dit een oude buit met een nieuwe verkoper, en dan is de enige die er vandaag iets aan verdiend heeft de man die het als eerste tweette. In de briefing houden we bij welke kant het op gaat.
Zelf een situatie die niet vertrouwd voelt?
Beschrijf wat er gebeurde of waar je over twijfelt, dan denkt Rik mee over de juiste reactie.