[{"data":1,"prerenderedAt":917},["ShallowReactive",2],{"/de-de/blog/categories/security/page/6":3,"navigation-de-de":21,"banner-de-de":452,"footer-de-de":460,"security-category-page-total-items-de-de":701,"security-category-page-featured-de-de":702,"security-category-page-6-de-de":853},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":11,"description":6,"extension":13,"meta":14,"navigation":15,"path":16,"seo":17,"slug":6,"stem":19,"testContent":6,"type":6,"__hash__":20},"blogCategories/de-de/blog/categories/security.yml","Security",null,{"template":8,"slug":9,"hide":10},"BlogCategory","security",false,{"name":12},"Sicherheit","yml",{},true,"/de-de/blog/categories/security",{"title":12,"description":18},"Browse articles related to Sicherheit on the GitLab Blog","de-de/blog/categories/security","RafNa29JNZ4JNGO3MJvpMciY4CG3ivNwFzY265Udobw",{"logo":22,"freeTrial":27,"sales":32,"login":37,"items":42,"search":370,"minimal":404,"duo":422,"switchNav":431,"pricingDeployment":442},{"config":23},{"href":24,"dataGaName":25,"dataGaLocation":26},"/de-de/","gitlab logo","header",{"text":28,"config":29},"Kostenlose Testversion anfordern",{"href":30,"dataGaName":31,"dataGaLocation":26},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":33,"config":34},"Demo anfordern",{"href":35,"dataGaName":36,"dataGaLocation":26},"/de-de/sales/?contact-topic=request-demo","sales",{"text":38,"config":39},"Anmelden",{"href":40,"dataGaName":41,"dataGaLocation":26},"https://gitlab.com/users/sign_in/","sign in",[43,72,173,178,292,348],{"text":44,"config":45,"menu":47},"Plattform",{"dataNavLevelOne":46},"platform",{"type":48,"columns":49},"cards",[50,56,64],{"title":44,"description":51,"link":52},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":53,"config":54},"Die Plattform erkunden",{"href":55,"dataGaName":46,"dataGaLocation":26},"/de-de/platform/",{"title":57,"description":58,"link":59},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":60,"config":61},"Lerne GitLab Duo kennen",{"href":62,"dataGaName":63,"dataGaLocation":26},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":65,"description":66,"link":67},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":68,"config":69},"Mehr erfahren",{"href":70,"dataGaName":71,"dataGaLocation":26},"/de-de/why-gitlab/","why gitlab",{"text":73,"left":15,"config":74,"menu":76},"Produkt",{"dataNavLevelOne":75},"solutions",{"type":77,"link":78,"columns":82,"feature":152},"lists",{"text":79,"config":80},"Alle Lösungen anzeigen",{"href":81,"dataGaName":75,"dataGaLocation":26},"/de-de/solutions/",[83,108,130],{"title":84,"description":85,"link":86,"items":91},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":87},{"icon":88,"href":89,"dataGaName":90,"dataGaLocation":26},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[92,96,99,104],{"text":93,"config":94},"CI/CD",{"href":95,"dataGaLocation":26,"dataGaName":93},"/de-de/solutions/continuous-integration/",{"text":57,"config":97},{"href":62,"dataGaLocation":26,"dataGaName":98},"gitlab duo agent platform - product menu",{"text":100,"config":101},"Quellcodeverwaltung",{"href":102,"dataGaLocation":26,"dataGaName":103},"/de-de/solutions/source-code-management/","Source Code Management",{"text":105,"config":106},"Automatische Softwarebereitstellung",{"href":89,"dataGaLocation":26,"dataGaName":107},"Automated software delivery",{"title":12,"description":109,"link":110,"items":115},"Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":111},{"href":112,"dataGaName":113,"dataGaLocation":26,"icon":114},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[116,120,125],{"text":117,"config":118},"Anwendungssicherheitstests",{"href":112,"dataGaName":119,"dataGaLocation":26},"Application security testing",{"text":121,"config":122},"Schutz der Software-Lieferkette",{"href":123,"dataGaLocation":26,"dataGaName":124},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":126,"config":127},"Software-Compliance",{"href":128,"dataGaName":129,"dataGaLocation":26},"/de-de/solutions/software-compliance/","software compliance",{"title":131,"link":132,"items":137},"Messung",{"config":133},{"icon":134,"href":135,"dataGaName":136,"dataGaLocation":26},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[138,142,147],{"text":139,"config":140},"Sichtbarkeit und Messung",{"href":135,"dataGaLocation":26,"dataGaName":141},"Visibility and Measurement",{"text":143,"config":144},"Wertstrommanagement",{"href":145,"dataGaLocation":26,"dataGaName":146},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":148,"config":149},"Analysen und Einblicke",{"href":150,"dataGaLocation":26,"dataGaName":151},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":153,"type":77,"items":154},"GitLab für",[155,161,167],{"text":156,"config":157},"Enterprise",{"icon":158,"href":159,"dataGaLocation":26,"dataGaName":160},"Building","/de-de/enterprise/","enterprise",{"text":162,"config":163},"Kleinunternehmen",{"icon":164,"href":165,"dataGaLocation":26,"dataGaName":166},"Work","/de-de/small-business/","small business",{"text":168,"config":169},"Öffentlicher Sektor",{"icon":170,"href":171,"dataGaLocation":26,"dataGaName":172},"Organization","/de-de/solutions/public-sector/","public sector",{"text":174,"config":175},"Preise",{"href":176,"dataGaName":177,"dataGaLocation":26,"dataNavLevelOne":177},"/de-de/pricing/","pricing",{"text":179,"config":180,"menu":182},"Ressourcen",{"dataNavLevelOne":181},"resources",{"type":77,"link":183,"columns":187,"feature":281},{"text":184,"config":185},"Alle Ressourcen anzeigen",{"href":186,"dataGaName":181,"dataGaLocation":26},"/de-de/resources/",[188,221,248],{"title":189,"items":190},"Erste Schritte",[191,196,201,206,211,216],{"text":192,"config":193},"Installieren",{"href":194,"dataGaName":195,"dataGaLocation":26},"/de-de/install/","install",{"text":197,"config":198},"Kurzanleitungen",{"href":199,"dataGaName":200,"dataGaLocation":26},"/de-de/get-started/","quick setup checklists",{"text":202,"config":203},"Lernen",{"href":204,"dataGaLocation":26,"dataGaName":205},"https://university.gitlab.com/","learn",{"text":207,"config":208},"Produktdokumentation",{"href":209,"dataGaName":210,"dataGaLocation":26},"https://docs.gitlab.com/","product documentation",{"text":212,"config":213},"Best-Practice-Videos",{"href":214,"dataGaName":215,"dataGaLocation":26},"/de-de/getting-started-videos/","best practice videos",{"text":217,"config":218},"Integrationen",{"href":219,"dataGaName":220,"dataGaLocation":26},"/de-de/integrations/","integrations",{"title":222,"items":223},"Entdecken",[224,229,234,239,243],{"text":225,"config":226},"Kundenerfolge",{"href":227,"dataGaName":228,"dataGaLocation":26},"/de-de/customers/","customer success stories",{"text":230,"config":231},"Blog",{"href":232,"dataGaName":233,"dataGaLocation":26},"/de-de/blog/","blog",{"text":235,"config":236},"Demo-Hub",{"href":237,"dataGaName":238,"dataGaLocation":26},"/de-de/demo-hub/","demo hub",{"text":240,"config":241},"The Source",{"href":242,"dataGaName":233,"dataGaLocation":26},"/de-de/the-source/",{"text":244,"config":245},"Remote",{"href":246,"dataGaName":247,"dataGaLocation":26},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":249,"items":250},"Vernetzen",[251,256,261,266,271,276],{"text":252,"config":253},"GitLab-Services",{"href":254,"dataGaName":255,"dataGaLocation":26},"/de-de/services/","services",{"text":257,"config":258},"Beitragen",{"href":259,"dataGaName":260,"dataGaLocation":26},"https://contributors.gitlab.com","contribute",{"text":262,"config":263},"Community",{"href":264,"dataGaName":265,"dataGaLocation":26},"/community/","community",{"text":267,"config":268},"Forum",{"href":269,"dataGaName":270,"dataGaLocation":26},"https://forum.gitlab.com/","forum",{"text":272,"config":273},"Veranstaltungen",{"href":274,"dataGaName":275,"dataGaLocation":26},"/events/","events",{"text":277,"config":278},"Partner",{"href":279,"dataGaName":280,"dataGaLocation":26},"/de-de/partners/","partners",{"config":282,"title":285,"text":286,"link":287},{"background":283,"textColor":284},"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":288,"config":289},"Aktuelle Nachrichten",{"href":290,"dataGaName":291,"dataGaLocation":26},"/de-de/whats-new/","whats new",{"text":293,"config":294,"menu":296},"Unternehmen",{"dataNavLevelOne":295},"company",{"type":77,"columns":297},[298],{"items":299},[300,305,311,313,318,323,328,333,338,343],{"text":301,"config":302},"Über",{"href":303,"dataGaName":304,"dataGaLocation":26},"/de-de/company/","about",{"text":306,"config":307,"footerGa":310},"Karriere",{"href":308,"dataGaName":309,"dataGaLocation":26},"/jobs/","jobs",{"dataGaName":309},{"text":272,"config":312},{"href":274,"dataGaName":275,"dataGaLocation":26},{"text":314,"config":315},"Geschäftsführung",{"href":316,"dataGaName":317,"dataGaLocation":26},"/company/team/e-group/","leadership",{"text":319,"config":320},"Handbuch",{"href":321,"dataGaName":322,"dataGaLocation":26},"https://handbook.gitlab.com/","handbook",{"text":324,"config":325},"Investor Relations",{"href":326,"dataGaName":327,"dataGaLocation":26},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":329,"config":330},"Trust Center",{"href":331,"dataGaName":332,"dataGaLocation":26},"/de-de/security/","trust center",{"text":334,"config":335},"AI Transparency Center",{"href":336,"dataGaName":337,"dataGaLocation":26},"/de-de/ai-transparency-center/","ai transparency center",{"text":339,"config":340},"Newsletter",{"href":341,"dataGaName":342,"dataGaLocation":26},"/company/contact/#contact-forms","newsletter",{"text":344,"config":345},"Presse",{"href":346,"dataGaName":347,"dataGaLocation":26},"/press/","press",{"text":349,"config":350,"menu":351},"Kontakt",{"dataNavLevelOne":295},{"type":77,"columns":352},[353],{"items":354},[355,360,365],{"text":356,"config":357},"Vertrieb kontaktieren",{"href":358,"dataGaName":359,"dataGaLocation":26},"/de-de/sales/","talk to sales",{"text":361,"config":362},"Support-Portal",{"href":363,"dataGaName":364,"dataGaLocation":26},"https://support.gitlab.com/hc/en-us","support portal",{"text":366,"config":367},"Kundenportal",{"href":368,"dataGaName":369,"dataGaLocation":26},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":371,"login":372,"suggestions":379},"Schließen",{"text":373,"link":374},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":375,"config":376},"gitlab.com",{"href":40,"dataGaName":377,"dataGaLocation":378},"search login","search",{"text":380,"default":381},"Vorschläge",[382,384,389,391,396,401],{"text":57,"config":383},{"href":62,"dataGaName":57,"dataGaLocation":378},{"text":385,"config":386},"Codevorschläge (KI)",{"href":387,"dataGaName":388,"dataGaLocation":378},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":93,"config":390},{"href":95,"dataGaName":93,"dataGaLocation":378},{"text":392,"config":393},"GitLab auf AWS",{"href":394,"dataGaName":395,"dataGaLocation":378},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":397,"config":398},"GitLab auf Google Cloud",{"href":399,"dataGaName":400,"dataGaLocation":378},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":65,"config":402},{"href":70,"dataGaName":403,"dataGaLocation":378},"Why GitLab?",{"freeTrial":405,"mobileIcon":410,"desktopIcon":415,"secondaryButton":418},{"text":406,"config":407},"Kostenlos testen",{"href":408,"dataGaName":31,"dataGaLocation":409},"https://gitlab.com/-/trials/new/","nav",{"altText":411,"config":412},"GitLab-Symbol",{"src":413,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":411,"config":416},{"src":417,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":189,"config":419},{"href":420,"dataGaName":421,"dataGaLocation":409},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":423,"mobileIcon":427,"desktopIcon":429},{"text":424,"config":425},"Mehr über GitLab Duo erfahren",{"href":62,"dataGaName":426,"dataGaLocation":409},"gitlab duo",{"altText":411,"config":428},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":430},{"src":417,"dataGaName":414,"dataGaLocation":409},{"button":432,"mobileIcon":437,"desktopIcon":439},{"text":433,"config":434},"/Option",{"href":435,"dataGaName":436,"dataGaLocation":409},"#contact","switch",{"altText":411,"config":438},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":440},{"src":441,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":443,"mobileIcon":448,"desktopIcon":450},{"text":444,"config":445},"Zurück zur Preisübersicht",{"href":176,"dataGaName":446,"dataGaLocation":409,"icon":447},"back to pricing","GoBack",{"altText":411,"config":449},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":451},{"src":417,"dataGaName":414,"dataGaLocation":409},{"title":453,"button":454,"config":458},"GitLab Orbit ist da: die Kontextebene für KI-Agenten",{"text":68,"config":455},{"href":456,"dataGaName":457,"dataGaLocation":26},"/de-de/gitlab-orbit/","orbit",{"layout":459,"disabled":10},"release",{"data":461},{"text":462,"source":463,"edit":469,"contribute":474,"config":479,"items":484,"minimal":690},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":464,"config":465},"Quelltext der Seite anzeigen",{"href":466,"dataGaName":467,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":470,"config":471},"Diese Seite bearbeiten",{"href":472,"dataGaName":473,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":475,"config":476},"Beteilige dich",{"href":477,"dataGaName":478,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":480,"facebook":481,"youtube":482,"linkedin":483},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[485,530,583,625,657],{"title":174,"links":486,"subMenu":501},[487,491,496],{"text":488,"config":489},"Tarife anzeigen",{"href":176,"dataGaName":490,"dataGaLocation":468},"view plans",{"text":492,"config":493},"Vorteile von Premium",{"href":494,"dataGaName":495,"dataGaLocation":468},"/de-de/pricing/premium/","why premium",{"text":497,"config":498},"Vorteile von Ultimate",{"href":499,"dataGaName":500,"dataGaLocation":468},"/de-de/pricing/ultimate/","why ultimate",[502],{"title":349,"links":503},[504,506,508,510,515,520,525],{"text":356,"config":505},{"href":358,"dataGaName":36,"dataGaLocation":468},{"text":361,"config":507},{"href":363,"dataGaName":364,"dataGaLocation":468},{"text":366,"config":509},{"href":368,"dataGaName":369,"dataGaLocation":468},{"text":511,"config":512},"Status",{"href":513,"dataGaName":514,"dataGaLocation":468},"https://status.gitlab.com/","status",{"text":516,"config":517},"Nutzungsbedingungen",{"href":518,"dataGaName":519,"dataGaLocation":468},"/terms/","terms of use",{"text":521,"config":522},"Datenschutzerklärung",{"href":523,"dataGaName":524,"dataGaLocation":468},"/de-de/privacy/","privacy statement",{"text":526,"config":527},"Cookie-Einstellungen",{"dataGaName":528,"dataGaLocation":468,"id":529,"isOneTrustButton":15},"cookie preferences","ot-sdk-btn",{"title":73,"links":531,"subMenu":540},[532,536],{"text":533,"config":534},"DevSecOps-Plattform",{"href":55,"dataGaName":535,"dataGaLocation":468},"devsecops platform",{"text":537,"config":538},"KI-unterstützte Entwicklung",{"href":62,"dataGaName":539,"dataGaLocation":468},"ai-assisted development",[541],{"title":542,"links":543},"Themen",[544,548,553,558,563,568,573,578],{"text":93,"config":545},{"href":546,"dataGaName":547,"dataGaLocation":468},"/de-de/topics/ci-cd/","cicd",{"text":549,"config":550},"GitOps",{"href":551,"dataGaName":552,"dataGaLocation":468},"/de-de/topics/gitops/","gitops",{"text":554,"config":555},"DevOps",{"href":556,"dataGaName":557,"dataGaLocation":468},"/de-de/topics/devops/","devops",{"text":559,"config":560},"Versionskontrolle",{"href":561,"dataGaName":562,"dataGaLocation":468},"/de-de/topics/version-control/","version control",{"text":564,"config":565},"DevSecOps",{"href":566,"dataGaName":567,"dataGaLocation":468},"/de-de/topics/devsecops/","devsecops",{"text":569,"config":570},"Cloud-nativ",{"href":571,"dataGaName":572,"dataGaLocation":468},"/de-de/topics/cloud-native/","cloud native",{"text":574,"config":575},"KI für das Programmieren",{"href":576,"dataGaName":577,"dataGaLocation":468},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":579,"config":580},"Agentische KI",{"href":581,"dataGaName":582,"dataGaLocation":468},"/de-de/topics/agentic-ai/","agentic ai",{"title":584,"links":585},"Lösungen",[586,589,591,596,600,603,606,609,611,613,615,620],{"text":117,"config":587},{"href":112,"dataGaName":588,"dataGaLocation":468},"Application Security Testing",{"text":105,"config":590},{"href":89,"dataGaName":90,"dataGaLocation":468},{"text":592,"config":593},"Agile Entwicklung",{"href":594,"dataGaName":595,"dataGaLocation":468},"/de-de/solutions/agile-delivery/","agile delivery",{"text":597,"config":598},"SCM",{"href":102,"dataGaName":599,"dataGaLocation":468},"source code management",{"text":93,"config":601},{"href":95,"dataGaName":602,"dataGaLocation":468},"continuous integration & delivery",{"text":143,"config":604},{"href":145,"dataGaName":605,"dataGaLocation":468},"value stream management",{"text":549,"config":607},{"href":608,"dataGaName":552,"dataGaLocation":468},"/de-de/solutions/gitops/",{"text":156,"config":610},{"href":159,"dataGaName":160,"dataGaLocation":468},{"text":162,"config":612},{"href":165,"dataGaName":166,"dataGaLocation":468},{"text":168,"config":614},{"href":171,"dataGaName":172,"dataGaLocation":468},{"text":616,"config":617},"Bildungswesen",{"href":618,"dataGaName":619,"dataGaLocation":468},"/de-de/solutions/education/","education",{"text":621,"config":622},"Finanzdienstleistungen",{"href":623,"dataGaName":624,"dataGaLocation":468},"/de-de/solutions/finance/","financial services",{"title":179,"links":626},[627,629,631,633,636,638,641,643,645,647,649,651,653,655],{"text":192,"config":628},{"href":194,"dataGaName":195,"dataGaLocation":468},{"text":197,"config":630},{"href":199,"dataGaName":200,"dataGaLocation":468},{"text":202,"config":632},{"href":204,"dataGaName":205,"dataGaLocation":468},{"text":207,"config":634},{"href":209,"dataGaName":635,"dataGaLocation":468},"docs",{"text":230,"config":637},{"href":232,"dataGaName":233,"dataGaLocation":468},{"text":639,"config":640},"Neuerungen",{"href":290,"dataGaName":291,"dataGaLocation":468},{"text":225,"config":642},{"href":227,"dataGaName":228,"dataGaLocation":468},{"text":244,"config":644},{"href":246,"dataGaName":247,"dataGaLocation":468},{"text":252,"config":646},{"href":254,"dataGaName":255,"dataGaLocation":468},{"text":257,"config":648},{"href":259,"dataGaName":260,"dataGaLocation":468},{"text":262,"config":650},{"href":264,"dataGaName":265,"dataGaLocation":468},{"text":267,"config":652},{"href":269,"dataGaName":270,"dataGaLocation":468},{"text":272,"config":654},{"href":274,"dataGaName":275,"dataGaLocation":468},{"text":277,"config":656},{"href":279,"dataGaName":280,"dataGaLocation":468},{"title":293,"links":658},[659,661,663,665,667,669,674,679,681,683,685],{"text":301,"config":660},{"href":303,"dataGaName":295,"dataGaLocation":468},{"text":306,"config":662},{"href":308,"dataGaName":309,"dataGaLocation":468},{"text":314,"config":664},{"href":316,"dataGaName":317,"dataGaLocation":468},{"text":319,"config":666},{"href":321,"dataGaName":322,"dataGaLocation":468},{"text":324,"config":668},{"href":326,"dataGaName":327,"dataGaLocation":468},{"text":670,"config":671},"Nachhaltigkeit",{"href":672,"dataGaName":673,"dataGaLocation":468},"/sustainability/","Sustainability",{"text":675,"config":676},"Vielfalt, Inklusion und Zugehörigkeit",{"href":677,"dataGaName":678,"dataGaLocation":468},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":329,"config":680},{"href":331,"dataGaName":332,"dataGaLocation":468},{"text":339,"config":682},{"href":341,"dataGaName":342,"dataGaLocation":468},{"text":344,"config":684},{"href":346,"dataGaName":347,"dataGaLocation":468},{"text":686,"config":687},"Transparenzerklärung zu moderner Sklaverei",{"href":688,"dataGaName":689,"dataGaLocation":468},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":691},[692,695,698],{"text":693,"config":694},"Terms",{"href":518,"dataGaName":519,"dataGaLocation":468},{"text":696,"config":697},"Cookies",{"dataGaName":528,"dataGaLocation":468,"id":529,"isOneTrustButton":15},{"text":699,"config":700},"Datenschutz",{"href":523,"dataGaName":524,"dataGaLocation":468},60,{"id":703,"title":704,"authors":705,"body":707,"category":9,"date":835,"description":836,"extension":837,"externalUrl":6,"faq":6,"featured":10,"heroImage":838,"meta":839,"navigation":15,"path":840,"seo":841,"slug":845,"stem":846,"tags":847,"template":851,"updatedDate":6,"__hash__":852},"blogPosts/de-de/blog/improved-scope-offset-fingerprinting.md","Wie GitLab Schwachstellen über Refactorings hinweg verfolgt",[706],"Julian Thome",{"type":708,"value":709,"toc":828},"minimark",[710,714,719,746,758,762,765,768,774,777,781,792,807],[711,712,713],"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.",[715,716,718],"h2",{"id":717},"die-lücke-im-bisherigen-fingerprinting","Die Lücke im bisherigen Fingerprinting",[711,720,721,722,728,729,733,734,737,738,741,742,745],{},"2022 haben wir das ",[723,724,727],"a",{"href":725,"rel":726},"https://about.gitlab.com/de-de/blog/introducing-gitlab-advanced-vulnerability-tracking/",[],"erweiterte Vulnerability-Tracking eingeführt",", um genau dieses Problem der ",[730,731,732],"em",{},"Code-Volatilität"," anzugehen. Grundlage ist unsere ",[730,735,736],{},"Scope+Offset","-Methode zum Fingerprinting: Statt ein Finding über Datei und Zeilennummer zu identifizieren, identifizieren wir es über den engsten umschließenden ",[730,739,740],{},"Scope"," (Modul, Klasse, Funktion) und den Zeilen-",[730,743,744],{},"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.",[711,747,748,749,753,754,757],{},"Eine Klasse von Änderungen blieb allerdings weiterhin problematisch: ",[750,751,752],"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 ",[730,755,756],{},"neue"," Schwachstelle, im Ergebnis steht ein Duplikat.",[715,759,761],{"id":760},"der-normalisierte-offset","Der normalisierte Offset",[711,763,764],{},"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.",[711,766,767],{},"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.",[711,769,770,771,773],{},"Auf diesem Benchmark sammelte die ursprüngliche ",[730,772,736],{},"-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 %.",[711,775,776],{},"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.",[715,778,780],{"id":779},"verfügbarkeit-und-forschungshintergrund","Verfügbarkeit und Forschungshintergrund",[711,782,783,786,787,791],{},[730,784,785],{},"Normalized Scope+Offset"," steckt in GitLab im Tracking-Algorithmus ",[788,789,790],"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.",[711,793,794,795,800,801,806],{},"Der Preprint unserer Studie \"",[723,796,799],{"href":797,"rel":798},"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 ",[723,802,805],{"href":803,"rel":804},"https://conf.researchr.org/track/ase-2026/ase-2026-industry-showcase",[],"ASE 2026 Industry Showcase",", vorgestellt.",[711,808,809],{},[730,810,811,816,817,816,822,827],{},[723,812,815],{"href":813,"rel":814},"https://gitlab.com/hyan3",[],"Hua Yan",", ",[723,818,821],{"href":819,"rel":820},"https://gitlab.com/theoretick",[],"Lucas Charles",[723,823,826],{"href":824,"rel":825},"https://gitlab.com/craigmsmith",[],"Craig Smith"," und Jason Leasure haben zu diesem Beitrag und zur Studie beigetragen.",{"title":829,"searchDepth":830,"depth":830,"links":831},"",2,[832,833,834],{"id":717,"depth":830,"text":718},{"id":760,"depth":830,"text":761},{"id":779,"depth":830,"text":780},"2026-08-12","Das verbesserte Scope+Offset-Fingerprinting hält das Tracking stabil, wenn Kommentare, Leerzeilen oder Reformatierungen dazukommen.","md","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png",{},"/de-de/blog/improved-scope-offset-fingerprinting",{"config":842,"title":843,"description":844},{"noIndex":10},"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",[9,848,849,850],"security research","features","DevSecOps platform","BlogPost","gDlAr0NhdS104mVWcSbs2p8ZhDS2IOb2jK-p1Gkp2o0",[854,861,868,875,882,888,894,902,909],{"title":855,"heroImage":856,"category":9,"description":857,"authors":858,"slug":860,"externalUrl":6},"Self Hosting vs. Cloud Hosting: Die Unterschiede erklärt","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664270/Blog/Hero%20Images/AdobeStock_276584891.jpg","Self-Hosting oder Cloud? Wir zeigen dir, welche Vorteile und Nachteile diese Modell haben - und was für eine Rolle GitLab dabei spielt.",[859],"GitLab Germany Team","self-hosting-vs-cloud",{"title":862,"heroImage":863,"category":9,"description":864,"authors":865,"slug":867,"externalUrl":6},"Der ultimative Leitfaden für die Token-Verwaltung mit GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097408/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1097303277_6gTk7M1DNx0tFuovupVFB1_1750097407860.jpg","Erfahre Schritt für Schritt, wie du Token identifizierst, verwaltest und schützt, um die Sicherheit in deinem gesamten Software-Entwicklungsprozess zu verbessern.",[866],"Hakeem Abdul-Razak","the-ultimate-guide-to-token-management-at-gitlab",{"title":869,"heroImage":870,"category":9,"description":871,"authors":872,"slug":874,"externalUrl":6},"Security-Scanning in Air-Gapped-Umgebungen mit GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099301/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1097303277_6gTk7M1DNx0tFuovupVFB1_1750099300786.jpg","Tutorial für Security-Scanner in luftspaltgesicherten Umgebungen: Offline-Installation und Vulnerability-Detection ohne externe Abhängigkeiten.",[873],"Fernando Diaz","tutorial-security-scanning-in-air-gapped-environments",{"title":876,"heroImage":877,"category":9,"description":878,"authors":879,"slug":881,"externalUrl":6},"Sicherheitsüberprüfung mittels GitLab Operational Scanning","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664654/Blog/Hero%20Images/AdobeStock_1172300481.jpg","Container-Vulnerabilities nach Deployment überwachen: Tutorial zu GitLab Operational Container Scanning mit Trivy für Kubernetes.",[880],"Daniel Helfand","improve-security-auditing-with-gitlab-operational-container-scanning",{"title":883,"heroImage":884,"category":9,"description":885,"authors":886,"slug":887,"externalUrl":6},"GitLab-Leitfaden: SOC-2-Sicherheitsanforderungen erfüllen","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099576/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1172300481_IGPi3TS4VzFgcqhvEdBlR_1750099575518.jpg","Verstehe die Anwendungssicherheitsfunktionen der DevSecOps-Plattform von GitLab, die den Anforderungen von System and Organization Controls 2 entsprechen.",[873],"guide-to-fulfilling-soc-2-security-requirements-with-gitlab",{"title":889,"heroImage":890,"category":9,"description":891,"authors":892,"slug":893,"externalUrl":6},"Dank Vulnerability Tracking 30% kürzere Audit-Zeit","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664844/Blog/Hero%20Images/AdobeStock_941867776.jpg","ICSE 2025 peer-reviewed: Syntax-Tree-Deduplizierung reduziert SAST-Audit um 30%. Evaluierung mit 3,7 Mio. Zeilen Code, Effizienz steigt über Zeit.",[706],"introducing-gitlab-advanced-vulnerability-tracking",{"title":895,"heroImage":896,"category":9,"description":897,"authors":898,"slug":901,"externalUrl":6},"DORA für Banken: Anforderungen und Umsetzung mit GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098149/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%284%29_3LZkiDjHLjhqEkvOvBsVKp_1750098149751.png","DORA-Anforderungen für Banken: Risikomanagement, Testing, Incident-Reporting und Third-Party-Governance mit GitLab systematisch erfüllen.",[899,900],"Joshua Carroll","Allie Holland","what-the-digital-operational-resilience-act-means-for-banks",{"title":903,"heroImage":904,"category":9,"description":905,"authors":906,"slug":908,"externalUrl":6},"So hilft GitLab dabei, die NIS2-Anforderungen einzuhalten","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659437/Blog/Hero%20Images/AdobeStock_398929148.jpg","Beim NIS2-Cybersicherheitsgesetz der EU geht es um Resilienz, Reaktion auf Vorfälle und Risikomanagement. Erfahre, wie GitLabs DevSecOps-Plattform helfen kann, diese Compliance-Anforderungen einzuhalten.",[907],"Joseph Longo","how-gitlab-helps-meet-nis2-requirements",{"title":910,"heroImage":911,"category":9,"description":912,"authors":913,"slug":916,"externalUrl":6},"FinServ: So implementierst du die Funktion zur Aufgabentrennung von GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097688/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%286%29_6vL96ttKF8zJLLqfPpvFs_1750097687913.png","Wie GitLab eine sichere Softwareentwicklung mit Aufgabentrennung im Finanzdienstleistungssektor gewährleistet, einschließlich der Einhaltung regulatorischer Rahmenbedingungen.",[914,915],"Cherry Han","Gavin Peltz","finserv-how-to-implement-gitlabs-separation-of-duties-features",1786803801862]