Securitystart-up Strix was op zoek naar een AI-inferencing-oplossing en stuitte op Baseten. Uit voorzorg scande Strix Baseten op mogelijke kwetsbaarheden. Binnen 25 minuten dook er een actief GitHub-token met admin-rechten op. De token zelf was al meer dan drie jaar oud.
Strix volgde zijn bedrijfsbeleid door potentiële vendoren te scannen alvorens hun gegevens, modellen of code over te dragen. Het team richtte zijn securityagent op *.baseten.co zonder enige extra hulp of context. Een persoonlijk toegangstoken van het ‘basetenbot’-account verscheen al gauw. Alex Schapiro, medeoprichter van Strix, merkt op dat het token admin- en push-rechten bevatte voor de product-repository van Baseten, de GitOps-repo die de clusters aanstuurt, en de Homebrew-tap. Daarnaast werd lees- en schrijftoegang gevonden tot verschillende privé-repositories, waaronder klantspecifieke.
Baseten is een AI-neocloud, ofwel een infrastructuuraanbieder voor inferencing-workloads, vergelijkbaar met bedrijven als CoreWeave, Nebius en Nscale. Een recent rapport van SemiAnalysis stelde vast dat de meeste van dergelijke neoclouds slecht scoren op het gebied van beveiliging, wat potentiële klanten alle reden geeft om het voorbeeld van Strix te volgen en voorzichtig te werk te gaan voordat men overweegt gegevens over te dragen. Baseten, met een waarde van 13 miljard dollar en actief in meerdere regio’s, kwam bij deze snelle controle vlug in de problemen.
Van openbaar register naar buildgeschiedenis
De door Strix ingezette agent begon met het inventariseren van hosts, het controleren van certificaatlogs en het in kaart brengen van de aanvalsdienst. Uiteindelijk kwam hij terecht bij een Harbor-containerregister op een subdomein van Baseten. In het verlengde van deze verkenningsfase vond de agent een openbaar project dat anonieme pull-tokens en downloads van image-manifesten en blobs toestond.
Een eerste paar AWS-sleutels in de ‘baseten-app’-image bleek niet meer te werken. Terwijl de agent echter verder zocht, voerde hij TruffleHog uit over de verschillende lagen en inspecteerde vervolgens de image-configuratie zelf. Het token bevond zich in het veld history[].created_by, waar Docker vastlegt hoe een bouwstap tot stand is gekomen. In dit geval werd een RUN-commando gevonden waarin de waarde GITHUB_TOKEN was ingevuld. Strix gebruikte dit voor een alleen-lezen verzoek en, zoals Schapiro het verwoordt: “VOILÀ.” Toegang tot klantgegevens en de mogelijkheid om de repository te vergiftigen behoorden tot de opties voor kwaadwillenden.
Baseten verving het token binnen een dag
Schapiro meldde de bevinding op 13 juli; de volgende ochtend ondernam Baseten actie. Het maakte het Harbor-project privé, bevestigde de overige problemen en verving het token. Op 17 juli waren alle gesignaleerde securityfouten verholpen.
Neocloud had uiteindelijk geluk dat een potentiële klant in feite onbewust een redteaming-operatie uitvoerde. Mocht het gebruik van dergelijke neoclouds bij kritieke organisaties toenemen, dan is te verwachten dat er meer slordige praktijken zullen worden uitgebuit en dat deze infrastructuuraanbieders zullen leren wat er nodig is om op schaal veilige clouddiensten aan te bieden. Baseten heeft in ieder geval snel het roer omgegooid, wat een goed teken is.