{"id":164228,"date":"2026-03-05T23:27:35","date_gmt":"2026-03-05T21:27:35","guid":{"rendered":"https:\/\/jfrog.com\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/"},"modified":"2026-03-17T14:11:55","modified_gmt":"2026-03-17T12:11:55","slug":"jfrog-ai-bot-stopped-shai-hulud-3","status":"publish","type":"post","link":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/","title":{"rendered":"Wie der JFrog AI-Research-Bot Open-Source-Software-CI\/CD-Schwachstellen fand und Shai Hulud 3.0 verhinderte."},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignnone wp-image-163737 size-full\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195516\/Weaponizing-AI-863-x-300.png\" alt=\"Weaponizing AI 863 x 300\" width=\"863\" height=\"300\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195516\/Weaponizing-AI-863-x-300.png?speedsize=w_863 863w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195516\/Weaponizing-AI-863-x-300.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195516\/Weaponizing-AI-863-x-300.png?speedsize=w_768 768w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/p>\n<p>Vorf\u00e4lle in j\u00fcngster Zeit haben bewiesen, dass Continuous-Integration-(CI)-Workflows das neue Angriffsfeld auf die Software\u2011Lieferkette sind. Sicherheitsfallen in GitHub-Actions-Workflows \u2013 etwa die unbereinigte Nutzung von Pull-Request-(PR)-Daten \u2013 k\u00f6nnen es Angreifern erm\u00f6glichen, w\u00e4hrend CI-Runs b\u00f6sartigen Code auszuf\u00fchren \u2013 mit verheerenden Folgen.<\/p>\n<p>So wurde der aufsehenerregende <a href=\"https:\/\/nx.dev\/blog\/s1ngularity-postmortem\">\u201eS1ngularity\u201c-Angriff auf das Nx\u2011Projekt<\/a>, der im August 2025 zum Diebstahl\u00a0 von 83.000 Secrets f\u00fchrte, genau auf diesen Fehlertyp zur\u00fcckgef\u00fchrt: ein Workflow, der Code-Injection \u00fcber einen unbereinigten PR\u2011Titel erlaubte, kombiniert mit den weitreichenden Rechten des pull_request_target\u2011Triggers. Dadurch konnten Angreifer npm\u2011Publishing\u2011Tokens aus dem Workflow stehlen und trojanisierte Pakete ver\u00f6ffentlichen. Ein darauffolgender Angriff mit dem <a href=\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\">\u201eShai\u2011Hulud\u201c-Wurm<\/a>, missbrauchte in \u00e4hnlicher Weise CI\u2011Pipelines, um Secrets aus Hunderten von Repositories zu exfiltrieren, und l\u00f6ste in einigen Varianten sogar einen \u201e<a href=\"https:\/\/en.wikipedia.org\/wiki\/Dead_man%27s_switch\">Dead Man\u2019s Switch<\/a>\u201c-Wiper aus. Diese F\u00e4lle unterstreichen das enorme Risiko: <b>Wenn ein Angreifer Code in der CI eines Projekts mit Write\u2011Access\u2011Tokens ausf\u00fchren kann, kann er die gesamte Lieferkette kompromittieren.<\/b><\/p>\n<p>Die Herausforderung besteht nicht darin, das Risiko zu verstehen, sondern diese Workflow\u2011Fehler in gro\u00dfem Ma\u00dfstab zu finden, bevor sie ausgenutzt werden. Deshalb hat JFrog <b>RepoHunter<\/b> entwickelt \u2013 einen KI\u2011gest\u00fctzten Security\u2011Research\u2011Bot, der CI\/CD\u2011Exploitation\u2011Muster (\u201ePwn Requests\u201c) im Open\u2011Source\u2011Umfeld proaktiv erkennt, lange bevor daraus die n\u00e4chste Shai\u2011Hulud\u2011artige Kampagne wird.<\/p>\n<p>In den vergangenen drei Monaten hat JFrog RepoHunter eingesetzt, um CI\/CD\u2011Schwachstellen proaktiv zu identifizieren und Maintainer in Open\u2011Source\u2011Repositories verantwortungsvoll zu informieren. K\u00fcrzlich starteten Angreifer mit dem Bot <b>hackerbot-claw<\/b> eine b\u00f6sartige Kampagne und <a href=\"https:\/\/www.stepsecurity.io\/blog\/hackerbot-claw-github-actions-exploitation\">\u00fcbernahmen sieben Repositories<\/a> von Microsoft, DataDog, der CNCF und popul\u00e4ren Open\u2011Source\u2011Projekten wie Trivy. Der Angriff nutzte \u00e4hnliche KI\u2011gest\u00fctzte Techniken wie RepoHunter und zeigt, wie dieselbe Technologie von Angreifern gegen die Open\u2011Source\u2011Lieferkette eingesetzt werden kann.<\/p>\n<p>In diesem Beitrag stellen wir 13 F\u00e4lle vor, die Maintainer nach JFrogs verantwortungsvoller Offenlegung behoben haben. Sie zeigen echte \u201ePwn\u2011Request\u201c-Szenarien, in denen nicht vertrauensw\u00fcrdige PR\u2011Metadaten, Branch\u2011Namen oder von Angreifern kontrollierte Skripte zur Ausf\u00fchrung von Remote Code in GitHub\u2011CI\u2011Pipelines f\u00fchren. Die Auswirkungen gehen \u00fcber Code\u2011Repositories hinaus und bedrohen globale Finanzsysteme, kritische KI\u2011Infrastruktur, mobile und eingebettete Ger\u00e4te, wissenschaftliche Publikationsplattformen, JavaScript\u2011Sprachstandards sowie Netzwerkinfrastruktur, auf die Milliarden von Nutzern weltweit angewiesen sind.<\/p>\n<p>JFrog plant, einen umfangreichen Folgeartikel zu ver\u00f6ffentlichen, der erl\u00e4utert, wie RepoHunter gebaut ist und wie die Ergebnisse validiert werden, sobald die Behebung der Probleme in en betroffenen Projekten abgeschlossen ist.<\/p>\n<h2>Warum CI\/CD das neue Ziel ist<\/h2>\n<p>J\u00fcngste Vorf\u00e4lle haben bewiesen, dass<b> <a href=\"https:\/\/jfrog.com\/de\/learn\/devops\/continuous-integration\/\">Continuous-Integration-(CI)<\/a>-Workflows das neue Schlachtfeld f\u00fcr Angriffe auf die Software\u2011Lieferketten sind. <\/b>Fallstricke in GitHub-Actions-Workflows \u2013 wie die unbereinigte Nutzung von Pull-Request-(PR)-Daten \u2013 k\u00f6nnen es Angreifern erm\u00f6glichen, w\u00e4hrend CI-Runs b\u00f6sartigen Code auszuf\u00fchren \u2013 mit verheerenden Folgen.<\/p>\n<p>Die <a href=\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\">\u201eShai Hulud\u201c-Angriffe<\/a> markierten einen Wendepunkt f\u00fcr das JavaScript\u2011\u00d6kosystem. Durch die \u00dcbernahme langlebiger, statischer npm\u2011Tokens produktiver Maintainer konnten Angreifer b\u00f6sartige Payloads in weit verbreitete Pakete einschleusen und das npm\u2011Registry de facto in einen Distributionskanal f\u00fcr Malware verwandeln.<\/p>\n<h3>Problem: die Fragilit\u00e4t von Secrets<\/h3>\n<p>Die meisten npm\u2011Entwickler verlassen sich weiterhin auf statische npm\u2011Tokens, die in GitHub\u2011Actions\u2011Secrets oder lokalen Umgebungsvariablen gespeichert werden. Das f\u00fchrt zu zwei zentralen Schwachstellen:<\/p>\n<ul>\n<li aria-level=\"1\"><b>Persistenz<\/b>: Wenn ein Token geleakt wird, bleibt es unbegrenzt g\u00fcltig (oder bis zum manuellen Widerruf) \u2013 eine dauerhafte Hintert\u00fcr f\u00fcr Angreifer.<\/li>\n<li aria-level=\"1\"><b>Umfang<\/b>: Diese Tokens haben oft keine granularen Berechtigungen. Ein kompromittiertes Secret kann so ein ganzes Portfolio an Paketen gef\u00e4hrden.<\/li>\n<\/ul>\n<h3>NPM-L\u00f6sung: Trusted Publishing<\/h3>\n<p>Als Reaktion auf die Shai\u2011Hulud\u2011Folgen hat <a href=\"https:\/\/github.blog\/security\/supply-chain-security\/our-plan-for-a-more-secure-npm-supply-chain\">npm Trusted Publishing eingef\u00fchrt<\/a>. Dieses Modell verabschiedet sich von statischen, langlebigen Secrets zugunsten kurzlebiger, identit\u00e4tsbasierter Authentifizierung.<\/p>\n<p>Statt ein Passwort oder Token zu speichern, definieren Sie eine Vertrauensbeziehung zwischen npm und Ihrem CI\/CD\u2011Provider (z.\u202fB. GitHub Actions).<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-163751 size-full\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200141\/JFrogs-AI-Research-Bot-image10.png\" alt=\"JFrog\u2019s AI-Research Bot - image10\" width=\"1280\" height=\"580\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200141\/JFrogs-AI-Research-Bot-image10.png?speedsize=w_1280 1280w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200141\/JFrogs-AI-Research-Bot-image10.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200141\/JFrogs-AI-Research-Bot-image10.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200141\/JFrogs-AI-Research-Bot-image10.png?speedsize=w_768 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/p>\n<p>Mit Trusted Publishing gibt es kein statisches Secret mehr, das Angreifer stehlen k\u00f6nnen, und die Vertrauensbasis wurde auf CI\/CD verlagert.<\/p>\n<p>Das wirft die Frage auf: <strong>Ist CI\/CD eine unfehlbare Vertrauensbasis?<\/strong><\/p>\n<h2>Was ist ein \u201ePwn Request\u201c\/GitHub-Actions-CI\u2011Takeover?<\/h2>\n<p>Ein \u201ePwn Request\u201c, also eine CI\u2011\u00dcbernahme via Pull Request, ist eine Klasse von Schwachstellen, bei der:<\/p>\n<ol>\n<li aria-level=\"1\">ein Angreifer einen Pull Request \u00f6ffnet (oder per Kommentar\/Label einen Workflow triggert) \u2013 aus einem Fork oder Branch, den er kontrolliert;<\/li>\n<li aria-level=\"1\">der GitHub\u2011Actions\u2011Workflow des Projekts in einem privilegierten Kontext l\u00e4uft (z.\u202fB. Berechtigungen des Basis\u2011Repositories, Zugriff auf Secrets, hoch privilegiertes <code>GITHUB_TOKEN<\/code>);<\/li>\n<li aria-level=\"1\">angreifergesteuerter Input in diesem Kontext ausgef\u00fchrt wird (z.\u202fB. PR\u2011Branch\u2011Code, PR\u2011Titel\/\u2011Body, Branch\u2011Name oder Konfiguration, die Shell\u2011Befehle ausf\u00fchrt);<\/li>\n<li aria-level=\"1\">der Runner den Code des Angreifers mit denselben Rechten und Secrets wie der Workflow ausf\u00fchrt, was zu Remote Code Execution (RCE) in der CI f\u00fchrt;<\/li>\n<li aria-level=\"1\">und Angreifer anschlie\u00dfend Tokens und Secrets exfiltrieren, Code pushen, Workflows \u00e4ndern, Pakete ver\u00f6ffentlichen oder sich lateral in der Organisation bewegen k\u00f6nnen.<\/li>\n<\/ol>\n<p><img decoding=\"async\" class=\"alignnone wp-image-163746 size-full\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200115\/JFrogs-AI-Research-Bot-image5.png\" alt=\"JFrog\u2019s AI-Research Bot - image5\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200115\/JFrogs-AI-Research-Bot-image5.png?speedsize=w_1536 1536w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200115\/JFrogs-AI-Research-Bot-image5.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200115\/JFrogs-AI-Research-Bot-image5.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200115\/JFrogs-AI-Research-Bot-image5.png?speedsize=w_768 768w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p>Der Begriff \u201ePwn Request\u201c wurde durch die GitHub\u2011Security\u2011Lab\u2011Guidance von 2021 popularisiert: \u201e<a href=\"https:\/\/securitylab.github.com\/resources\/github-actions-preventing-pwn-requests\/\">Preventing pwn requests<\/a>\u201c. Die Idee: Ein scheinbar \u201enormaler\u201c Pull Request kann das CI\u2011System eines Repositories \u201epwnen\u201c und damit oft auch das Repo \u2013 und nicht selten die gesamte Organisation.<\/p>\n<h2>RepoHunter: CI\u2011\u00dcbernahmen aufsp\u00fcren, bevor sie skalieren<\/h2>\n<h3>Innovation absichern \u2013 mit innovativer Security<\/h3>\n<p>RepoHunter ist ein KI\u2011gest\u00fctzter Security\u2011Research\u2011Bot von JFrog, der die RIsiken f\u00fcr CI\/CD\u2011\u00dcbernahme\u00a0 in Open\u2011Source\u2011\u00d6kosystemen proaktiv identifiziert.<\/p>\n<p>Das Ziel ist klar: <b>Workflow-Fehlkonfigurationen erkennen, die es nicht vertrauensw\u00fcrdigen Contributors erlauben, Code in privilegierten CI\u2011Kontexten auszuf\u00fchren \u2013 bevor Angreifer diese operationalisieren k\u00f6nnen.<\/b><\/p>\n<p>In einer aktuellen Forschungsserie identifizierte RepoHunter mehrere CI\/CD\u2011Takeover\u2011Schwachstellen in weit verbreiteten Open\u2011Source\u2011Projekten \u2013 darunter Automatisierungsplattformen f\u00fcr Unternehmen, Programmiersprachen\u2011Toolchains, Entwickler-Infrastruktur und KI\u2011Frameworks.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-163750 size-full aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200136\/JFrogs-AI-Research-Bot-image9.png\" alt=\"JFrog\u2019s AI-Research Bot - image9\" width=\"1999\" height=\"1735\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200136\/JFrogs-AI-Research-Bot-image9.png?speedsize=w_1999 1999w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200136\/JFrogs-AI-Research-Bot-image9.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200136\/JFrogs-AI-Research-Bot-image9.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200136\/JFrogs-AI-Research-Bot-image9.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200136\/JFrogs-AI-Research-Bot-image9.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><i>RepoHunter\u2011Dashboard mit Beispielen von Befunden<\/i><\/p>\n<h3>Wie arbeitet RepoHunter?<\/h3>\n<p>RepoHunter automatisiert die Schwachstellen\u2011Detektion mit einer praxisorientierten Defense\u2011Pipeline:<\/p>\n<ol>\n<li aria-level=\"1\"><b>Erfassung<\/b>: Public Repositories und deren CI\/CD\u2011Konfigurationen crawlen, um die exponierte Angriffsfl\u00e4che zu verstehen.<\/li>\n<li aria-level=\"1\"><b>Identifizierung<\/b>: Verwundbare Workflow\u2011Muster erkennen, in denen nicht vertrauensw\u00fcrdiger Input auf erh\u00f6hte Berechtigungen oder Secret\u2011Zugriff trifft.<\/li>\n<li aria-level=\"1\"><b>Validierung<\/b>: Ausnutzbarkeit mit KI validieren und realistische Exploitation\u2011Szenarien f\u00fcr die manuelle Ausf\u00fchrung generieren.<\/li>\n<li aria-level=\"1\"><b>Offenlegung<\/b>: Detaillierte Schwachstellen\u2011Reports mit Evidenz und konkreten Hinweisen zur Behebung erstellen.<\/li>\n<\/ol>\n<p><img decoding=\"async\" class=\"wp-image-163752 aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200148\/JFrogs-AI-Research-Bot-image11.png\" alt=\"JFrog\u2019s AI-Research Bot - image11\" width=\"697\" height=\"697\" data-wp-editing=\"1\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200148\/JFrogs-AI-Research-Bot-image11.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200148\/JFrogs-AI-Research-Bot-image11.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200148\/JFrogs-AI-Research-Bot-image11.png?speedsize=w_150,h_150 150w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200148\/JFrogs-AI-Research-Bot-image11.png?speedsize=w_768 768w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/p>\n<p>Um zu verstehen, was verhindert wurde, ist es wichtig, die gesamte Angriffskette zu kennen, die RepoHunter erkennen soll.<\/p>\n<h2>Vier Phasen eines CI\u2011Supply\u2011Chain\u2011Angriffs<\/h2>\n<p>Ein CI\u2011Supply\u2011Chain\u2011Angriff verl\u00e4uft in vier Phasen:<\/p>\n<ol>\n<li aria-level=\"1\"><b>Exposure<\/b>: Fehlkonfigurationen im Workflow schaffen ein Takeover\u2011Primitive.<\/li>\n<li aria-level=\"1\"><b>Ausf\u00fchrung<\/b>: Durch vom Angreifer kontrollierte Eingaben wird die Ausf\u00fchrung von Code in CI erreicht.<\/li>\n<li aria-level=\"1\"><b>Harvesting<\/b>: Credentials werden aus der Workflow\u2011Umgebung extrahiert.<\/li>\n<li aria-level=\"1\"><b>Propagation<\/b>: Gestohlene Credentials werden genutzt, um Repositories, Registries und Infrastruktur zu kompromittieren.<\/li>\n<\/ol>\n<h3>Phase Eins: Exposure<\/h3>\n<h4>Wie CI\u2011Fehlkonfigurationen zu Einstiegspunkten in die Lieferkette werden<\/h4>\n<p>\u00dcbergreifend \u00fcber Repositories haben wir ein gef\u00e4hrliches Muster wiederholt beobachtet: Workflows, die durch angreifergesteuerte Events getriggert werden, angreiferseitigen Input verwenden und mit Repository\u2011weiten Privilegien laufen.<\/p>\n<p>Der h\u00e4ufigste und gef\u00e4hrlichste Trigger war <code>pull_request_target<\/code>. Auf den ersten Blick \u00e4hnelt <code>pull_request_target<\/code> dem Trigger <code>pull_request<\/code>. Der Unterschied ist subtil, aber kritisch.<\/p>\n<ul>\n<li aria-level=\"1\"><code>pull_request<\/code> l\u00e4uft im Kontext des Forks, der die \u00c4nderung eingereicht hat.<\/li>\n<li aria-level=\"1\"><code>pull_request_target<\/code> l\u00e4uft im Kontext des Basis\u2011Repositories.<\/li>\n<\/ul>\n<p>Das bedeutet: <code>pull_request_target<\/code>-Workflows erben:<\/p>\n<ul>\n<li aria-level=\"1\">Repository\u2011Secrets<\/li>\n<li aria-level=\"1\">Repository\u2011weite GITHUB_TOKEN-Berechtigungen<\/li>\n<li aria-level=\"1\">Schreibzugriff, falls konfiguriert<\/li>\n<\/ul>\n<p>Das erm\u00f6glicht Maintainern, privilegierte Automatisierung als Reaktion auf Pull Requests auszuf\u00fchren; Fehlkonfigurationen erlauben es jedoch nicht vertrauensw\u00fcrdigen Contributors, diese privilegierte Ausf\u00fchrung zu beeinflussen.<\/p>\n<p>Ein weiterer verbreiteter Irrtum betrifft Approval\u2011Einstellungen. Viele Maintainer aktivieren \u201eRequire approval for external contributors\u201c und glauben, dadurch gesch\u00fctzt zu sein. Zwar gilt das f\u00fcr <code>pull_request<\/code>, verhindert aber keine sofortige Ausf\u00fchrung bei:<\/p>\n<ul>\n<li aria-level=\"1\"><code>pull_request_target<\/code><\/li>\n<li aria-level=\"1\"><code>issue_comment<\/code><\/li>\n<li aria-level=\"1\"><code>workflow_run<\/code><\/li>\n<\/ul>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter wp-image-163744 \" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200100\/JFrogs-AI-Research-Bot-image3-1024x270.png\" alt=\"JFrog\u2019s AI-Research Bot - image3\" width=\"632\" height=\"167\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200100\/JFrogs-AI-Research-Bot-image3.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200100\/JFrogs-AI-Research-Bot-image3.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200100\/JFrogs-AI-Research-Bot-image3.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200100\/JFrogs-AI-Research-Bot-image3.png?speedsize=w_1536 1536w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200100\/JFrogs-AI-Research-Bot-image3.png?speedsize=w_1886 1886w\" sizes=\"(max-width: 632px) 100vw, 632px\" \/><br \/>\n<a href=\"https:\/\/docs.github.com\/en\/repositories\/managing-your-repositorys-settings-and-features\/enabling-features-for-your-repository\/managing-github-actions-settings-for-a-repository\"><i><span style=\"font-weight: 400;\">Github Workflow Approval Documentation<\/span><\/i><\/a><\/p>\n<p>Die Automatisierung von RepoHunter erkennt Muster \u00fcber all diese Trigger hinweg und erm\u00f6glicht es, Schwachstellen anzumerken, bevor sie ausgenutzt werden. Details zu konkreten Schwachstellen in <code>issue_comment<\/code> und <code>workflow_run<\/code> folgen in k\u00fcnftigen Blogartikeln.<\/p>\n<p>Weitere strukturelle Aspekte versch\u00e4rfen das Risiko:<\/p>\n<ul>\n<li aria-level=\"1\"><b>Berechtigungsvererbung<\/b><br \/>\nWorkflows ohne explizite Blockierung von Berechtigungen erben Repository\u2011Defaults. Viele Repos haben historisch \u201eRead and write\u201c als Default gesetzt \u2013 damit erh\u00e4lt jeder Workflow implizit Schreibzugriff.<\/li>\n<li aria-level=\"1\"><b>Credential\u2011Persistenz<\/b><br \/>\nStandardm\u00e4\u00dfig nutzt actions\/checkout persist-credentials: true und schreibt das aktive <code>GITHUB_TOKEN<\/code> in <code>.git\/config<\/code>. Das ist ein bekanntes <a href=\"https:\/\/github.com\/actions\/checkout\/issues\/485\">Issue<\/a> der GitHub\u2011Checkout\u2011Action; ein Angreifer mit Code\u2011Ausf\u00fchrung kann dieses Token au\u00dferhalb des Job\u2011Kontexts (solange der Job aktiv ist) extrahieren und wiederverwenden \u2013 oft ohne Wissen der Maintainer.<\/li>\n<li aria-level=\"1\"><b>\u201eTest\u2011Repository\u201c-Falle<\/b><br \/>\nWenig sichtbare Repositories mit Labels wie \u201etest\u201c, \u201esandbox\u201c oder \u201eexperimental\u201c speichern h\u00e4ufig Organisation\u2011Secrets, Publishing\u2011Rechte f\u00fcr Pakete oder Cloud\u2011Credentials. Die Kompromittierung eines solchen Repos kann die gesamte Organisation kompromittieren.<\/li>\n<\/ul>\n<p>Diese Fehlkonfigurationen bilden die exponierte Schicht. Ist sie vorhanden, wird die Ausnutzung einfach.<\/p>\n<h3>Phase Zwei: Ausf\u00fchrung<\/h3>\n<h4>Drei wiederkehrende Muster in der CI-Exploitation<\/h4>\n<p>\u00dcber alle von RepoHunter identifizierten Schwachstellen hinweg folgte die Ausnutzung drei konsistenten Mustern. Jedes dieser Muster wird in dedizierten technischen Writeups unten ausf\u00fchrlich behandelt \u2013 inklusive vollst\u00e4ndiger PoCs der gefundenen Schwachstellen.<\/p>\n<ol>\n<li><a href=\"https:\/\/research.jfrog.com\/post\/part-1-pull-request-target-exploitation\">Test\u2011basierte Ausf\u00fchrung<\/a><\/li>\n<\/ol>\n<p>Der Workflow checkt den PR\u2011Head aus und f\u00fchrt Test\u2011Code oder Skripte aus, die der Angreifer kontrolliert \u2013 als Teil des Test\u2011CI\u2011Prozesses.<\/p>\n<ol start=\"2\">\n<li><a href=\"https:\/\/research.jfrog.com\/post\/part-2-pull-request-target-exploitation\">Build\u2011Skripts und Installer\u2011basierte Ausf\u00fchrung<\/a><\/li>\n<\/ol>\n<p>Der Workflow checkt den PR\u2011Head aus und f\u00fchrt Build\u2011Skripte aus, die der Angreifer kontrolliert (npm, make, Gradle, cargo, Python usw.) \u2013 als Teil des Build\u2011CI\u2011Prozesses.<\/p>\n<ol start=\"3\">\n<li><a href=\"https:\/\/research.jfrog.com\/post\/part-3-pull-request-target-exploitation\">Branch\u2011 und Config\u2011Injection<\/a><\/li>\n<\/ol>\n<p>Ohne korrektes Escaping\/Sanitizing kann ein b\u00f6sartiger Branch\u2011Name oder eine vom Angreifer kontrollierte Config\u2011Datei beliebige Command\u2011Injection ausl\u00f6sen \u2013 im Workflow\u2011Skript oder in anderen Tools.<\/p>\n<h3>Phase Drei: Harvesting<\/h3>\n<h4>Was Angreifer nach der CI\u2011Kompromittierung extrahieren<\/h4>\n<p>Sobald ein Angreifer Remote Code Execution in einem privilegierten CI\u2011Workflow erreicht, folgt das Credential\u2011Harvesting.<\/p>\n<p>In der Praxis bedeutet das die systematische Suche nach Secrets in der Umgebung:<\/p>\n<ul>\n<li aria-level=\"1\">Erstes Ziel ist das <code>GITHUB_TOKEN<\/code>. Falls es Schreib- oder weitergehende Berechtigungen hat, kann es zur Repository\u2011\u00dcbernahme und Workflow\u2011Modifikation genutzt werden.<\/li>\n<li aria-level=\"1\">Personal Access Tokens und private Schl\u00fcssel von GitHub Apps sind noch m\u00e4chtiger. Sie gew\u00e4hren oft organisationsweiten Zugriff und erlauben laterale Bewegung.<\/li>\n<li aria-level=\"1\">Tokens zum Paket\u2011Publishing sind ein weiteres wertvolles Ziel. npm\u2011Tokens, PyPI\u2011Tokens, Cargo\u2011Registry\u2011Tokens und Docker\u2011Hub\u2011Credentials erlauben die Ver\u00f6ffentlichung trojanisierter Versionen weit verbreiteter Komponenten.<\/li>\n<li aria-level=\"1\">Cloud\u2011Credentials liegen oft als Repository\u2011 oder Organisations\u2011Secrets vor. AWS\u2011Access\u2011Keys, GCP\u2011Service\u2011Account\u2011Keys, Azure\u2011Service\u2011Principals oder OIDC\u2011basierte Identity\u2011Federation\u2011Berechtigungen k\u00f6nnen eine CI\u2011Kompromittierung in eine Cloud\u2011Infrastruktur\u2011Kompromittierung verwandeln.<\/li>\n<\/ul>\n<p>In Umgebungen mit self\u2011hosted Runners steigt das Risiko zus\u00e4tzlich. RCE kann dort Instanzrollen, Managed Identities oder Netzwerkzugriff auf interne Systeme erben.<\/p>\n<p>An diesem Punkt hat der Angreifer alles N\u00f6tige, um \u00fcber ein einzelnes Repository hinauszugehen.<\/p>\n<h3>Phase Vier: Propagation<\/h3>\n<h4>Von der Repository\u2011Kompromittierung zu den Auswirkungen auf das \u00d6kosystem<\/h4>\n<p>Credential\u2011Wiederverwendung ist der Multiplikator.<\/p>\n<ul>\n<li aria-level=\"1\">Mit Schreibzugriff auf Repositories k\u00f6nnen Angreifer b\u00f6sartige Workflows injizieren, um Persistenz herzustellen.<\/li>\n<li aria-level=\"1\">Mit Paket\u2011Publishing\u2011Tokens k\u00f6nnen sie trojanisierte Versionen vertrauensw\u00fcrdiger Komponenten ver\u00f6ffentlichen.<\/li>\n<li aria-level=\"1\">Mit Container\u2011Registry\u2011Credentials k\u00f6nnen sie Images ersetzen, die in Production\u2011Deployments genutzt werden.<\/li>\n<\/ul>\n<p>Cloud\u2011Credentials erm\u00f6glichen Manipulation von Storage, Austausch von Artifacts und weitergehenden Infrastrukturzugriff.<\/p>\n<p>Ein einziger unsicherer Workflow kann daher ausufern zu:<\/p>\n<ul>\n<li aria-level=\"1\">organisationsweiter Repository\u2011Kompromittierung<\/li>\n<li aria-level=\"1\">Registry\u2011weiter Paket\u2011Kompromittierung<\/li>\n<li aria-level=\"1\">Infektion von Developer\u2011Umgebungen<\/li>\n<li aria-level=\"1\">Manipulation der Cloud\u2011Infrastruktur<\/li>\n<li aria-level=\"1\">Downstream\u2011CI\u2011Kompromittierung<\/li>\n<\/ul>\n<p>So propagiert ein Lieferketten\u2011Wurm; Automatisierung macht aus Fehlkonfigurationen ein systemisches Risiko.<\/p>\n<h2>RepoHunter CI\\CD Takeover Zusammenfassung<\/h2>\n<table style=\"width: 100%; table-layout: fixed;\">\n<tbody>\n<tr style=\"background-color: #56be3e; color: white;\">\n<th style=\"width: 40%; border: 1px solid black; text-align: center;\">Projekt<\/th>\n<th style=\"width: 20%; border: 1px solid black; text-align: center;\">Schwachstelle &amp; Schweregrad<\/th>\n<th style=\"width: 40%; border: 1px solid black; text-align: center;\">Auswirkung auf die Supply Chain<\/th>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Ansible<\/strong><br \/>\nEnterprise\u2011IT\u2011Automationsplattform, die sowohl von Fortune\u2011500\u2011Unternehmen als auch von Open\u2011Source\u2011Maintainers genutzt wird.<\/td>\n<td><a href=\"https:\/\/jfrog.com\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#ansible:~:text=Vulnerability%20Deep%20Dive%3A%20Ansible%20Platform\">GHSA-fwqj-x86q-prmq<\/a><\/p>\n<p>Kritisch<\/td>\n<td>Die Kompromittierung von Ansible\u2011Plattform\u2011Paketen oder \u2011Modulen k\u00f6nnte es Angreifern erlauben, b\u00f6sartige Automationsskripte einzuschleusen \u2013 mit Auswirkungen auf das Konfigurationsmanagement und Deployment\u2011Pipelines in Tausenden von Unternehmen weltweit.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>P4 language<\/strong><\/p>\n<p>Programmiersprache f\u00fcr Netzwerkswitches. Weit verbreitet in SDN\u2011, Datacenter\u2011 und Networking\u2011Device\u2011Toolchains.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-3-pull-request-target-exploitation\/#p4-development-language-take-over-using-doxygen-rcer\">GHSA-6cw7-hxfh-8&#215;94<\/a><\/p>\n<p>Kritisch<\/td>\n<td>B\u00f6sartige \u00c4nderungen k\u00f6nnten sich in SDN\u2011Umgebungen gro\u00dfer Unternehmen wie <a href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/google-cloud-using-p4runtime-to-build-smart-networks?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noopener\">Google<\/a>, <a href=\"https:\/\/www.sdxcentral.com\/news\/the-p4-language-grows-up-joins-the-onf-and-linux-foundation\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noopener\">AT&amp;T<\/a> und <a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/products\/details\/network-io\/programmable-ethernet-switch.html?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noopener\">Intel<\/a>. ausbreiten und es Angreifern erm\u00f6glichen, Netzwerktraffic zu manipulieren oder kritische Infrastruktur zu st\u00f6ren.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Petgraph<\/strong><br \/>\nBeliebte Rust\u2011Graph\u2011Library f\u00fcr Anwendungen in Algorithmen, Data Science und Networking.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-2-pull-request-target-exploitation\/#petgraphpetgraph--rust-crate-takeover\">Kritisch<\/a><\/td>\n<td>Poisoned versions can affect hundreds of downstream Rust crates and applications, potentially exposing sensitive data, corrupting analytics pipelines, or introducing vulnerabilities in widely used systems.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>QGIS<\/strong><br \/>\nOpen\u2011Source\u2011Geoinformationssystem (GIS), genutzt von Regierungen, Kommunen und Forschungseinrichtungen.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-1-pull-request-target-exploitation\/#from-government-to-corporate-global-gis-infrastructure-at-risk\">CVE-2026-24480<\/a><\/p>\n<p>Kritisch<\/td>\n<td>Kompromittierte QGIS\u2011Releases k\u00f6nnten b\u00f6sartige Skripte in GIS\u2011Workflows einschleusen \u2013 mit Auswirkungen auf kritisches Mapping, Stadtplanung oder Regierungsprojekte auf nationaler oder kommunaler Ebene.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Sdkman<\/strong><br \/>\nWeit verbreiteter Toolchain\u2011Manager f\u00fcr JVM\u2011SDKs.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-1-pull-request-target-exploitation\/#sdkman-cli-developer-toolchain\">GHSA-cprm-c872-3fw7<\/a><\/p>\n<p>Kritisch<\/td>\n<td>Eine Lieferketten\u2011Kompromittierung k\u00f6nnte b\u00f6sartige SDKs oder Skripte verteilen \u2013 mit direkten Folgen f\u00fcr das Java\u2011\u00d6kosystem und potenziellen Schwachstellen in Millionen von Enterprise\u2011 und Open\u2011Source\u2011Applikationen.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>tc39\/proposal-amount<\/strong><\/p>\n<p>Repository f\u00fcr JavaScript\u2011Standardisierungsvorschl\u00e4ge.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-2-pull-request-target-exploitation\/#javascript-standards-repository-compromise\">GHSA-43vf-c68r-43mr<\/a><\/p>\n<p>Kritisch<\/td>\n<td>Die Manipulation von Vorschl\u00e4gen oder Tools k\u00f6nnte Schwachstellen im JavaScript-\u00d6kosystem verursachen, die sich auf Milliarden von Websites und Anwendungen auswirken und zu unsicheren Sprachverhalten in der globalen Entwickler-Community f\u00fchren k\u00f6nnten.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Telepresence<\/strong><br \/>\nCNCF\u2011Open\u2011Source\u2011Tool f\u00fcr Kubernetes\u2011Entwickler, das lokale Entwicklung in Remote\u2011Clustern erm\u00f6glicht.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-2-pull-request-target-exploitation\/#cncf-kubernetes-development-tool-compromise\">GHSA-gc3r-m7gq-495f<\/a><\/p>\n<p>Kritisch<\/td>\n<td>Eine Kompromittierung k\u00f6nnte b\u00f6sartige Binaries oder Container\u2011Images verteilen, Cloud\u2011Native\u2011Entwicklungs\u2011Workflows beeinflussen und Risiken in Enterprise\u2011Kubernetes\u2011Umgebungen einf\u00fchren.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Typst<\/strong><br \/>\nOffizielles Registry f\u00fcr die Typst\u2011Satzsprache.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-1-pull-request-target-exploitation\/#typst-language-ecosystem-at-risk\">GHSA-j5gp-pf74-5pj6<\/a><\/p>\n<p>Kritisch<\/td>\n<td>Kompromittierte Typst\u2011Pakete k\u00f6nnten sich in nachgelagerte Satz\u2011Projekte, akademische Workflows und Enterprise\u2011Dokumentenautomatisierung ausbreiten \u2013 mit Auswirkungen auf Integrit\u00e4t und Verf\u00fcgbarkeit ver\u00f6ffentlichter Inhalte.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Xorbitsai<\/strong><br \/>\nOpen\u2011Source\u2011Framework f\u00fcr AI\u2011Inference und Model\u2011Serving, h\u00e4ufig in LangChain\u2011Sandbox\u2011Umgebungen eingesetzt.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-3-pull-request-target-exploitation\/#ai-model-serving--wide-ai-infrastructures-impact\">Kritisch<\/a><\/td>\n<td>B\u00f6sartige PyPI\u2011Pakete oder Docker\u2011Images k\u00f6nnten KI\u2011Modelle, LangChain\u2011Applikationen oder KI\u2011Services f\u00fcr Unternehmen kompromittieren, sich in nachgelagerte Frameworks ausbreiten und KI\u2011gest\u00fctzte Entscheidungen beeinflussen.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Eclipse-theia<\/strong><\/p>\n<p>Eclipse\u2011Open\u2011Source\u2011Framework f\u00fcr cloudbasierte IDEs.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-1-pull-request-target-exploitation\/#eclipse-theia-ide--organization-at-risk\">CVE-2026-1699<\/a><\/p>\n<p>Kritisch<\/td>\n<td>Eine Kompromittierung k\u00f6nnte b\u00f6sartigen Code in Cloud\u2011 oder Desktop\u2011IDEs injizieren, Entwickler\u2011Umgebungen beeintr\u00e4chtigen und Malware in Enterprise\u2011Projekte oder Open\u2011Source\u2011Repositories einschleusen.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Tencent<\/strong><\/p>\n<p>Mobile\u2011 und Embedded\u2011AI\u2011Inference\u2011Framework.<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-2-pull-request-target-exploitation\/#mobile-ai-infrastructure-at-risk\">GHSA-c44p-qr97-jccv<\/a><\/p>\n<p>Hoch<\/td>\n<td>Ein Lieferketten\u2011Angriff k\u00f6nnte produktive KI\u2011Features in massenhaft eingesetzten Apps wie WeChat (1,4\u202fMrd.+ Nutzer) betreffen und Model\u2011Poisoning oder Data Leakage in Endnutzer\u2011Applikationen verursachen.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Ceph<\/strong><\/p>\n<p>Verteilte Storage\u2011Plattform (Ceph).<\/td>\n<td><a href=\"https:\/\/research.jfrog.com\/post\/part-3-pull-request-target-exploitation\/#distributed-storage-ci--workflow-integrity-at-risk\">GHSA-p433-fp4g-pc2c<\/a><\/p>\n<p>Hoch<\/td>\n<td>B\u00f6sartige \u00c4nderungen k\u00f6nnten sich auf Cloud\u2011Provider, Enterprise\u2011Storage\u2011Deployments oder Downstream\u2011Distributionen ausbreiten \u2013 mit Risiken f\u00fcr Datenintegrit\u00e4t, Verf\u00fcgbarkeit und den Schutz sensibler Informationen.<\/td>\n<\/tr>\n<tr style=\"vertical-align: top;\">\n<td style=\"white-space: normal;\"><strong>Parse-community<\/strong><\/p>\n<p>Open\u2011Source\u2011Backend\u2011as\u2011a\u2011Service\u2011Server.<\/td>\n<td><a href=\"https:\/\/github.com\/parse-community\/parse-server\/security\/advisories\/GHSA-6w8g-mgvv-3fcj\">GHSA-6w8g-mgvv-3fcj<\/a><\/p>\n<p>Medium<\/td>\n<td>Kompromittierte Parse\u2011Server\u2011Pakete k\u00f6nnten Backend\u2011Schwachstellen in zahlreiche Mobile\u2011 und Web\u2011Apps einschleusen, Datenmanipulation, Exfiltration sensibler Informationen oder Betriebsst\u00f6rungen erm\u00f6glichen.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Dieser Blogartikel deckt insgesamt 13 Schwachstellen ab: 10 kritisch, 2 hoch und 1 mittel \u2013 in verschiedenen OSS\u2011Projekten. RepoHunter hat weitere Schwachstellen gefunden, die verantwortungsvoll gemeldet und in anderen GitHub\u2011Repos von Organisationen wie SAP und RedHat behoben wurden.<\/p>\n<h2>Hypothetisches Beispiel: Ein Shai\u2011Hulud\u2011artiger CI\u2011Wurm<\/h2>\n<p>Die in diesem Beitrag genannten F\u00e4lle wurden verantwortungsvoll gemeldet und in den meisten F\u00e4llen behoben. Die potenzielle \u201eKatastrophe\u201c entsteht, wenn Angreifer dieselben Muster zuerst finden und automatisiert \u00fcber \u00d6kosysteme hinweg ausnutzen.<\/p>\n<p><b>Realistischer Dominoeffekt im Stil von Shai\u2011Hulud \u2013 basierend auf den Mechanismen der Eskalation von Privilegien, die wir in mehreren Repositories demonstriert haben.<\/b><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-163747 size-full\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200121\/JFrogs-AI-Research-Bot-image6.png\" alt=\"JFrog\u2019s AI-Research Bot - image6\" width=\"890\" height=\"1024\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200121\/JFrogs-AI-Research-Bot-image6.png?speedsize=w_890 890w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200121\/JFrogs-AI-Research-Bot-image6.png?speedsize=w_261 261w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200121\/JFrogs-AI-Research-Bot-image6.png?speedsize=w_768 768w\" sizes=\"(max-width: 890px) 100vw, 890px\" \/><\/p>\n<h3>Wer betroffen ist (Contributors, Developers, Users)<\/h3>\n<ul>\n<li aria-level=\"1\"><b>Maintainer<\/b>: Triage\u2011Flut, Notfall\u2011Rotationen, Schl\u00fcssel\u2011Revokation und langfristiger Vertrauensaufbau.<\/li>\n<li aria-level=\"1\"><b>Contributors<\/b>: Ihre PRs\/Issues werden zur Ausf\u00fchrungsoberfl\u00e4che (insbesondere mit <code>issue_comment<\/code>), und ihre Forks werden zur B\u00fchne f\u00fcr Kompromittierungsnarrative.<\/li>\n<li aria-level=\"1\"><b>Entwickler<\/b> ziehen kompromittierte Pakete, Container\u2011Images, CLIs oder Build\u2011Tools in lokale Dev\u2011 sowie CI\u2011Umgebungen.<\/li>\n<li aria-level=\"1\"><b>Endnutzer<\/b> erleben Downstream\u2011Auswirkungen durch kompromittierte Anwendungen, Infrastrukturen oder Services, die auf kompromittierten Komponenten basieren.<\/li>\n<\/ul>\n<h3>Was w\u00e4re, wenn Angreifer die Schwachstellen vor der Aufdeckung durch RepoHunter ausgenutzt h\u00e4tten?<\/h3>\n<p>Diese Schwachstellen wurden in Repositories entdeckt, die im Kern moderner Software\u2011Infrastruktur sitzen: Automatisierung in Firmen, Programmiersprachen\u2011\u00d6kosysteme, Developer\u2011Toolchains, Paket\u2011Registries, AI\u2011Inference\u2011Frameworks und Repositories, die mit k\u00fcnftigen Sprachstandards verbunden sind.<\/p>\n<p>Bei Ausnutzung k\u00f6nnten Angreifer b\u00f6sartigen Code in vertrauensw\u00fcrdige CI\/CD\u2011Pipelines einschleusen, die Build\u2011Artifacts, Pakete, Container und Entwickler\u2011Tools \u00fcber die globale Software\u2011Lieferkette verteilen.<\/p>\n<p>Der Explosionsradius k\u00f6nnte Regierungssysteme, Gro\u00dfunternehmen, Open\u2011Source\u2011Projekte, akademische Forschungsumgebungen, Websites und Cloud\u2011Services umfassen. So betreiben etwa Enterprise\u2011Automatisierungsplattformen wie Ansible Infrastruktur quer durch alle Branchen, P4\u2011Compiler\u2011\u00d6kosysteme befeuern programmierbare Netzwerke gro\u00dfer Tech\u2011Unternehmen, und Developer\u2011Tools wie SDKMAN oder Telepresence laufen direkt auf Millionen von Entwickler\u2011Maschinen und CI\u2011Runnern.<\/p>\n<p>Die Kompromittierung von Distributions\u2011Hubs wie Typst\u2011Paketen oder weit verbreiteten Libraries wie petgraph k\u00f6nnte in Downstream\u2011Abh\u00e4ngigkeiten kaskadieren, die in Websites, SaaS\u2011Plattformen und Forschungstools genutzt werden. Selbst mit der JavaScript\u2011Standardisierung verbundene Repositories (TC39\u2011Proposals) befinden sich upstream von Technologien, die im gesamten Web verwendet werden.<\/p>\n<p>Eine erfolgreiche CI\u2011Kompromittierung in diesen Upstream\u2011Projekten k\u00f6nnte daher b\u00f6sartigen Code \u00fcber gesamte Entwickler\u2011\u00d6kosysteme und Produktionssysteme weltweit verbreiten \u2013 und ein Lieferketten\u2011Ereignis im Ausma\u00df von SolarWinds oder \u201eShai\u2011Hulud\u201c in moderner CI\/CD\u2011Infrastruktur erzeugen.<\/p>\n<h2>Vulnerability Deep Dive: Ansible Platform<\/h2>\n<p>Schwachstelle: GHSA-fwqj-x86q-prmq<\/p>\n<p>Schweregrad: Kritisch<\/p>\n<p>Repository: ansible\/ansible.platform<\/p>\n<h3>Vom Pull Request zur organisationsweiten Kompromittierung<\/h3>\n<p>Ansible ist eine der weltweit am weitesten verbreiteten Open\u2011Source\u2011Automationsplattformen.<\/p>\n<p>Es wird von Unternehmen aller Gr\u00f6\u00dfen und Branchen sowie von Open\u2011Source\u2011Repositories genutzt \u2013 f\u00fcr die Automatisierung der Bereitstellung von Infrastruktur, das Konfigurationsmanagement und die Bereitstellung von Applikationen.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-163748 size-full aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200127\/JFrogs-AI-Research-Bot-image7.png\" alt=\"JFrog\u2019s AI-Research Bot - image7\" width=\"1999\" height=\"1200\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200127\/JFrogs-AI-Research-Bot-image7.png?speedsize=w_1999 1999w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200127\/JFrogs-AI-Research-Bot-image7.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200127\/JFrogs-AI-Research-Bot-image7.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200127\/JFrogs-AI-Research-Bot-image7.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200127\/JFrogs-AI-Research-Bot-image7.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><em>Ansible\u2011Referenzen in Open\u2011Source\u2011Code<\/em><\/p>\n<p><span style=\"font-weight: 400;\">RepoHunter identifizierte im Repository ansible\/ansible.platform einen Workflow, der <code>pull_request_target<\/code> nutzte, nicht vertrauensw\u00fcrdigen Pull\u2011Request\u2011Code auscheckte und innerhalb der Trust\u2011Boundary des Basis\u2011Repositories ausf\u00fchrte.<\/span><\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-163742 size-full aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200050\/JFrogs-AI-Research-Bot-image1.png\" alt=\"JFrog\u2019s AI-Research Bot - image7\" width=\"1706\" height=\"1756\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200050\/JFrogs-AI-Research-Bot-image1.png?speedsize=w_1706 1706w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200050\/JFrogs-AI-Research-Bot-image1.png?speedsize=w_291 291w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200050\/JFrogs-AI-Research-Bot-image1.png?speedsize=w_995 995w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200050\/JFrogs-AI-Research-Bot-image1.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200050\/JFrogs-AI-Research-Bot-image1.png?speedsize=w_1492 1492w\" sizes=\"(max-width: 1706px) 100vw, 1706px\" \/><i>Verwundbarer Ansible\u2011Workflow mit <code>pull_request_target<\/code><\/i><\/p>\n<p><span style=\"font-weight: 400;\">Noch kritischer: W\u00e4hrend der Ausf\u00fchrung wurden zwei sensible Tokens exponiert:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><code>AAP_GATEWAY_REPO_TOKEN<\/code> \u2013 genutzt f\u00fcr bereichs\u00fcbergreifenden Repository\u2011Zugriff und laterale Bewegung.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><code>GITHUB_TOKEN<\/code> \u2013 konfiguriert mit vollem Zugriff auf die Pakete der Ansible\u2011Organisation.<\/span><\/li>\n<\/ul>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-163743 size-full aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200056\/JFrogs-AI-Research-Bot-image2.png\" alt=\"JFrog\u2019s AI-Research Bot - image2\" width=\"1999\" height=\"1273\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200056\/JFrogs-AI-Research-Bot-image2.png?speedsize=w_1999 1999w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200056\/JFrogs-AI-Research-Bot-image2.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200056\/JFrogs-AI-Research-Bot-image2.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200056\/JFrogs-AI-Research-Bot-image2.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200056\/JFrogs-AI-Research-Bot-image2.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><em> GITHUB_TOKEN mit Zugriff auf Ansible\u2011Pakete konfiguriert.<br \/>\n<\/em><\/p>\n<p>Da actions\/checkout Credentials standardm\u00e4\u00dfig persistiert, wurde das aktive <code>GITHUB_TOKEN<\/code> in die git\u2011Konfiguration des Runners geschrieben \u2013 eine Extraktion ist trivial, sobald Code\u2011Ausf\u00fchrung erreicht ist.<\/p>\n<p>Von diesem Zeitpunkt an verlief die Eskalation zielstrebig.<\/p>\n<p>Ein Angreifer k\u00f6nnte b\u00f6sartige Pakete in der Ansible\u2011GitHub\u2011Organisation ver\u00f6ffentlichen, Workflows modifizieren, um Persistenz herzustellen, Build\u2011Artefakte f\u00e4lschen oder Releases manipulieren, um eine laufende Kompromittierung zu verschleiern.<\/p>\n<p><b>Das ist nicht theoretisch, sondern eine realistische Kompromittierung der Lieferkette auf Organisationsebene eines weltweit vertrauensw\u00fcrdigen Automations\u2011\u00d6kosystems.<\/b><\/p>\n<p>Alle Ansible\u2011Nutzer, die Pakete von <a href=\"http:\/\/github.com\/orgs\/ansible\/packages\">github.com\/orgs\/ansible\/packages<\/a> (derzeit Millionen Downloads) ziehen \u2013 sowie andere in der Ansible\u2011Organisation erkannte Secrets \u2013 waren gef\u00e4hrdet.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-163749 size-full aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200131\/JFrogs-AI-Research-Bot-image8.png\" alt=\"JFrog\u2019s AI-Research Bot - image2\" width=\"1839\" height=\"704\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200131\/JFrogs-AI-Research-Bot-image8.png?speedsize=w_1839 1839w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200131\/JFrogs-AI-Research-Bot-image8.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200131\/JFrogs-AI-Research-Bot-image8.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200131\/JFrogs-AI-Research-Bot-image8.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200131\/JFrogs-AI-Research-Bot-image8.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 1839px) 100vw, 1839px\" \/><em>Packages\u2011Seite der Ansible\u2011Organisation mit 29 Paketen und Millionen Downloads<\/em><\/p>\n<p>RepoHunter identifizierte die Schwachstelle, bevor sie in freier Wildbahn ausgenutzt wurde, und sie wurde \u00fcber verantwortungsvolle Offenlegung behoben.<\/p>\n<h3>Was RepoHunter verhindert hat<\/h3>\n<p>Durch die Identifizierung dieser CI-\u00dcbernahme-Schwachstellen vor ihrer \u00f6ffentlichen Ausnutzung verhinderte RepoHunter potenzielle Kompromittierungen in folgenden Bereichen:<\/p>\n<ul>\n<li aria-level=\"1\">Automatisierungs\u00f6kosysteme von Unternehmen<\/li>\n<li aria-level=\"1\">Programmiersprachen\u2011Toolchains<\/li>\n<li aria-level=\"1\">KI\u2011Inferenz\u2011Frameworks<\/li>\n<li aria-level=\"1\">Entwicklerinfrastruktur<\/li>\n<li aria-level=\"1\">Mit der Cloud verbundene Build-Systeme<\/li>\n<\/ul>\n<h3>Sch\u00fctzen Sie Ihre CI\/CD mit JFrog Advanced Security<\/h3>\n<p><a href=\"https:\/\/jfrog.com\/de\/advanced-security\/\">JFrog Advanced Security<\/a> kann GitHub\u2011Workflow\u2011Dateien analysieren und CI\/CD\u2011Schwachstellen erkennen \u2013 etwa einen <code>pull_request_trigger<\/code> in Kombination mit nicht vertrauensw\u00fcrdiger Code\u2011Ausf\u00fchrung. <a href=\"https:\/\/jfrog.com\/de\/advanced-security\/\">Starten Sie eine kostenlose Testversion oder vereinbaren Sie noch heute eine Demo<\/a>.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone wp-image-163753 size-full aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200153\/JFrogs-AI-Research-Bot-image12.png\" alt=\"JFrog\u2019s AI-Research Bot - image2\" width=\"1999\" height=\"890\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200153\/JFrogs-AI-Research-Bot-image12.png?speedsize=w_1999 1999w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200153\/JFrogs-AI-Research-Bot-image12.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200153\/JFrogs-AI-Research-Bot-image12.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200153\/JFrogs-AI-Research-Bot-image12.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05200153\/JFrogs-AI-Research-Bot-image12.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><em>Identifying a vulnerable GitHub workflow in the JFrog Platform<\/em><\/p>\n<h2>Fazit \u2013 CI als kritische Infrastruktur absichern<\/h2>\n<p>CI ist nicht mehr nur ein Build-System. Es ist ein Identit\u00e4tsbroker, eine Release-Autorit\u00e4t und ein Distributions-Gateway. Dadurch wird die Workflow-Konfiguration zu einer Sicherheitskontrolle und nicht zu einer praktischen Funktion.<\/p>\n<p>Lesen Sie das Handbuch: Moderne CI\/CD\u2011Automatisierung hat gro\u00dfe Fortschritte gemacht. Diese Tools sind schnell und erm\u00f6glichen rasche Innovation \u2013 aber sie m\u00fcssen sicher sein.<\/p>\n<p>Sie m\u00fcssen genau wissen, was Sie tun und warum. Jede Fehlkonfiguration kann eine katastrophale Kettenreaktion ausl\u00f6sen \u2013 und aus einem simplen Pull Request ein Einfallstor f\u00fcr eine organisationsweite Kompromittierung machen.<\/p>\n<p>Organisationen m\u00fcssen <code>pull_request_target<\/code> mit \u00e4u\u00dferster Vorsicht behandeln. Explizite Least\u2011Privilege\u2011Berechtigungen m\u00fcssen in jedem Workflow definiert sein. S\u00e4mtliche nicht vertrauensw\u00fcrdigen Inputs \u2013 etwa Metadaten oder Code \u2013 sind vor der Nutzung zu bereinigen. Die Persistenz von Credentials sollte deaktiviert werden, wenn sie nicht erforderlich ist. Privilegierte Automatisierung muss von nicht vertrauensw\u00fcrdigen Ausf\u00fchrungen getrennt werden. Vor allem muss CI kontinuierlich \u00fcberpr\u00fcft werden. Eine manuelle \u00dcberpr\u00fcfung reicht auf \u00d6kosystemebene nicht aus.<\/p>\n<p>Wir haben RepoHunter entwickelt, weil sich dieses Problem nicht reaktiv l\u00f6sen l\u00e4sst. Es muss proaktiv bek\u00e4mpft werden. Der n\u00e4chste Lieferketten-Wurm ben\u00f6tigt keinen Zero-Day, sondern lediglich einen unsicheren Workflow und eine unsichere Automatisierung.<\/p>\n<p>In diesem Fall haben wir ihn zuerst entdeckt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vorf\u00e4lle in j\u00fcngster Zeit haben bewiesen, dass Continuous-Integration-(CI)-Workflows das neue Angriffsfeld auf die Software\u2011Lieferkette sind. Sicherheitsfallen in GitHub-Actions-Workflows \u2013 etwa die unbereinigte Nutzung von Pull-Request-(PR)-Daten \u2013 k\u00f6nnen es Angreifern erm\u00f6glichen, w\u00e4hrend CI-Runs b\u00f6sartigen Code auszuf\u00fchren \u2013 mit verheerenden Folgen. So wurde der aufsehenerregende \u201eS1ngularity\u201c-Angriff auf das Nx\u2011Projekt, der im August 2025 zum Diebstahl\u00a0 von 83.000 &hellip;<\/p>\n","protected":false},"author":590,"featured_media":163734,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[10157],"tags":[11115,11116,11117,11118,11119,11120,11114,10520,10348,10011],"class_list":["post-164228","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit-und-devsecops","tag-vulnerability-research-de","tag-ai-agent-de","tag-open-source-security-de","tag-repohunter-de","tag-shai-hulud-de","tag-supply-chain-attack-de","tag-ci-cd-security-de","tag-github-actions-de","tag-security-research-de","tag-devsecops-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.6 (Yoast SEO v22.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Wie der JFrog AI-Research Bot ein neues Shai-Hulud verhinderte<\/title>\n<meta name=\"description\" content=\"JFrogs RepoHunter-KI entdeckte 13 kritische OSS-Sicherheitsl\u00fccken in CI\/CD-Pipelines \u2013 bevor der n\u00e4chste Supply-Chain-Angriff zuschlagen konnte. Jetzt lesen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/164228\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wie der JFrog AI-Research-Bot Open-Source-Software-CI\/CD-Schwachstellen fand und Shai Hulud 3.0 verhinderte.\" \/>\n<meta property=\"og:description\" content=\"JFrogs RepoHunter-KI entdeckte 13 kritische OSS-Sicherheitsl\u00fccken in CI\/CD-Pipelines \u2013 bevor der n\u00e4chste Supply-Chain-Angriff zuschlagen konnte. Jetzt lesen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/\" \/>\n<meta property=\"og:site_name\" content=\"JFrog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artifrog\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-05T21:27:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T12:11:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195521\/Weaponizing-AI_1200X628_CTA.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1197\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"drewt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jfrog\" \/>\n<meta name=\"twitter:site\" content=\"@jfrog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"drewt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/\"},\"author\":{\"name\":\"drewt\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28\"},\"headline\":\"Wie der JFrog AI-Research-Bot Open-Source-Software-CI\/CD-Schwachstellen fand und Shai Hulud 3.0 verhinderte.\",\"datePublished\":\"2026-03-05T21:27:35+00:00\",\"dateModified\":\"2026-03-17T12:11:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/\"},\"wordCount\":3454,\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png\",\"keywords\":[\"vulnerability research\",\"ai agent\",\"open source security\",\"repohunter\",\"shai-hulud\",\"supply chain attack\",\"ci\/cd security\",\"GitHub Actions\",\"security-research\",\"DevSecOps\"],\"articleSection\":[\"Sicherheit und DevSecOps\"],\"inLanguage\":\"de-DE\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/\",\"url\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/\",\"name\":\"Wie der JFrog AI-Research Bot ein neues Shai-Hulud verhinderte\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png\",\"datePublished\":\"2026-03-05T21:27:35+00:00\",\"dateModified\":\"2026-03-17T12:11:55+00:00\",\"description\":\"JFrogs RepoHunter-KI entdeckte 13 kritische OSS-Sicherheitsl\u00fccken in CI\/CD-Pipelines \u2013 bevor der n\u00e4chste Supply-Chain-Angriff zuschlagen konnte. Jetzt lesen.\",\"breadcrumb\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage\",\"url\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png\",\"contentUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png\",\"width\":203,\"height\":148,\"caption\":\"repohunter, ci\/cd security, github actions, shai hulud, supply chain attack, cybersecurity, ai, devsecops, vulnerability research, pwn request, open source, ansible, software security\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jfrog.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wie der JFrog AI-Research-Bot Open-Source-Software-CI\/CD-Schwachstellen fand und Shai Hulud 3.0 verhinderte.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jfrog.com\/de\/#website\",\"url\":\"https:\/\/jfrog.com\/de\/\",\"name\":\"JFrog\",\"description\":\"Deliver Trusted Software Releases at Speed and Scale\",\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jfrog.com\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jfrog.com\/de\/#organization\",\"name\":\"JFrog\",\"url\":\"https:\/\/jfrog.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"contentUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"width\":74,\"height\":73,\"caption\":\"JFrog\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/artifrog\",\"https:\/\/x.com\/jfrog\",\"https:\/\/www.linkedin.com\/company\/455737\",\"https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg\",\"https:\/\/www.wikidata.org\/wiki\/Q98608948\"],\"description\":\"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.\",\"legalName\":\"Jfrog, Inc.\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28\",\"name\":\"drewt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g\",\"caption\":\"drewt\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Wie der JFrog AI-Research Bot ein neues Shai-Hulud verhinderte","description":"JFrogs RepoHunter-KI entdeckte 13 kritische OSS-Sicherheitsl\u00fccken in CI\/CD-Pipelines \u2013 bevor der n\u00e4chste Supply-Chain-Angriff zuschlagen konnte. Jetzt lesen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/164228","og_locale":"de_DE","og_type":"article","og_title":"Wie der JFrog AI-Research-Bot Open-Source-Software-CI\/CD-Schwachstellen fand und Shai Hulud 3.0 verhinderte.","og_description":"JFrogs RepoHunter-KI entdeckte 13 kritische OSS-Sicherheitsl\u00fccken in CI\/CD-Pipelines \u2013 bevor der n\u00e4chste Supply-Chain-Angriff zuschlagen konnte. Jetzt lesen.","og_url":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/","og_site_name":"JFrog","article_publisher":"https:\/\/www.facebook.com\/artifrog","article_published_time":"2026-03-05T21:27:35+00:00","article_modified_time":"2026-03-17T12:11:55+00:00","og_image":[{"width":1197,"height":628,"url":"https:\/\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195521\/Weaponizing-AI_1200X628_CTA.png","type":"image\/png"}],"author":"drewt","twitter_card":"summary_large_image","twitter_creator":"@jfrog","twitter_site":"@jfrog","twitter_misc":{"Written by":"drewt","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#article","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/"},"author":{"name":"drewt","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28"},"headline":"Wie der JFrog AI-Research-Bot Open-Source-Software-CI\/CD-Schwachstellen fand und Shai Hulud 3.0 verhinderte.","datePublished":"2026-03-05T21:27:35+00:00","dateModified":"2026-03-17T12:11:55+00:00","mainEntityOfPage":{"@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/"},"wordCount":3454,"publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"image":{"@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage"},"thumbnailUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png","keywords":["vulnerability research","ai agent","open source security","repohunter","shai-hulud","supply chain attack","ci\/cd security","GitHub Actions","security-research","DevSecOps"],"articleSection":["Sicherheit und DevSecOps"],"inLanguage":"de-DE"},{"@type":"WebPage","@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/","url":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/","name":"Wie der JFrog AI-Research Bot ein neues Shai-Hulud verhinderte","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage"},"image":{"@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage"},"thumbnailUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png","datePublished":"2026-03-05T21:27:35+00:00","dateModified":"2026-03-17T12:11:55+00:00","description":"JFrogs RepoHunter-KI entdeckte 13 kritische OSS-Sicherheitsl\u00fccken in CI\/CD-Pipelines \u2013 bevor der n\u00e4chste Supply-Chain-Angriff zuschlagen konnte. Jetzt lesen.","breadcrumb":{"@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#primaryimage","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2026\/03\/05195504\/Weaponizing-AI-203X148.png","width":203,"height":148,"caption":"repohunter, ci\/cd security, github actions, shai hulud, supply chain attack, cybersecurity, ai, devsecops, vulnerability research, pwn request, open source, ansible, software security"},{"@type":"BreadcrumbList","@id":"https:\/\/jfrog.com\/de\/blog\/jfrog-ai-bot-stopped-shai-hulud-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jfrog.com\/de\/"},{"@type":"ListItem","position":2,"name":"Wie der JFrog AI-Research-Bot Open-Source-Software-CI\/CD-Schwachstellen fand und Shai Hulud 3.0 verhinderte."}]},{"@type":"WebSite","@id":"https:\/\/jfrog.com\/de\/#website","url":"https:\/\/jfrog.com\/de\/","name":"JFrog","description":"Deliver Trusted Software Releases at Speed and Scale","publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jfrog.com\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"Organization","@id":"https:\/\/jfrog.com\/de\/#organization","name":"JFrog","url":"https:\/\/jfrog.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","width":74,"height":73,"caption":"JFrog"},"image":{"@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artifrog","https:\/\/x.com\/jfrog","https:\/\/www.linkedin.com\/company\/455737","https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg","https:\/\/www.wikidata.org\/wiki\/Q98608948"],"description":"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.","legalName":"Jfrog, Inc.","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28","name":"drewt","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g","caption":"drewt"}}]}},"_links":{"self":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/164228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/users\/590"}],"replies":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/comments?post=164228"}],"version-history":[{"count":4,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/164228\/revisions"}],"predecessor-version":[{"id":164237,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/164228\/revisions\/164237"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/media\/163734"}],"wp:attachment":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/media?parent=164228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/categories?post=164228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/tags?post=164228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}