[{"data":1,"prerenderedAt":1317},["ShallowReactive",2],{"/de-de/blog/deepseek-reasonix-vulnerability-discovered":3,"navigation-de-de":550,"banner-de-de":986,"footer-de-de":993,"blog-post-authors-de-de-Abisheik Magesh|Daniel Abeles":1250,"blog-related-posts-de-de-deepseek-reasonix-vulnerability-discovered":1276,"blog-share-wrapper-de-de":1297,"next-steps-de-de":1307},{"id":4,"title":5,"authors":6,"body":9,"category":529,"date":530,"description":531,"extension":532,"externalUrl":533,"faq":533,"featured":534,"heroImage":535,"meta":536,"navigation":534,"path":537,"seo":538,"slug":543,"stem":544,"tags":545,"template":548,"updatedDate":533,"__hash__":549},"blogPosts/de-de/blog/deepseek-reasonix-vulnerability-discovered.md","Kritische Codeausführung in DeepSeek-Reasonix mittels präparierter Git-Konfiguration",[7,8],"Abisheik Magesh","Daniel Abeles",{"type":10,"value":11,"toc":511},"minimark",[12,40,51,58,98,103,128,135,139,163,170,180,183,188,191,243,250,254,270,276,280,283,313,317,321,327,331,334,395,399,402,406,462,465,468,472,481,487,490,494,501],[13,14,15,16,22,23,28,29,34,35,39],"p",{},"Die ",[17,18,21],"a",{"href":19,"rel":20},"https://about.gitlab.com/de-de/blog/securing-ai-together-gitlabs-partnership-with-security-researchers/",[],"Threat Research Group von GitLab"," hat eine Schwachstelle zur Ausführung von Befehlen (",[17,24,27],{"href":25,"rel":26},"https://github.com/esengine/DeepSeek-Reasonix/security/advisories/GHSA-grg2-7gc6-36m6",[],"GHSA-grg2-7gc6-36m6",", ",[17,30,33],{"href":31,"rel":32},"https://gitlab.com/gitlab-org/cves/-/blob/master/2026/CVE-2026-102437.json",[],"CVE-2026-102437",") in DeepSeek-Reasonix Studio entdeckt, einem Desktop-Git-Client für die Arbeit mit KI-Coding-Assistenten. Über die Lücke namens ConfigPoisoning kann Code eines Angreifers ausgeführt werden, sobald ein(e) Entwickler(in) den Diff einer Datei anzeigt. Abhilfe schafft das Update auf DeepSeek-Reasonix Studio 2.21.0 oder das npm-Paket ",[36,37,38],"code",{},"DeepSeek Reasonix"," 1.39.3.",[13,41,42,43,46,47,50],{},"Der Fehler betrifft nicht nur DeepSeek-Reasonix. Die Threat Research Group hat festgestellt, dass mehrere verbreitete Coding-Agenten für dieselbe Klasse von Schwachstellen anfällig sind. In allen Fällen lassen sich Befehle von Angreifern über die Dateien ",[36,44,45],{},".git/config"," und ",[36,48,49],{},".gitattributes"," des Repositorys selbst ausführen. DeepSeek-Reasonix ist der erste Fall, den wir vollständig offenlegen.",[13,52,53,57],{},[54,55,56],"strong",{},"Hinweis:"," Auf GitLab gehostete Git-Repositorys sind nicht betroffen, da ein Clone über HTTPS oder SSH keine lokalen Konfigurationsdateien überträgt.",[59,60,61,66],"blockquote",{},[13,62,63],{},[54,64,65],{},"Kurz zusammengefasst",[67,68,69,76,89],"ul",{},[70,71,72,75],"li",{},[54,73,74],{},"Kritische Schwachstelle:"," Die Threat Research Group von GitLab hat in DeepSeek-Reasonix Studio, einem Desktop-Git-Client für KI-gestützte Entwicklung, eine kritische Schwachstelle gefunden. Unter bestimmten Konfigurationen des Repositorys kann sie Code von Angreifern ausführen, sobald ein(e) Entwickler(in) den Diff einer Datei anzeigt.",[70,77,78,81,82,85,86,88],{},[54,79,80],{},"Die Ursache:"," Der Git-Wrapper von DeepSeek-Reasonix sichert mehrere Git-Konfigurationsschlüssel gegen Command Injection ab. Ein Kommentar im eigenen Code benennt jedoch eine Lücke, die nie geschlossen wurde: ",[36,83,84],{},"filter.\u003Cdriver>.clean",". Diesen Schlüssel wählt Git pro Datei über ",[36,87,49],{}," aus, nicht über einen festen Konfigurationsschlüssel.",[70,90,91,94,95,97],{},[54,92,93],{},"Sofortmaßnahmen:"," Auf DeepSeek-Reasonix Studio 2.21.0 oder das npm-Paket ",[36,96,38],{}," 1.39.3 aktualisieren. Wer Werkzeuge baut, die Git als externen Prozess aufrufen, sollte nicht nur den einen anfälligen Schlüssel absichern. Entweder alle relevanten Schlüssel bei jedem Aufruf überschreiben oder die Filter- und Textconv-Mechanik von Git ganz umgehen. Über diese Mechanik verändert Git Dateiinhalte, bevor sie committet oder verglichen werden.",[99,100,102],"h2",{"id":101},"coding-agenten-eine-angriffsfläche-der-anderen-art","Coding-Agenten – eine Angriffsfläche der anderen Art",[13,104,105,110,111,46,113,115,116,28,119,28,122,46,125,127],{},[17,106,109],{"href":107,"rel":108},"https://about.gitlab.com/de-de/blog/govern-agentic-ai-mcps-code-assistants/",[],"Coding-Agenten"," führen Git in jedem Verzeichnis aus, das ein(e) Entwickler(in) öffnet. Dabei übernehmen sie ",[36,112,45],{},[36,114,49],{}," von der Person, die das Repository erstellt hat, nicht von der Person, die es öffnet. Mehrere Git-Konfigurationsschlüssel, darunter ",[36,117,118],{},"core.fsmonitor",[36,120,121],{},"core.hooksPath",[36,123,124],{},"diff.external",[36,126,84],{},", führen im Rahmen gewöhnlicher Git-Operationen einen benannten Befehl aus. Für klassische Git-Clients gibt es dazu bereits Sicherheitshinweise.",[13,129,130,131,134],{},"Da jeder Coding-Agent Git auf eigene Weise einbindet, schließt jeder meist nur den Mechanismus, der seinen letzten Vorfall verursacht hat. Das Modul ",[36,132,133],{},"internal/gitcmd"," von DeepSeek-Reasonix schloss vier dieser Mechanismen bei jedem Aufruf. Den fünften, offenen benannte der eigene Code-Kommentar.",[99,136,138],{"id":137},"wie-die-schwachstelle-funktioniert","Wie die Schwachstelle funktioniert",[13,140,141,143,144,46,146,149,150,46,153,156,157,159,160,162],{},[36,142,133],{}," neutralisiert bei jedem Aufruf ",[36,145,118],{},[36,147,148],{},"maintenance.auto"," und ergänzt Diffs um ",[36,151,152],{},"--no-ext-diff",[36,154,155],{},"--no-textconv",". ",[36,158,84],{}," bleibt dagegen unberührt. Dieser Schlüssel stammt nicht aus einer festen Liste. ",[36,161,49],{}," wählt ihn pro Datei aus, deshalb lässt er sich nicht wie die anderen über eine Denylist schließen.",[13,164,165,166,169],{},"Hier der tatsächliche Aufruf aus ",[36,167,168],{},"desktop/workspace_changes.go",":",[171,172,178],"pre",{"className":173,"code":175,"language":176,"meta":177},[174],"language-text","args := []string{\"-C\", base, \"diff\", \"--no-ext-diff\", \"--no-textconv\", \"--relative\", \"HEAD\", \"--\", filepath.FromSlash(rel)}\n","text","",[36,179,175],{"__ignoreMap":177},[13,181,182],{},"Der Clean-Filter läuft hier trotzdem. Er erzeugt den Vergleichs-Blob, den der Diff braucht, und dieser Schritt wird von keinem der Flags oben erfasst.",[184,185,187],"h3",{"id":186},"die-vollständige-aufrufkette","Die vollständige Aufrufkette",[13,189,190],{},"Die Kette im Einzelnen:",[192,193,194,214,220,233],"ol",{},[70,195,196,199,200,202,203,206,207,210,211,213],{},[54,197,198],{},"Die Vorbereitung:"," Ein Eintrag in ",[36,201,49],{}," weist der Datei ",[36,204,205],{},"secret.bin"," einen Filter-Treiber namens ",[36,208,209],{},"pwn"," zu, und die Datei ",[36,212,45],{}," des Repositorys definiert als Clean-Befehl dieses Treibers ein Skript nach Wahl des Angreifers.",[70,215,216,219],{},[54,217,218],{},"Die Diff-Ansicht wird geöffnet:"," Ein(e) Entwickler(in) öffnet in der Desktop-App von DeepSeek-Reasonix den Diff der Datei, ein gewöhnlicher Vorgang bei jeder Datei mit nicht committeter Änderung.",[70,221,222,225,226,228,229,232],{},[54,223,224],{},"DeepSeek-Reasonix führt den abgesicherten Befehl aus:"," ",[36,227,168],{}," setzt ",[36,230,231],{},"git -c core.fsmonitor=false -c maintenance.auto=false -C \u003Crepo> diff --no-ext-diff --no-textconv -- secret.bin"," ab, mit allen vorhandenen Absicherungs-Flags.",[70,234,235,238,239,242],{},[54,236,237],{},"Der Clean-Filter läuft trotzdem:"," Git ruft ",[36,240,241],{},"filter.pwn.clean"," auf, um den Vergleichs-Blob zu erzeugen, und diesen Schritt berührt keines der Flags. Der Befehl des Angreifers wird ausgeführt, einmal für jede Seite des Diffs.",[13,244,245,246,249],{},"Beim Nachstellen des abgesicherten Befehls lief die Payload zweimal: Der Diff erzeugt für jede Seite des Vergleichs einen clean-gefilterten Blob, und der Filter greift entsprechend einmal pro Seite. ",[36,247,248],{},"git status"," prüft dagegen nur, welche Dateien sich geändert haben, erzeugt diesen Blob also nicht und lässt den Filter unberührt. Damit ist der Fehler auf die Darstellung des Diffs eingegrenzt, und das entspricht dem tatsächlichen Codepfad von DeepSeek-Reasonix.",[184,251,253],{"id":252},"verbreitung","Verbreitung",[13,255,256,258,259,261,262,265,266,269],{},[36,257,49],{}," übersteht einen Clone, ",[36,260,45],{}," nicht. Für die Zustellung braucht es daher ein Archiv, einen synchronisierten Ordner, einen CI-Cache oder einen Devcontainer-Build. Bestätigt haben wir die Lücke bei Commit ",[36,263,264],{},"ea28602"," und beim getaggten Pre-Release ",[36,267,268],{},"studio-v2.9.0",". Betroffen sind sowohl die Desktop-App als auch das npm-Paket.",[13,271,272,273,275],{},"Es gibt allerdings einen direkteren Weg, der speziell für agentische Werkzeuge gilt. Ein bösartiger, kompromittierter oder per Prompt Injection manipulierter Coding-Agent, der bereits auf dem Rechner läuft, hat dieselben Dateisystemrechte wie der oder die Entwickler(in). Er kann die präparierte ",[36,274,45],{}," direkt in ein ganz normal geklontes Repository schreiben. Ein Archiv, ein synchronisierter Ordner oder ein CI-Cache ist dann nicht nötig.",[99,277,279],{"id":278},"warum-neue-werkzeuge-alte-fehler-erben","Warum neue Werkzeuge alte Fehler erben",[13,281,282],{},"Das Problem betrifft nicht nur DeepSeek-Reasonix.",[67,284,285,297],{},[70,286,287,290,291,293,294,296],{},[54,288,289],{},"Die Konfiguration des Repositorys wird als Teil des Werkzeugs behandelt:"," Coding-Agenten lesen ",[36,292,45],{}," oder ",[36,295,49],{},", als wären es ihre eigenen Einstellungen. Tatsächlich kontrolliert sie die Person, die das Repository erstellt hat. Dieser Unterschied geht leicht unter, weil die Dateien direkt neben dem Code liegen und so wirken, als gehörten sie dazu.",[70,298,299,302,303,308,309,312],{},[54,300,301],{},"Dieses Vertrauensproblem ist schon in einer anderen Datei aufgetreten:"," Anfang des Jahres hat die Threat Research Group ",[17,304,307],{"href":305,"rel":306},"https://about.gitlab.com/de-de/blog/critical-rce-in-serena/",[],"dasselbe Muster in Serena gefunden",", einem weiteren KI-Coding-Werkzeug. Serena führte Code eines Angreifers aus der Projektkonfigurationsdatei ",[36,310,311],{},".serena/project.yml"," aus, sobald ein(e) Entwickler(in) das Repository öffnete. In beiden Fällen vertraute das Werkzeug einer Datei, die der oder die Autor(in) des Repositorys kontrolliert. Wir gehen davon aus, denselben Fehler auch in weiteren agentischen Werkzeugen zu finden.",[99,314,316],{"id":315},"was-daraus-folgt","Was daraus folgt",[184,318,320],{"id":319},"wer-deepseek-reasonix-einsetzt","Wer DeepSeek-Reasonix einsetzt",[13,322,323,324,326],{},"Auf Studio 2.21.0 oder das npm-Paket ",[36,325,38],{}," 1.39.3 aktualisieren. In älteren Versionen keine Diffs von Repositorys anzeigen, die nicht selbst per direktem Clone bezogen wurden.",[184,328,330],{"id":329},"wer-werkzeuge-mit-git-aufrufen-baut","Wer Werkzeuge mit Git-Aufrufen baut",[13,332,333],{},"Diese Empfehlungen gelten für jedes Werkzeug, das Git als externen Prozess in einem Verzeichnis aufruft, das es nicht selbst kontrolliert.",[67,335,336,346,377,389,392],{},[70,337,338,339,293,342,345],{},"Wenn nur der reine Inhalt gebraucht wird, Blobs mit ",[36,340,341],{},"git cat-file",[36,343,344],{},"git show"," lesen und Diffs im eigenen Prozess berechnen.",[70,347,348,349,28,351,28,354,28,357,28,359,28,361,364,365,293,367,370,371,28,373,376],{},"Wenn Git als externer Prozess unvermeidbar ist, alle relevanten Schlüssel bei jedem Aufruf überschreiben. Dazu gehören ",[36,350,118],{},[36,352,353],{},"core.pager",[36,355,356],{},"core.editor",[36,358,121],{},[36,360,124],{},[36,362,363],{},"core.sshCommand"," sowie ",[36,366,84],{},[36,368,369],{},"smudge"," für jeden Treibernamen in ",[36,372,49],{},[36,374,375],{},".git/info/attributes"," und in globalen oder systemweiten Dateien.",[70,378,379,380,382,383,385,386,388],{},"Ein Flag deckt kein anderes ab. ",[36,381,152],{}," wirkt auf ",[36,384,124],{},", für ",[36,387,363],{}," jedoch nicht.",[70,390,391],{},"Nicht davon ausgehen, dass die präparierte Konfiguration mit dem Repository ankommen muss. Ein anderer Agent, eine Erweiterung oder ein Prozess mit den Rechten der Entwickler(innen) kann sie direkt in ein bereits geklontes Repository schreiben.",[70,393,394],{},"Vor der Auslieferung gegen ein bewusst bösartiges Konfigurationspaar testen.",[184,396,398],{"id":397},"wer-ein-security-team-leitet","Wer ein Security-Team leitet",[13,400,401],{},"Ein Werkzeug, das Git auf dem Rechner von Entwickler(inne)n als externen Prozess aufruft, läuft mit deren vollen Zugriffsrechten. Bei Anbietern deshalb nachfragen, wie sie die lokale Konfiguration von Repositorys neutralisieren, nicht nur, wie sie mit einem nicht vertrauenswürdigen Remote umgehen.",[99,403,405],{"id":404},"zeitleiste-der-offenlegung","Zeitleiste der Offenlegung",[407,408,409,423],"table",{},[410,411,412],"thead",{},[413,414,415,420],"tr",{},[416,417,419],"th",{"align":418},"left","Datum",[416,421,422],{"align":418},"Ereignis",[424,425,426,435,443,455],"tbody",{},[413,427,428,432],{},[429,430,431],"td",{"align":418},"2026-08-27",[429,433,434],{"align":418},"Advisory bei esengine eröffnet",[413,436,437,440],{},[429,438,439],{"align":418},"2026-09-29",[429,441,442],{"align":418},"esengine richtet einen temporären privaten Fork ein und nimmt die Meldung an",[413,444,445,448],{},[429,446,447],{"align":418},"2026-09-30",[429,449,450,451,454],{"align":418},"Fix ausgeliefert (Studio 2.21.0 / npm 1.39.3), Advisory veröffentlicht (",[17,452,27],{"href":25,"rel":453},[],")",[413,456,457,459],{},[429,458,447],{"align":418},[429,460,461],{"align":418},"CVE-2026-102437 vergeben",[463,464],"br",{},[13,466,467],{},"Wir danken den Maintainern von DeepSeek-Reasonix dafür, dass sie die Meldung angenommen und einen Fix ausgeliefert haben.",[99,469,471],{"id":470},"wie-gitlab-unterstützen-kann","Wie GitLab unterstützen kann",[13,473,474,475,480],{},"Der ",[17,476,479],{"href":477,"rel":478},"https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/security_analyst_agent/",[],"Security Analyst Agent von GitLab Duo Agent Platform"," hilft dabei, die eigene Codebasis auf dasselbe Muster zu prüfen. Für den Einstieg eignet sich diese Frage an den Agenten:",[171,482,485],{"className":483,"code":484,"language":176,"meta":177},[174],"\"Ruft dieser Code Git als externen Prozess in einem Verzeichnis auf, das er nicht kontrolliert, und neutralisiert er vorher core.hooksPath, filter.*.clean und diff.external?\"\n",[36,486,484],{"__ignoreMap":177},[13,488,489],{},"Der Agent bewertet anschließend die möglichen Auswirkungen auf die eigene Umgebung.",[99,491,493],{"id":492},"ausblick","Ausblick",[13,495,496,497,500],{},"Die Geschichte von DeepSeek-Reasonix zeigt, dass selbst eine gut dokumentierte und offen benannte Sicherheitslücke ausgeliefert werden kann, denn ",[54,498,499],{},"ein Risiko zu kennen und es zu beseitigen ist nicht immer dasselbe",". Dasselbe Muster findet sich in mehreren weiteren verbreiteten Agenten-Werkzeugen, für die derzeit eine koordinierte Offenlegung läuft. Details zu jedem Fall veröffentlichen wir, sobald ein Fix verfügbar ist.",[59,502,503],{},[13,504,505,510],{},[17,506,509],{"href":507,"rel":508},"https://about.gitlab.com/de-de/blog/categories/security-labs/",[],"Weitere Sicherheitsforschung"," der GitLab Threat Research Group",{"title":177,"searchDepth":512,"depth":512,"links":513},2,[514,515,520,521,526,527,528],{"id":101,"depth":512,"text":102},{"id":137,"depth":512,"text":138,"children":516},[517,519],{"id":186,"depth":518,"text":187},3,{"id":252,"depth":518,"text":253},{"id":278,"depth":512,"text":279},{"id":315,"depth":512,"text":316,"children":522},[523,524,525],{"id":319,"depth":518,"text":320},{"id":329,"depth":518,"text":330},{"id":397,"depth":518,"text":398},{"id":404,"depth":512,"text":405},{"id":470,"depth":512,"text":471},{"id":492,"depth":512,"text":493},"security-labs","2026-10-02","Warum Coding-Agenten der Git-Konfiguration fremder Repositorys nicht vertrauen sollten, zeigt eine kritische Lücke in DeepSeek-Reasonix.","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782237704/cj50chkvprjthczevmog.png",{},"/de-de/blog/deepseek-reasonix-vulnerability-discovered",{"config":539,"title":541,"description":542},{"noIndex":540},false,"Kritische Lücke ConfigPoisoning in DeepSeek-Reasonix","Die Threat Research Group von GitLab hat in DeepSeek-Reasonix eine Lücke gefunden, die beim Anzeigen eines Diffs Code von Angreifern ausführt.","deepseek-reasonix-vulnerability-discovered","de-de/blog/deepseek-reasonix-vulnerability-discovered",[546,547],"security","security research","BlogPost","3PqA3U0QLe4D1hluckJT_N_KXNlgo_PhidDKDp_tQqg",{"logo":551,"freeTrial":556,"sales":561,"login":566,"items":571,"search":902,"minimal":937,"duo":956,"switchNav":965,"pricingDeployment":976},{"config":552},{"href":553,"dataGaName":554,"dataGaLocation":555},"/de-de/","gitlab logo","header",{"text":557,"config":558},"Kostenlose Testversion anfordern",{"href":559,"dataGaName":560,"dataGaLocation":555},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":562,"config":563},"Demo anfordern",{"href":564,"dataGaName":565,"dataGaLocation":555},"/request-a-demo/","sales",{"text":567,"config":568},"Anmelden",{"href":569,"dataGaName":570,"dataGaLocation":555},"https://gitlab.com/users/sign_in/","sign in",[572,658,746,751,826,880],{"text":573,"left":534,"config":574,"menu":576},"Plattform",{"dataNavLevelOne":575},"platform",{"type":577,"link":578,"columns":582,"feature":647},"lists",{"text":579,"config":580},"Die Plattform erkunden",{"href":581,"dataGaName":575,"dataGaLocation":555},"/de-de/platform/",[583,606,629],{"title":584,"items":585},"Ausführung und Workflows",[586,591,596,601],{"text":587,"config":588},"CI/CD",{"href":589,"dataGaLocation":555,"dataGaName":590},"/de-de/solutions/continuous-integration/","ci/cd",{"text":592,"config":593},"Quellcodeverwaltung",{"href":594,"dataGaLocation":555,"dataGaName":595},"/de-de/solutions/source-code-management/","source code management",{"text":597,"config":598},"Agile Delivery",{"href":599,"dataGaLocation":555,"dataGaName":600},"/de-de/solutions/agile-delivery/","agile delivery",{"text":602,"config":603},"Artefaktverwaltung",{"href":604,"dataGaLocation":555,"dataGaName":605},"/de-de/artifact-central/","artifact management",{"title":607,"items":608},"Sicherheit und Governance",[609,614,619,624],{"text":610,"config":611},"Anwendungssicherheitstests",{"href":612,"dataGaLocation":555,"dataGaName":613},"/de-de/solutions/application-security-testing/","application security testing",{"text":615,"config":616},"Governance und Compliance",{"href":617,"dataGaLocation":555,"dataGaName":618},"/de-de/solutions/software-compliance/","governance and compliance",{"text":620,"config":621},"Secrets-Management",{"href":622,"dataGaLocation":555,"dataGaName":623},"/de-de/gitlab-secrets-manager/","secrets management",{"text":625,"config":626},"Lieferkettensicherheit",{"href":627,"dataGaLocation":555,"dataGaName":628},"/de-de/solutions/supply-chain/","supply chain security",{"title":630,"items":631},"Kontext und KI",[632,637,642],{"text":633,"config":634},"Agentische Orchestrierung",{"href":635,"dataGaLocation":555,"dataGaName":636},"/de-de/gitlab-duo-agent-platform/","agentic orchestration",{"text":638,"config":639},"Kontextgraph",{"href":640,"dataGaLocation":555,"dataGaName":641},"/de-de/gitlab-orbit/","context graph",{"text":643,"config":644},"Sichtbarkeit und Messung",{"href":645,"dataGaLocation":555,"dataGaName":646},"/de-de/solutions/visibility-measurement/","visibility and measurement",{"config":648,"title":651,"text":652,"link":653},{"background":649,"textColor":650},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Warum GitLab","Eine Plattform für Schnelligkeit und Kontrolle im gesamten Software-Lebenszyklus.",{"text":654,"config":655},"Mehr erfahren",{"href":656,"dataGaName":657,"dataGaLocation":555},"/de-de/why-gitlab/","why gitlab",{"text":659,"left":534,"config":660,"menu":662},"Lösungen",{"dataNavLevelOne":661},"solutions",{"type":577,"link":663,"columns":667,"feature":737},{"text":664,"config":665},"Alle Lösungen anzeigen",{"href":666,"dataGaName":661,"dataGaLocation":555},"/de-de/solutions/",[668,686,704],{"title":669,"items":670},"Ergebnisse",[671,676,681],{"text":672,"config":673},"DevOps-Modernisierung",{"href":674,"dataGaLocation":555,"dataGaName":675},"/de-de/assessments/devops-modernization-assessment/","devops modernization",{"text":677,"config":678},"Sicherheitsmodernisierung",{"href":679,"dataGaLocation":555,"dataGaName":680},"/de-de/assessments/security-modernization-assessment/","security modernization",{"text":682,"config":683},"KI-Modernisierung",{"href":684,"dataGaLocation":555,"dataGaName":685},"/de-de/assessments/ai-modernization-assessment/","ai modernization",{"title":687,"items":688},"Nach Größe",[689,694,699],{"text":690,"config":691},"Große Unternehmen",{"href":692,"dataGaLocation":555,"dataGaName":693},"/de-de/enterprise/","enterprise",{"text":695,"config":696},"Kleine Unternehmen",{"href":697,"dataGaLocation":555,"dataGaName":698},"/de-de/small-business/","small business",{"text":700,"config":701},"Start-ups",{"href":702,"dataGaLocation":555,"dataGaName":703},"/de-de/solutions/startups/","startups",{"title":705,"items":706},"Branchen",[707,712,717,722,727,732],{"text":708,"config":709},"Finanzdienstleistungen",{"href":710,"dataGaLocation":555,"dataGaName":711},"/de-de/solutions/finance/","financial services",{"text":713,"config":714},"Öffentlicher Sektor",{"href":715,"dataGaLocation":555,"dataGaName":716},"/de-de/solutions/public-sector/","public sector",{"text":718,"config":719},"Telekommunikation",{"href":720,"dataGaLocation":555,"dataGaName":721},"/de-de/solutions/telecommunications/","telecommunications",{"text":723,"config":724},"Automobilindustrie",{"href":725,"dataGaLocation":555,"dataGaName":726},"/de-de/solutions/automotive/","automotive",{"text":728,"config":729},"Bildungswesen",{"href":730,"dataGaLocation":555,"dataGaName":731},"/de-de/solutions/education/","education",{"text":733,"config":734},"Luft- und Raumfahrt",{"href":735,"dataGaLocation":555,"dataGaName":736},"/de-de/solutions/aerospace/","aerospace",{"config":738,"title":739,"text":740,"link":741},{"background":649,"textColor":650},"GitLab-Sicherheitsstandard","Mehr dazu, wie du deine Software Factory stärkst und KI-Agenten Autonomie gewinnen lässt, ohne an Sicherheit einzubüßen.",{"text":742,"config":743},"Standard entdecken",{"href":744,"dataGaName":745,"dataGaLocation":555},"/gitlab-security-standard/","gitlab security standard",{"text":747,"config":748},"Preise",{"href":749,"dataGaName":750,"dataGaLocation":555,"dataNavLevelOne":750},"/de-de/pricing/","pricing",{"text":752,"config":753,"menu":755},"Ressourcen",{"dataNavLevelOne":754},"resources",{"type":577,"link":756,"columns":760,"feature":817},{"text":757,"config":758},"Alle Ressourcen anzeigen",{"href":759,"dataGaName":754,"dataGaLocation":555},"/de-de/resources/",[761,789],{"title":762,"items":763},"Entdecken",[764,769,774,779,784],{"text":765,"config":766},"Dokumentation",{"href":767,"dataGaName":768,"dataGaLocation":555},"https://docs.gitlab.com/","docs",{"text":770,"config":771},"GitLab University",{"href":772,"dataGaName":773,"dataGaLocation":555},"https://university.gitlab.com/","university",{"text":775,"config":776},"Demo-Reihe",{"href":777,"dataGaName":778,"dataGaLocation":555},"/de-de/gitlab-technical-demo-series/","demo series",{"text":780,"config":781},"Demo-Hub",{"href":782,"dataGaName":783,"dataGaLocation":555},"/de-de/demo-hub/","demo hub",{"text":785,"config":786},"Dienste",{"href":787,"dataGaName":788,"dataGaLocation":555},"/de-de/services/","services",{"title":790,"items":791},"Vernetzen",[792,797,802,807,812],{"text":793,"config":794},"Blog",{"href":795,"dataGaName":796,"dataGaLocation":555},"/de-de/blog/","blog",{"text":798,"config":799},"Community",{"href":800,"dataGaName":801,"dataGaLocation":555},"/community/","community",{"text":803,"config":804},"Kunden",{"href":805,"dataGaName":806,"dataGaLocation":555},"/de-de/customers/","customers",{"text":808,"config":809},"Partner",{"href":810,"dataGaName":811,"dataGaLocation":555},"/de-de/partners/","partners",{"text":813,"config":814},"Veranstaltungen",{"href":815,"dataGaName":816,"dataGaLocation":555},"/events/","events",{"config":818,"title":819,"text":820,"link":821},{"background":649,"textColor":650},"Neues bei GitLab","Über die neuesten Funktionen und Verbesserungen auf dem Laufenden bleiben.",{"text":822,"config":823},"Aktuelle Nachrichten",{"href":824,"dataGaName":825,"dataGaLocation":555},"/de-de/whats-new/","whats new",{"text":827,"config":828,"menu":830},"Unternehmen",{"dataNavLevelOne":829},"company",{"type":577,"columns":831},[832],{"items":833},[834,839,845,850,855,860,865,870,875],{"text":835,"config":836},"Über",{"href":837,"dataGaName":838,"dataGaLocation":555},"/de-de/company/","about",{"text":840,"config":841,"footerGa":844},"Karriere",{"href":842,"dataGaName":843,"dataGaLocation":555},"/jobs/","jobs",{"dataGaName":843},{"text":846,"config":847},"Presse",{"href":848,"dataGaName":849,"dataGaLocation":555},"/press/","press",{"text":851,"config":852},"Handbuch",{"href":853,"dataGaName":854,"dataGaLocation":555},"https://handbook.gitlab.com/","handbook",{"text":856,"config":857},"Geschäftsführung",{"href":858,"dataGaName":859,"dataGaLocation":555},"/company/team/e-group/","leadership",{"text":861,"config":862},"Investor Relations",{"href":863,"dataGaName":864,"dataGaLocation":555},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":866,"config":867},"Trust Center",{"href":868,"dataGaName":869,"dataGaLocation":555},"/de-de/security/","trust center",{"text":871,"config":872},"AI Transparency Center",{"href":873,"dataGaName":874,"dataGaLocation":555},"/de-de/ai-transparency-center/","ai transparency center",{"text":876,"config":877},"Newsletter",{"href":878,"dataGaName":879,"dataGaLocation":555},"/company/contact/#contact-forms","newsletter",{"text":881,"config":882,"menu":883},"Kontakt",{"dataNavLevelOne":829},{"type":577,"columns":884},[885],{"items":886},[887,892,897],{"text":888,"config":889},"Vertrieb kontaktieren",{"href":890,"dataGaName":891,"dataGaLocation":555},"/de-de/sales/","talk to sales",{"text":893,"config":894},"Support-Portal",{"href":895,"dataGaName":896,"dataGaLocation":555},"https://support.gitlab.com/hc/en-us","support portal",{"text":898,"config":899},"Kundenportal",{"href":900,"dataGaName":901,"dataGaLocation":555},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":903,"login":904,"suggestions":911},"Schließen",{"text":905,"link":906},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":907,"config":908},"gitlab.com",{"href":569,"dataGaName":909,"dataGaLocation":910},"search login","search",{"text":912,"default":913},"Vorschläge",[914,917,921,923,928,933],{"text":915,"config":916},"GitLab Duo Agent Platform",{"href":635,"dataGaName":915,"dataGaLocation":910},{"text":918,"config":919},"Codevorschläge (KI)",{"href":635,"dataGaName":920,"dataGaLocation":910},"Code Suggestions (AI)",{"text":587,"config":922},{"href":589,"dataGaName":587,"dataGaLocation":910},{"text":924,"config":925},"GitLab auf AWS",{"href":926,"dataGaName":927,"dataGaLocation":910},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":929,"config":930},"GitLab auf Google Cloud",{"href":931,"dataGaName":932,"dataGaLocation":910},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":934,"config":935},"Warum GitLab?",{"href":656,"dataGaName":936,"dataGaLocation":910},"Why GitLab?",{"freeTrial":938,"mobileIcon":943,"desktopIcon":948,"secondaryButton":951},{"text":939,"config":940},"Kostenlos testen",{"href":941,"dataGaName":560,"dataGaLocation":942},"https://gitlab.com/-/trials/new/","nav",{"altText":944,"config":945},"GitLab-Symbol",{"src":946,"dataGaName":947,"dataGaLocation":942},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":944,"config":949},{"src":950,"dataGaName":947,"dataGaLocation":942},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":952,"config":953},"Erste Schritte",{"href":954,"dataGaName":955,"dataGaLocation":942},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":957,"mobileIcon":961,"desktopIcon":963},{"text":958,"config":959},"Mehr über GitLab Duo erfahren",{"href":635,"dataGaName":960,"dataGaLocation":942},"gitlab duo",{"altText":944,"config":962},{"src":946,"dataGaName":947,"dataGaLocation":942},{"altText":944,"config":964},{"src":950,"dataGaName":947,"dataGaLocation":942},{"button":966,"mobileIcon":971,"desktopIcon":973},{"text":967,"config":968},"/Option",{"href":969,"dataGaName":970,"dataGaLocation":942},"#contact","switch",{"altText":944,"config":972},{"src":946,"dataGaName":947,"dataGaLocation":942},{"altText":944,"config":974},{"src":975,"dataGaName":947,"dataGaLocation":942},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":977,"mobileIcon":982,"desktopIcon":984},{"text":978,"config":979},"Zurück zur Preisübersicht",{"href":749,"dataGaName":980,"dataGaLocation":942,"icon":981},"back to pricing","GoBack",{"altText":944,"config":983},{"src":946,"dataGaName":947,"dataGaLocation":942},{"altText":944,"config":985},{"src":950,"dataGaName":947,"dataGaLocation":942},{"title":987,"button":988,"config":991},"GitLab Orbit ist da: die Kontextebene für KI-Agenten",{"text":654,"config":989},{"href":640,"dataGaName":990,"dataGaLocation":555},"orbit",{"layout":992,"disabled":540},"release",{"data":994},{"text":995,"source":996,"edit":1002,"contribute":1007,"config":1012,"items":1017,"minimal":1239},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":997,"config":998},"Quelltext der Seite anzeigen",{"href":999,"dataGaName":1000,"dataGaLocation":1001},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1003,"config":1004},"Diese Seite bearbeiten",{"href":1005,"dataGaName":1006,"dataGaLocation":1001},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1008,"config":1009},"Beteilige dich",{"href":1010,"dataGaName":1011,"dataGaLocation":1001},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1013,"facebook":1014,"youtube":1015,"linkedin":1016},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1018,1063,1121,1164,1206],{"title":747,"links":1019,"subMenu":1034},[1020,1024,1029],{"text":1021,"config":1022},"Tarife anzeigen",{"href":749,"dataGaName":1023,"dataGaLocation":1001},"view plans",{"text":1025,"config":1026},"Vorteile von Premium",{"href":1027,"dataGaName":1028,"dataGaLocation":1001},"/de-de/pricing/premium/","why premium",{"text":1030,"config":1031},"Vorteile von Ultimate",{"href":1032,"dataGaName":1033,"dataGaLocation":1001},"/de-de/pricing/ultimate/","why ultimate",[1035],{"title":881,"links":1036},[1037,1039,1041,1043,1048,1053,1058],{"text":888,"config":1038},{"href":890,"dataGaName":565,"dataGaLocation":1001},{"text":893,"config":1040},{"href":895,"dataGaName":896,"dataGaLocation":1001},{"text":898,"config":1042},{"href":900,"dataGaName":901,"dataGaLocation":1001},{"text":1044,"config":1045},"Status",{"href":1046,"dataGaName":1047,"dataGaLocation":1001},"https://status.gitlab.com/","status",{"text":1049,"config":1050},"Nutzungsbedingungen",{"href":1051,"dataGaName":1052,"dataGaLocation":1001},"/terms/","terms of use",{"text":1054,"config":1055},"Datenschutzerklärung",{"href":1056,"dataGaName":1057,"dataGaLocation":1001},"/de-de/privacy/","privacy statement",{"text":1059,"config":1060},"Cookie-Einstellungen",{"dataGaName":1061,"dataGaLocation":1001,"id":1062,"isOneTrustButton":534},"cookie preferences","ot-sdk-btn",{"title":573,"links":1064,"subMenu":1078},[1065,1068,1070,1072,1074,1076],{"text":1066,"config":1067},"Plattform entdecken",{"href":581,"dataGaName":575,"dataGaLocation":1001},{"text":633,"config":1069},{"href":635,"dataGaName":636,"dataGaLocation":1001},{"text":587,"config":1071},{"href":589,"dataGaName":590,"dataGaLocation":1001},{"text":638,"config":1073},{"href":640,"dataGaName":641,"dataGaLocation":1001},{"text":620,"config":1075},{"href":622,"dataGaName":623,"dataGaLocation":1001},{"text":651,"config":1077},{"href":656,"dataGaName":657,"dataGaLocation":1001},[1079],{"title":1080,"links":1081},"Themen",[1082,1086,1091,1096,1101,1106,1111,1116],{"text":587,"config":1083},{"href":1084,"dataGaName":1085,"dataGaLocation":1001},"/de-de/topics/ci-cd/","cicd",{"text":1087,"config":1088},"GitOps",{"href":1089,"dataGaName":1090,"dataGaLocation":1001},"/de-de/topics/gitops/","gitops",{"text":1092,"config":1093},"DevOps",{"href":1094,"dataGaName":1095,"dataGaLocation":1001},"/de-de/topics/devops/","devops",{"text":1097,"config":1098},"Versionskontrolle",{"href":1099,"dataGaName":1100,"dataGaLocation":1001},"/de-de/topics/version-control/","version control",{"text":1102,"config":1103},"DevSecOps",{"href":1104,"dataGaName":1105,"dataGaLocation":1001},"/de-de/topics/devsecops/","devsecops",{"text":1107,"config":1108},"Cloud-nativ",{"href":1109,"dataGaName":1110,"dataGaLocation":1001},"/de-de/topics/cloud-native/","cloud native",{"text":1112,"config":1113},"KI für das Programmieren",{"href":1114,"dataGaName":1115,"dataGaLocation":1001},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":1117,"config":1118},"Agentische KI",{"href":1119,"dataGaName":1120,"dataGaLocation":1001},"/de-de/topics/agentic-ai/","agentic ai",{"title":659,"links":1122},[1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1144,1147,1149,1152,1156,1160],{"text":672,"config":1124},{"href":674,"dataGaName":675,"dataGaLocation":1001},{"text":677,"config":1126},{"href":679,"dataGaName":680,"dataGaLocation":1001},{"text":682,"config":1128},{"href":684,"dataGaName":685,"dataGaLocation":1001},{"text":708,"config":1130},{"href":710,"dataGaName":711,"dataGaLocation":1001},{"text":713,"config":1132},{"href":715,"dataGaName":716,"dataGaLocation":1001},{"text":718,"config":1134},{"href":720,"dataGaName":721,"dataGaLocation":1001},{"text":723,"config":1136},{"href":725,"dataGaName":726,"dataGaLocation":1001},{"text":728,"config":1138},{"href":730,"dataGaName":731,"dataGaLocation":1001},{"text":733,"config":1140},{"href":735,"dataGaName":736,"dataGaLocation":1001},{"text":1142,"config":1143},"Enterprise",{"href":692,"dataGaName":693,"dataGaLocation":1001},{"text":1145,"config":1146},"Kleinunternehmen",{"href":697,"dataGaName":698,"dataGaLocation":1001},{"text":700,"config":1148},{"href":702,"dataGaName":703,"dataGaLocation":1001},{"text":1087,"config":1150},{"href":1151,"dataGaName":1090,"dataGaLocation":1001},"/de-de/solutions/gitops/",{"text":1153,"config":1154},"Analyse der Softwarezusammensetzung (SCA)",{"href":627,"dataGaName":1155,"dataGaLocation":1001},"software composition analysis",{"text":1157,"config":1158},"Wertstrommanagement",{"href":645,"dataGaName":1159,"dataGaLocation":1001},"value stream management",{"text":1161,"config":1162},"Alle Lösungen",{"href":666,"dataGaName":1163,"dataGaLocation":1001},"all solutions",{"title":752,"links":1165},[1166,1171,1176,1178,1180,1182,1184,1186,1188,1190,1193,1195,1197,1199,1202],{"text":1167,"config":1168},"Installieren",{"href":1169,"dataGaName":1170,"dataGaLocation":1001},"/de-de/install/","install",{"text":1172,"config":1173},"Kurzanleitungen",{"href":1174,"dataGaName":1175,"dataGaLocation":1001},"/de-de/get-started/","quick setup checklists",{"text":765,"config":1177},{"href":767,"dataGaName":768,"dataGaLocation":1001},{"text":770,"config":1179},{"href":772,"dataGaName":773,"dataGaLocation":1001},{"text":775,"config":1181},{"href":777,"dataGaName":778,"dataGaLocation":1001},{"text":780,"config":1183},{"href":782,"dataGaName":783,"dataGaLocation":1001},{"text":785,"config":1185},{"href":787,"dataGaName":788,"dataGaLocation":1001},{"text":793,"config":1187},{"href":795,"dataGaName":796,"dataGaLocation":1001},{"text":798,"config":1189},{"href":800,"dataGaName":801,"dataGaLocation":1001},{"text":1191,"config":1192},"Kund(inn)en",{"href":805,"dataGaName":806,"dataGaLocation":1001},{"text":808,"config":1194},{"href":810,"dataGaName":811,"dataGaLocation":1001},{"text":813,"config":1196},{"href":815,"dataGaName":816,"dataGaLocation":1001},{"text":876,"config":1198},{"href":878,"dataGaName":879,"dataGaLocation":1001},{"text":1200,"config":1201},"Neuerungen",{"href":824,"dataGaName":825,"dataGaLocation":1001},{"text":1203,"config":1204},"Alle Ressourcen",{"href":759,"dataGaName":1205,"dataGaLocation":1001},"all resources",{"title":827,"links":1207},[1208,1210,1212,1214,1216,1218,1220,1222,1224,1229,1234],{"text":835,"config":1209},{"href":837,"dataGaName":829,"dataGaLocation":1001},{"text":840,"config":1211},{"href":842,"dataGaName":843,"dataGaLocation":1001},{"text":846,"config":1213},{"href":848,"dataGaName":849,"dataGaLocation":1001},{"text":851,"config":1215},{"href":853,"dataGaName":854,"dataGaLocation":1001},{"text":856,"config":1217},{"href":858,"dataGaName":859,"dataGaLocation":1001},{"text":861,"config":1219},{"href":863,"dataGaName":864,"dataGaLocation":1001},{"text":866,"config":1221},{"href":868,"dataGaName":869,"dataGaLocation":1001},{"text":871,"config":1223},{"href":873,"dataGaName":874,"dataGaLocation":1001},{"text":1225,"config":1226},"Nachhaltigkeit",{"href":1227,"dataGaName":1228,"dataGaLocation":1001},"/sustainability/","Sustainability",{"text":1230,"config":1231},"Vielfalt, Inklusion und Zugehörigkeit",{"href":1232,"dataGaName":1233,"dataGaLocation":1001},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1235,"config":1236},"Transparenzerklärung zu moderner Sklaverei",{"href":1237,"dataGaName":1238,"dataGaLocation":1001},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1240},[1241,1244,1247],{"text":1242,"config":1243},"Terms",{"href":1051,"dataGaName":1052,"dataGaLocation":1001},{"text":1245,"config":1246},"Cookies",{"dataGaName":1061,"dataGaLocation":1001,"id":1062,"isOneTrustButton":534},{"text":1248,"config":1249},"Datenschutz",{"href":1056,"dataGaName":1057,"dataGaLocation":1001},[1251,1264],{"id":1252,"title":7,"body":533,"config":1253,"content":1255,"description":533,"extension":1258,"meta":1259,"navigation":534,"path":1260,"seo":1261,"stem":1262,"__hash__":1263},"blogAuthors/en-us/blog/authors/abisheik-magesh.yml",{"template":1254},"BlogAuthor",{"name":7,"config":1256},{"headshot":1257},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1787000354/gmgyvfesrvwdlvt52gdw.png","yml",{},"/en-us/blog/authors/abisheik-magesh",{},"en-us/blog/authors/abisheik-magesh","kPev_Acm8MB5tgKMnU_Rkfq1sl42e8DixU6iNMXXfxI",{"id":1265,"title":8,"body":533,"config":1266,"content":1268,"description":533,"extension":1258,"meta":1271,"navigation":534,"path":1272,"seo":1273,"stem":1274,"__hash__":1275},"blogAuthors/en-us/blog/authors/daniel-abeles.yml",{"template":1254,"gitlabHandle":1267},"dabeles",{"name":8,"config":1269},{"headshot":1270},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1786473980/kjzctsiwvfc6afimsdtc.jpg",{},"/en-us/blog/authors/daniel-abeles",{},"en-us/blog/authors/daniel-abeles","9j7gS6WI8857OrOR0VcnHZiFLXpZpnKFA3tgPdDU5hw",[1277,1283,1289],{"title":1278,"description":1279,"heroImage":535,"category":529,"date":1280,"authors":1281,"slug":1282,"externalUrl":533},"Kritische Remote Code Execution in der weit verbreiteten Node.js-Sandbox vm2","GitLabs Threat Research Group hat einen kritischen Sandbox Escape in vm2 gefunden – ausgelöst durch die dokumentierte Konfiguration der Bibliothek selbst.","2026-09-02",[7,8],"critical-remote-code-execution-in-vm2",{"title":1284,"description":1285,"heroImage":535,"category":529,"date":1286,"authors":1287,"slug":1288,"externalUrl":533},"Kritische RCE-Schwachstelle in Serena, einem beliebten MCP-Coding-Agenten","Die Threat Research Group von GitLab hat in Serena eine kritische Template Injection gefunden, die beim Öffnen eines Repositorys fremden Code ausführt.","2026-08-17",[8,7],"critical-rce-in-serena",{"title":1290,"description":1291,"heroImage":1292,"category":529,"date":1293,"authors":1294,"slug":1296,"externalUrl":533},"Detection-Tests mit GitLab CI/CD und Duo automatisieren","Wie das Signals-Engineering-Team von GitLab das WATCH-Framework gebaut hat, um die eigene Security-Monitoring-Pipeline fortlaufend zu validieren.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772195014/ooezwusxjl1f7ijfmbvj.png","2026-08-14",[1295],"Evan Baltman","automated-detection-testing-framework",{"header":1298,"text":1299,"button":1303,"disclaimer":1306},"Kostenlose 30-tägige\n\nGitLab-Testversion starten\n",[1300,1301,1302],"GitLab Duo Agent Platform nutzen","Unsere fortschrittlichsten Funktionen ausprobieren","Komplexe Aufgaben mit KI automatisieren",{"text":939,"config":1304},{"href":1305,"dataGaName":560,"dataGaLocation":796},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/blog/","Keine Kreditkarte erforderlich.",{"header":1308,"blurb":1309,"button":1310,"secondaryButton":1315},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":1311,"config":1312},"Kostenlosen Test starten",{"href":1313,"dataGaName":560,"dataGaLocation":1314},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":888,"config":1316},{"href":890,"dataGaName":565,"dataGaLocation":1314},1791944913913]