[{"data":1,"prerenderedAt":941},["ShallowReactive",2],{"/de-de/blog/improved-scope-offset-fingerprinting":3,"navigation-de-de":158,"banner-de-de":590,"footer-de-de":598,"blog-post-authors-de-de-Julian Thome":839,"blog-related-posts-de-de-improved-scope-offset-fingerprinting":853,"blog-promotions-de-de":878,"next-steps-de-de":931},{"id":4,"title":5,"authors":6,"body":8,"category":136,"date":137,"description":138,"extension":139,"externalUrl":140,"faq":140,"featured":141,"heroImage":142,"meta":143,"navigation":144,"path":145,"seo":146,"slug":150,"stem":151,"tags":152,"template":156,"updatedDate":140,"__hash__":157},"blogPosts/de-de/blog/improved-scope-offset-fingerprinting.md","Wie GitLab Schwachstellen über Refactorings hinweg verfolgt",[7],"Julian Thome",{"type":9,"value":10,"toc":129},"minimark",[11,15,20,47,59,63,66,69,75,78,82,93,108],[12,13,14],"p",{},"Security-Scans stehen täglich vor demselben Problem: Ein Agent oder ein(e) Entwickler(in) ergänzt einen Kommentar, formatiert eine Datei neu oder verschiebt eine Funktion, und ein naiv arbeitendes Vulnerability-Tracking meldet dasselbe Finding plötzlich zweimal. Security-Teams triagieren dann Findings erneut, die sie längst verworfen hatten. Das bedeutet vergebliche Prüfarbeit und untergräbt das Vertrauen in die Scan-Ergebnisse.",[16,17,19],"h2",{"id":18},"die-lücke-im-bisherigen-fingerprinting","Die Lücke im bisherigen Fingerprinting",[12,21,22,23,29,30,34,35,38,39,42,43,46],{},"2022 haben wir das ",[24,25,28],"a",{"href":26,"rel":27},"https://about.gitlab.com/de-de/blog/introducing-gitlab-advanced-vulnerability-tracking/",[],"erweiterte Vulnerability-Tracking eingeführt",", um genau dieses Problem der ",[31,32,33],"em",{},"Code-Volatilität"," anzugehen. Grundlage ist unsere ",[31,36,37],{},"Scope+Offset","-Methode zum Fingerprinting: Statt ein Finding über Datei und Zeilennummer zu identifizieren, identifizieren wir es über den engsten umschließenden ",[31,40,41],{},"Scope"," (Modul, Klasse, Funktion) und den Zeilen-",[31,44,45],{},"Offset"," innerhalb dieses Scopes. Damit wurde das Tracking robust dagegen, dass Code innerhalb einer Datei verschoben wird, und die vergebliche Nachprüfung ging gegenüber zeilenbasiertem Tracking um etwa 30 % zurück.",[12,48,49,50,54,55,58],{},"Eine Klasse von Änderungen blieb allerdings weiterhin problematisch: ",[51,52,53],"strong",{},"nicht-funktionale Änderungen",". Der Offset zählte jede Zeile zwischen Scope-Grenze und Finding, also auch Kommentare und Leerzeilen. Kommt über einer verwundbaren Anweisung ein Kommentar hinzu, verschiebt sich der Offset. Das Tracking sieht eine ",[31,56,57],{},"neue"," Schwachstelle, im Ergebnis steht ein Duplikat.",[16,60,62],{"id":61},"der-normalisierte-offset","Der normalisierte Offset",[12,64,65],{},"Unsere verbesserte Methode löst das, indem sie nicht-funktionalen Code, also Kommentare und Leerzeilen, bei der Berechnung des Fingerprints einfach überspringt. Da diese Zeilen das Verhalten des Programms nicht verändern, sollen sie auch die Identität einer Schwachstelle nicht verändern. Mit dieser Normalisierung ändert ein zusätzlicher Kommentar oder eine Neuformatierung den Fingerprint nicht mehr, während die Präzision des Trackings unverändert bleibt. Ausführlich beschrieben ist der Ansatz in unserem begleitenden Forschungsbeitrag.",[12,67,68],{},"Bewertet haben wir die normalisierte Methode auf einem gezielt zugeschnittenen Benchmark: 439 Quelldateien in C/C++, C#, Go, Java, JavaScript, Python und Ruby. Daraus haben wir 2.247 Commits erzeugt, von denen jeder genau einen Kommentar oder eine Leerzeile direkt vor einer bekannten Schwachstelle einfügt, und den Code beim Abspielen der Historie gescannt. Der Benchmark belastet bewusst den schlechtesten Fall: Jeder Commit ist eine nicht-funktionale Änderung unmittelbar neben einem Finding.",[12,70,71,72,74],{},"Auf diesem Benchmark sammelte die ursprüngliche ",[31,73,37],{},"-Methode 1.361 doppelte Fingerprints an und stieg damit von 1.768 auf 3.129 eindeutige Fingerprints, ein Wachstum von 77 % gegenüber der Ausgangslage. Die normalisierte Methode blieb bei 1.768, erzeugte also kein einziges Duplikat, und senkte die Zahl der eindeutigen Fingerprints insgesamt um 43 %.",[12,76,77],{},"Der Benchmark ist bewusst zugunsten der normalisierten Methode gebaut, denn er provoziert genau die Schwäche, die sie beheben soll. Die 43 % markieren damit die Obergrenze des erreichbaren Effekts und nicht den Wert, der sich im Alltag einstellt.",[16,79,81],{"id":80},"verfügbarkeit-und-forschungshintergrund","Verfügbarkeit und Forschungshintergrund",[12,83,84,87,88,92],{},[31,85,86],{},"Normalized Scope+Offset"," steckt in GitLab im Tracking-Algorithmus ",[89,90,91],"code",{},"scope_offset_compressed"," und unterstützt C#, C/C++, Go, Java, JavaScript, Python, Ruby und PHP. Der Algorithmus nutzt den Parse-Tree weiter, den der Scanner ohnehin aufbaut, sodass die Scan-Dauer unberührt bleibt. Das Format des Security-Reports ist unverändert, wodurch sich die Methode mit beliebigen Kombinationen von SAST-Werkzeugen in heterogenen Setups verträgt.",[12,94,95,96,101,102,107],{},"Der Preprint unserer Studie \"",[24,97,100],{"href":98,"rel":99},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1786457681/jm8oieyjhwut8ed2cpaq.pdf",[],"Vulnerability Tracking using Normalized Scope+Offset","\" von Julian Thome, Hua Yan, Lucas Charles, Craig Smith und Jason Leasure wird auf der 41. IEEE/ACM International Conference on Automated Software Engineering, dem ",[24,103,106],{"href":104,"rel":105},"https://conf.researchr.org/track/ase-2026/ase-2026-industry-showcase",[],"ASE 2026 Industry Showcase",", vorgestellt.",[12,109,110],{},[31,111,112,117,118,117,123,128],{},[24,113,116],{"href":114,"rel":115},"https://gitlab.com/hyan3",[],"Hua Yan",", ",[24,119,122],{"href":120,"rel":121},"https://gitlab.com/theoretick",[],"Lucas Charles",[24,124,127],{"href":125,"rel":126},"https://gitlab.com/craigmsmith",[],"Craig Smith"," und Jason Leasure haben zu diesem Beitrag und zur Studie beigetragen.",{"title":130,"searchDepth":131,"depth":131,"links":132},"",2,[133,134,135],{"id":18,"depth":131,"text":19},{"id":61,"depth":131,"text":62},{"id":80,"depth":131,"text":81},"security","2026-08-12","Das verbesserte Scope+Offset-Fingerprinting hält das Tracking stabil, wenn Kommentare, Leerzeilen oder Reformatierungen dazukommen.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png",{},true,"/de-de/blog/improved-scope-offset-fingerprinting",{"config":147,"title":148,"description":149},{"noIndex":141},"Schwachstellen über Refactorings hinweg verfolgen","Das verbesserte Scope+Offset-Fingerprinting hält das Schwachstellen-Tracking stabil, wenn Kommentare, Leerzeilen oder Reformatierungen dazukommen.","improved-scope-offset-fingerprinting","de-de/blog/improved-scope-offset-fingerprinting",[136,153,154,155],"security research","features","DevSecOps platform","BlogPost","gDlAr0NhdS104mVWcSbs2p8ZhDS2IOb2jK-p1Gkp2o0",{"logo":159,"freeTrial":164,"sales":169,"login":174,"items":179,"search":508,"minimal":542,"duo":560,"switchNav":569,"pricingDeployment":580},{"config":160},{"href":161,"dataGaName":162,"dataGaLocation":163},"/de-de/","gitlab logo","header",{"text":165,"config":166},"Kostenlose Testversion anfordern",{"href":167,"dataGaName":168,"dataGaLocation":163},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":170,"config":171},"Demo anfordern",{"href":172,"dataGaName":173,"dataGaLocation":163},"/de-de/sales/?contact-topic=request-demo","sales",{"text":175,"config":176},"Anmelden",{"href":177,"dataGaName":178,"dataGaLocation":163},"https://gitlab.com/users/sign_in/","sign in",[180,209,311,316,430,486],{"text":181,"config":182,"menu":184},"Plattform",{"dataNavLevelOne":183},"platform",{"type":185,"columns":186},"cards",[187,193,201],{"title":181,"description":188,"link":189},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":190,"config":191},"Die Plattform erkunden",{"href":192,"dataGaName":183,"dataGaLocation":163},"/de-de/platform/",{"title":194,"description":195,"link":196},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":197,"config":198},"Lerne GitLab Duo kennen",{"href":199,"dataGaName":200,"dataGaLocation":163},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":202,"description":203,"link":204},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":205,"config":206},"Mehr erfahren",{"href":207,"dataGaName":208,"dataGaLocation":163},"/de-de/why-gitlab/","why gitlab",{"text":210,"left":144,"config":211,"menu":213},"Produkt",{"dataNavLevelOne":212},"solutions",{"type":214,"link":215,"columns":219,"feature":290},"lists",{"text":216,"config":217},"Alle Lösungen anzeigen",{"href":218,"dataGaName":212,"dataGaLocation":163},"/de-de/solutions/",[220,245,268],{"title":221,"description":222,"link":223,"items":228},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":224},{"icon":225,"href":226,"dataGaName":227,"dataGaLocation":163},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[229,233,236,241],{"text":230,"config":231},"CI/CD",{"href":232,"dataGaLocation":163,"dataGaName":230},"/de-de/solutions/continuous-integration/",{"text":194,"config":234},{"href":199,"dataGaLocation":163,"dataGaName":235},"gitlab duo agent platform - product menu",{"text":237,"config":238},"Quellcodeverwaltung",{"href":239,"dataGaLocation":163,"dataGaName":240},"/de-de/solutions/source-code-management/","Source Code Management",{"text":242,"config":243},"Automatische Softwarebereitstellung",{"href":226,"dataGaLocation":163,"dataGaName":244},"Automated software delivery",{"title":246,"description":247,"link":248,"items":253},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":249},{"href":250,"dataGaName":251,"dataGaLocation":163,"icon":252},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[254,258,263],{"text":255,"config":256},"Anwendungssicherheitstests",{"href":250,"dataGaName":257,"dataGaLocation":163},"Application security testing",{"text":259,"config":260},"Schutz der Software-Lieferkette",{"href":261,"dataGaLocation":163,"dataGaName":262},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":264,"config":265},"Software-Compliance",{"href":266,"dataGaName":267,"dataGaLocation":163},"/de-de/solutions/software-compliance/","software compliance",{"title":269,"link":270,"items":275},"Messung",{"config":271},{"icon":272,"href":273,"dataGaName":274,"dataGaLocation":163},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[276,280,285],{"text":277,"config":278},"Sichtbarkeit und Messung",{"href":273,"dataGaLocation":163,"dataGaName":279},"Visibility and Measurement",{"text":281,"config":282},"Wertstrommanagement",{"href":283,"dataGaLocation":163,"dataGaName":284},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":286,"config":287},"Analysen und Einblicke",{"href":288,"dataGaLocation":163,"dataGaName":289},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":291,"type":214,"items":292},"GitLab für",[293,299,305],{"text":294,"config":295},"Enterprise",{"icon":296,"href":297,"dataGaLocation":163,"dataGaName":298},"Building","/de-de/enterprise/","enterprise",{"text":300,"config":301},"Kleinunternehmen",{"icon":302,"href":303,"dataGaLocation":163,"dataGaName":304},"Work","/de-de/small-business/","small business",{"text":306,"config":307},"Öffentlicher Sektor",{"icon":308,"href":309,"dataGaLocation":163,"dataGaName":310},"Organization","/de-de/solutions/public-sector/","public sector",{"text":312,"config":313},"Preise",{"href":314,"dataGaName":315,"dataGaLocation":163,"dataNavLevelOne":315},"/de-de/pricing/","pricing",{"text":317,"config":318,"menu":320},"Ressourcen",{"dataNavLevelOne":319},"resources",{"type":214,"link":321,"columns":325,"feature":419},{"text":322,"config":323},"Alle Ressourcen anzeigen",{"href":324,"dataGaName":319,"dataGaLocation":163},"/de-de/resources/",[326,359,386],{"title":327,"items":328},"Erste Schritte",[329,334,339,344,349,354],{"text":330,"config":331},"Installieren",{"href":332,"dataGaName":333,"dataGaLocation":163},"/de-de/install/","install",{"text":335,"config":336},"Kurzanleitungen",{"href":337,"dataGaName":338,"dataGaLocation":163},"/de-de/get-started/","quick setup checklists",{"text":340,"config":341},"Lernen",{"href":342,"dataGaLocation":163,"dataGaName":343},"https://university.gitlab.com/","learn",{"text":345,"config":346},"Produktdokumentation",{"href":347,"dataGaName":348,"dataGaLocation":163},"https://docs.gitlab.com/","product documentation",{"text":350,"config":351},"Best-Practice-Videos",{"href":352,"dataGaName":353,"dataGaLocation":163},"/de-de/getting-started-videos/","best practice videos",{"text":355,"config":356},"Integrationen",{"href":357,"dataGaName":358,"dataGaLocation":163},"/de-de/integrations/","integrations",{"title":360,"items":361},"Entdecken",[362,367,372,377,381],{"text":363,"config":364},"Kundenerfolge",{"href":365,"dataGaName":366,"dataGaLocation":163},"/de-de/customers/","customer success stories",{"text":368,"config":369},"Blog",{"href":370,"dataGaName":371,"dataGaLocation":163},"/de-de/blog/","blog",{"text":373,"config":374},"Demo-Hub",{"href":375,"dataGaName":376,"dataGaLocation":163},"/de-de/demo-hub/","demo hub",{"text":378,"config":379},"The Source",{"href":380,"dataGaName":371,"dataGaLocation":163},"/de-de/the-source/",{"text":382,"config":383},"Remote",{"href":384,"dataGaName":385,"dataGaLocation":163},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":387,"items":388},"Vernetzen",[389,394,399,404,409,414],{"text":390,"config":391},"GitLab-Services",{"href":392,"dataGaName":393,"dataGaLocation":163},"/de-de/services/","services",{"text":395,"config":396},"Beitragen",{"href":397,"dataGaName":398,"dataGaLocation":163},"https://contributors.gitlab.com","contribute",{"text":400,"config":401},"Community",{"href":402,"dataGaName":403,"dataGaLocation":163},"/community/","community",{"text":405,"config":406},"Forum",{"href":407,"dataGaName":408,"dataGaLocation":163},"https://forum.gitlab.com/","forum",{"text":410,"config":411},"Veranstaltungen",{"href":412,"dataGaName":413,"dataGaLocation":163},"/events/","events",{"text":415,"config":416},"Partner",{"href":417,"dataGaName":418,"dataGaLocation":163},"/de-de/partners/","partners",{"config":420,"title":423,"text":424,"link":425},{"background":421,"textColor":422},"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":426,"config":427},"Aktuelle Nachrichten",{"href":428,"dataGaName":429,"dataGaLocation":163},"/de-de/whats-new/","whats new",{"text":431,"config":432,"menu":434},"Unternehmen",{"dataNavLevelOne":433},"company",{"type":214,"columns":435},[436],{"items":437},[438,443,449,451,456,461,466,471,476,481],{"text":439,"config":440},"Über",{"href":441,"dataGaName":442,"dataGaLocation":163},"/de-de/company/","about",{"text":444,"config":445,"footerGa":448},"Karriere",{"href":446,"dataGaName":447,"dataGaLocation":163},"/jobs/","jobs",{"dataGaName":447},{"text":410,"config":450},{"href":412,"dataGaName":413,"dataGaLocation":163},{"text":452,"config":453},"Geschäftsführung",{"href":454,"dataGaName":455,"dataGaLocation":163},"/company/team/e-group/","leadership",{"text":457,"config":458},"Handbuch",{"href":459,"dataGaName":460,"dataGaLocation":163},"https://handbook.gitlab.com/","handbook",{"text":462,"config":463},"Investor Relations",{"href":464,"dataGaName":465,"dataGaLocation":163},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":467,"config":468},"Trust Center",{"href":469,"dataGaName":470,"dataGaLocation":163},"/de-de/security/","trust center",{"text":472,"config":473},"AI Transparency Center",{"href":474,"dataGaName":475,"dataGaLocation":163},"/de-de/ai-transparency-center/","ai transparency center",{"text":477,"config":478},"Newsletter",{"href":479,"dataGaName":480,"dataGaLocation":163},"/company/contact/#contact-forms","newsletter",{"text":482,"config":483},"Presse",{"href":484,"dataGaName":485,"dataGaLocation":163},"/press/","press",{"text":487,"config":488,"menu":489},"Kontakt",{"dataNavLevelOne":433},{"type":214,"columns":490},[491],{"items":492},[493,498,503],{"text":494,"config":495},"Vertrieb kontaktieren",{"href":496,"dataGaName":497,"dataGaLocation":163},"/de-de/sales/","talk to sales",{"text":499,"config":500},"Support-Portal",{"href":501,"dataGaName":502,"dataGaLocation":163},"https://support.gitlab.com/hc/en-us","support portal",{"text":504,"config":505},"Kundenportal",{"href":506,"dataGaName":507,"dataGaLocation":163},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":509,"login":510,"suggestions":517},"Schließen",{"text":511,"link":512},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":513,"config":514},"gitlab.com",{"href":177,"dataGaName":515,"dataGaLocation":516},"search login","search",{"text":518,"default":519},"Vorschläge",[520,522,527,529,534,539],{"text":194,"config":521},{"href":199,"dataGaName":194,"dataGaLocation":516},{"text":523,"config":524},"Codevorschläge (KI)",{"href":525,"dataGaName":526,"dataGaLocation":516},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":230,"config":528},{"href":232,"dataGaName":230,"dataGaLocation":516},{"text":530,"config":531},"GitLab auf AWS",{"href":532,"dataGaName":533,"dataGaLocation":516},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":535,"config":536},"GitLab auf Google Cloud",{"href":537,"dataGaName":538,"dataGaLocation":516},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":202,"config":540},{"href":207,"dataGaName":541,"dataGaLocation":516},"Why GitLab?",{"freeTrial":543,"mobileIcon":548,"desktopIcon":553,"secondaryButton":556},{"text":544,"config":545},"Kostenlos testen",{"href":546,"dataGaName":168,"dataGaLocation":547},"https://gitlab.com/-/trials/new/","nav",{"altText":549,"config":550},"GitLab-Symbol",{"src":551,"dataGaName":552,"dataGaLocation":547},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":549,"config":554},{"src":555,"dataGaName":552,"dataGaLocation":547},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":327,"config":557},{"href":558,"dataGaName":559,"dataGaLocation":547},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":561,"mobileIcon":565,"desktopIcon":567},{"text":562,"config":563},"Mehr über GitLab Duo erfahren",{"href":199,"dataGaName":564,"dataGaLocation":547},"gitlab duo",{"altText":549,"config":566},{"src":551,"dataGaName":552,"dataGaLocation":547},{"altText":549,"config":568},{"src":555,"dataGaName":552,"dataGaLocation":547},{"button":570,"mobileIcon":575,"desktopIcon":577},{"text":571,"config":572},"/Option",{"href":573,"dataGaName":574,"dataGaLocation":547},"#contact","switch",{"altText":549,"config":576},{"src":551,"dataGaName":552,"dataGaLocation":547},{"altText":549,"config":578},{"src":579,"dataGaName":552,"dataGaLocation":547},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":581,"mobileIcon":586,"desktopIcon":588},{"text":582,"config":583},"Zurück zur Preisübersicht",{"href":314,"dataGaName":584,"dataGaLocation":547,"icon":585},"back to pricing","GoBack",{"altText":549,"config":587},{"src":551,"dataGaName":552,"dataGaLocation":547},{"altText":549,"config":589},{"src":555,"dataGaName":552,"dataGaLocation":547},{"title":591,"button":592,"config":596},"GitLab Orbit ist da: die Kontextebene für KI-Agenten",{"text":205,"config":593},{"href":594,"dataGaName":595,"dataGaLocation":163},"/de-de/gitlab-orbit/","orbit",{"layout":597,"disabled":141},"release",{"data":599},{"text":600,"source":601,"edit":607,"contribute":612,"config":617,"items":622,"minimal":828},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":602,"config":603},"Quelltext der Seite anzeigen",{"href":604,"dataGaName":605,"dataGaLocation":606},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":608,"config":609},"Diese Seite bearbeiten",{"href":610,"dataGaName":611,"dataGaLocation":606},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":613,"config":614},"Beteilige dich",{"href":615,"dataGaName":616,"dataGaLocation":606},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":618,"facebook":619,"youtube":620,"linkedin":621},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[623,668,721,763,795],{"title":312,"links":624,"subMenu":639},[625,629,634],{"text":626,"config":627},"Tarife anzeigen",{"href":314,"dataGaName":628,"dataGaLocation":606},"view plans",{"text":630,"config":631},"Vorteile von Premium",{"href":632,"dataGaName":633,"dataGaLocation":606},"/de-de/pricing/premium/","why premium",{"text":635,"config":636},"Vorteile von Ultimate",{"href":637,"dataGaName":638,"dataGaLocation":606},"/de-de/pricing/ultimate/","why ultimate",[640],{"title":487,"links":641},[642,644,646,648,653,658,663],{"text":494,"config":643},{"href":496,"dataGaName":173,"dataGaLocation":606},{"text":499,"config":645},{"href":501,"dataGaName":502,"dataGaLocation":606},{"text":504,"config":647},{"href":506,"dataGaName":507,"dataGaLocation":606},{"text":649,"config":650},"Status",{"href":651,"dataGaName":652,"dataGaLocation":606},"https://status.gitlab.com/","status",{"text":654,"config":655},"Nutzungsbedingungen",{"href":656,"dataGaName":657,"dataGaLocation":606},"/terms/","terms of use",{"text":659,"config":660},"Datenschutzerklärung",{"href":661,"dataGaName":662,"dataGaLocation":606},"/de-de/privacy/","privacy statement",{"text":664,"config":665},"Cookie-Einstellungen",{"dataGaName":666,"dataGaLocation":606,"id":667,"isOneTrustButton":144},"cookie preferences","ot-sdk-btn",{"title":210,"links":669,"subMenu":678},[670,674],{"text":671,"config":672},"DevSecOps-Plattform",{"href":192,"dataGaName":673,"dataGaLocation":606},"devsecops platform",{"text":675,"config":676},"KI-unterstützte Entwicklung",{"href":199,"dataGaName":677,"dataGaLocation":606},"ai-assisted development",[679],{"title":680,"links":681},"Themen",[682,686,691,696,701,706,711,716],{"text":230,"config":683},{"href":684,"dataGaName":685,"dataGaLocation":606},"/de-de/topics/ci-cd/","cicd",{"text":687,"config":688},"GitOps",{"href":689,"dataGaName":690,"dataGaLocation":606},"/de-de/topics/gitops/","gitops",{"text":692,"config":693},"DevOps",{"href":694,"dataGaName":695,"dataGaLocation":606},"/de-de/topics/devops/","devops",{"text":697,"config":698},"Versionskontrolle",{"href":699,"dataGaName":700,"dataGaLocation":606},"/de-de/topics/version-control/","version control",{"text":702,"config":703},"DevSecOps",{"href":704,"dataGaName":705,"dataGaLocation":606},"/de-de/topics/devsecops/","devsecops",{"text":707,"config":708},"Cloud-nativ",{"href":709,"dataGaName":710,"dataGaLocation":606},"/de-de/topics/cloud-native/","cloud native",{"text":712,"config":713},"KI für das Programmieren",{"href":714,"dataGaName":715,"dataGaLocation":606},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":717,"config":718},"Agentische KI",{"href":719,"dataGaName":720,"dataGaLocation":606},"/de-de/topics/agentic-ai/","agentic ai",{"title":722,"links":723},"Lösungen",[724,727,729,734,738,741,744,747,749,751,753,758],{"text":255,"config":725},{"href":250,"dataGaName":726,"dataGaLocation":606},"Application Security Testing",{"text":242,"config":728},{"href":226,"dataGaName":227,"dataGaLocation":606},{"text":730,"config":731},"Agile Entwicklung",{"href":732,"dataGaName":733,"dataGaLocation":606},"/de-de/solutions/agile-delivery/","agile delivery",{"text":735,"config":736},"SCM",{"href":239,"dataGaName":737,"dataGaLocation":606},"source code management",{"text":230,"config":739},{"href":232,"dataGaName":740,"dataGaLocation":606},"continuous integration & delivery",{"text":281,"config":742},{"href":283,"dataGaName":743,"dataGaLocation":606},"value stream management",{"text":687,"config":745},{"href":746,"dataGaName":690,"dataGaLocation":606},"/de-de/solutions/gitops/",{"text":294,"config":748},{"href":297,"dataGaName":298,"dataGaLocation":606},{"text":300,"config":750},{"href":303,"dataGaName":304,"dataGaLocation":606},{"text":306,"config":752},{"href":309,"dataGaName":310,"dataGaLocation":606},{"text":754,"config":755},"Bildungswesen",{"href":756,"dataGaName":757,"dataGaLocation":606},"/de-de/solutions/education/","education",{"text":759,"config":760},"Finanzdienstleistungen",{"href":761,"dataGaName":762,"dataGaLocation":606},"/de-de/solutions/finance/","financial services",{"title":317,"links":764},[765,767,769,771,774,776,779,781,783,785,787,789,791,793],{"text":330,"config":766},{"href":332,"dataGaName":333,"dataGaLocation":606},{"text":335,"config":768},{"href":337,"dataGaName":338,"dataGaLocation":606},{"text":340,"config":770},{"href":342,"dataGaName":343,"dataGaLocation":606},{"text":345,"config":772},{"href":347,"dataGaName":773,"dataGaLocation":606},"docs",{"text":368,"config":775},{"href":370,"dataGaName":371,"dataGaLocation":606},{"text":777,"config":778},"Neuerungen",{"href":428,"dataGaName":429,"dataGaLocation":606},{"text":363,"config":780},{"href":365,"dataGaName":366,"dataGaLocation":606},{"text":382,"config":782},{"href":384,"dataGaName":385,"dataGaLocation":606},{"text":390,"config":784},{"href":392,"dataGaName":393,"dataGaLocation":606},{"text":395,"config":786},{"href":397,"dataGaName":398,"dataGaLocation":606},{"text":400,"config":788},{"href":402,"dataGaName":403,"dataGaLocation":606},{"text":405,"config":790},{"href":407,"dataGaName":408,"dataGaLocation":606},{"text":410,"config":792},{"href":412,"dataGaName":413,"dataGaLocation":606},{"text":415,"config":794},{"href":417,"dataGaName":418,"dataGaLocation":606},{"title":431,"links":796},[797,799,801,803,805,807,812,817,819,821,823],{"text":439,"config":798},{"href":441,"dataGaName":433,"dataGaLocation":606},{"text":444,"config":800},{"href":446,"dataGaName":447,"dataGaLocation":606},{"text":452,"config":802},{"href":454,"dataGaName":455,"dataGaLocation":606},{"text":457,"config":804},{"href":459,"dataGaName":460,"dataGaLocation":606},{"text":462,"config":806},{"href":464,"dataGaName":465,"dataGaLocation":606},{"text":808,"config":809},"Nachhaltigkeit",{"href":810,"dataGaName":811,"dataGaLocation":606},"/sustainability/","Sustainability",{"text":813,"config":814},"Vielfalt, Inklusion und Zugehörigkeit",{"href":815,"dataGaName":816,"dataGaLocation":606},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":467,"config":818},{"href":469,"dataGaName":470,"dataGaLocation":606},{"text":477,"config":820},{"href":479,"dataGaName":480,"dataGaLocation":606},{"text":482,"config":822},{"href":484,"dataGaName":485,"dataGaLocation":606},{"text":824,"config":825},"Transparenzerklärung zu moderner Sklaverei",{"href":826,"dataGaName":827,"dataGaLocation":606},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":829},[830,833,836],{"text":831,"config":832},"Terms",{"href":656,"dataGaName":657,"dataGaLocation":606},{"text":834,"config":835},"Cookies",{"dataGaName":666,"dataGaLocation":606,"id":667,"isOneTrustButton":144},{"text":837,"config":838},"Datenschutz",{"href":661,"dataGaName":662,"dataGaLocation":606},[840],{"id":841,"title":7,"body":140,"config":842,"content":844,"description":140,"extension":847,"meta":848,"navigation":144,"path":849,"seo":850,"stem":851,"__hash__":852},"blogAuthors/en-us/blog/authors/julian-thome.yml",{"template":843},"BlogAuthor",{"name":7,"config":845},{"headshot":130,"ctfId":846},"jthome","yml",{},"/en-us/blog/authors/julian-thome",{},"en-us/blog/authors/julian-thome","60j2yTW0PuY7q83cXf4NkfzrKTRE2sUlVv5TXE6o1xM",[854,862,870],{"title":855,"description":856,"heroImage":142,"category":136,"date":857,"authors":858,"slug":861,"externalUrl":140},"GitLab Secrets Manager unterstützt ESO, Terraform und API","GitLab Secrets Manager liefert Secrets sicher an Kubernetes, Terraform und externe Workflows, aus einer einzigen Quelle für die gesamte Toolchain.","2026-08-06",[859,860],"Erick Bajao","Joe Randazzo","gitlab-secrets-manager-add-eso-terraform-api-support",{"title":863,"description":864,"heroImage":865,"category":136,"date":866,"authors":867,"slug":869,"externalUrl":140},"Mit Claude und GitLab jeden Commit bis zur Produktion absichern","Claude Security findet Schwachstellen in der Coding-Session. GitLab übernimmt danach: Scans, Policy-Durchsetzung und Audit-Nachweise im Lebenszyklus.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2026-08-03",[868],"Alisa Ho","claude-security-and-gitlab",{"title":871,"description":872,"heroImage":873,"category":136,"date":874,"authors":875,"slug":877,"externalUrl":140},"GitLab Duo Security Review erkennt Logikfehler, die Scanner übersehen","KI-gestützte Security-Reasoning erkennt Autorisierungslücken, Business-Logic-Fehler und Race Conditions, während Code noch im Review ist.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1783980535/t3gez0gpayfndrhncunf.png","2026-07-16",[876],"Mark Settle","gitlab-duo-security-review-flow",{"promotions":879},[880,894,906,917],{"id":881,"categories":882,"header":884,"text":885,"button":886,"image":891},"ai-modernization",[883],"ai","Hält KI, was uns versprochen wurde?","Das Quiz dauert maximal 5 Minuten.",{"text":887,"config":888},"Ermittle deinen KI-Reifegrad",{"href":889,"dataGaName":890,"dataGaLocation":371},"/de-de/assessments/ai-modernization-assessment/","modernization assessment",{"config":892},{"src":893},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":895,"categories":896,"header":898,"text":885,"button":899,"image":903},"devops-modernization",[897,705],"product","Verwaltest du Tool-Chaos oder stellst du Innovationen bereit?",{"text":900,"config":901},"Ermittle deinen DevOps-Reifegrad",{"href":902,"dataGaName":890,"dataGaLocation":371},"/de-de/assessments/devops-modernization-assessment/",{"config":904},{"src":905},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":907,"categories":908,"header":909,"text":885,"button":910,"image":914},"security-modernization",[136],"Tauschst du Schnelligkeit gegen Sicherheit ein?",{"text":911,"config":912},"Ermittle deinen Sicherheitsreifegrad",{"href":913,"dataGaName":890,"dataGaLocation":371},"/de-de/assessments/security-modernization-assessment/",{"config":915},{"src":916},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":918,"paths":919,"header":922,"text":923,"button":924,"image":929},"github-azure-migration",[920,921],"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":925,"config":926},"Erfahre, wie GitLab im Vergleich zu GitHub abschneidet",{"href":927,"dataGaName":928,"dataGaLocation":371},"/de-de/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":930},{"src":905},{"header":932,"blurb":933,"button":934,"secondaryButton":939},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":935,"config":936},"Kostenlosen Test starten",{"href":937,"dataGaName":168,"dataGaLocation":938},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":494,"config":940},{"href":496,"dataGaName":173,"dataGaLocation":938},1786634979358]