[{"data":1,"prerenderedAt":917},["ShallowReactive",2],{"/de-de/blog/categories/security/page/3":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-3-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,860,867,874,880,887,894,901,908],{"title":855,"heroImage":838,"category":9,"description":856,"authors":857,"slug":859,"externalUrl":6},"OWASP Top 10 2025: Was sich geändert hat und warum es wichtig ist","Neue Supply-Chain- und Error-Handling-Risiken, Ranking-Verschiebungen und Remediation-Strategien für alle 10 Kategorien.",[858],"Fernando Diaz","2025-owasp-top-10-whats-changed-and-why-it-matters",{"title":861,"heroImage":862,"category":9,"description":863,"authors":864,"slug":866,"externalUrl":6},"Exploitierbare Schwachstellen priorisieren – Supply-Chain-Risiken senken","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674528/Blog/Hero%20Images/blog-image-template-1800x945__5_.png","Risikobasierte Intelligence unterscheidet zwischen 36.000 CVEs und tatsächlich exploitierbaren Bedrohungen – schnellere Triage, gezielte Remediation.",[865],"Salman Ladha","reduce-supply-chain-risk-with-smarter-vulnerability-prioritization",{"title":868,"heroImage":869,"category":9,"description":870,"authors":871,"slug":873,"externalUrl":6},"GitLab.com-Sicherheit stärken: Verpflichtende Multi-Faktor-Authentifizierung","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664923/Blog/Hero%20Images/security-checklist.png","Erfahre, wie GitLab verpflichtende Multi-Faktor-Authentifizierung als Teil des Secure-by-Design-Commitments umsetzt und was das für Nutzer bedeutet.",[872],"Kim Waters","strengthening-gitlab-com-security-mandatory-multi-factor-authentication",{"title":875,"heroImage":876,"category":9,"description":877,"authors":878,"slug":879,"externalUrl":6},"So priorisierst du Schwachstellen intelligent – ein Tutorial","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","Der GitLab Duo Security Agent automatisiert Vulnerability-Triage mit SAST, DAST und Dependency Scanning, erfüllt ISO 27001.",[858],"vulnerability-triage-made-simple-with-gitlab-security-analyst-agent",{"title":881,"heroImage":882,"category":9,"description":883,"authors":884,"slug":886,"externalUrl":6},"3 Signale: Wann werden Premium-Security-Funktionen für dein Team sinnvoll?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664299/Blog/Hero%20Images/AdobeStock_887599633.jpg","Permissions-Management kostet mehr Zeit als Entwicklung? Reviews blockieren? Premium-Funktionen automatisieren Zugriffskontrolle und erfüllen NIS2-Anforderungen.",[885],"Julie Griffin","3-signs-your-team-is-ready-to-uplevel-security-controls-in-gitlab",{"title":888,"heroImage":889,"category":9,"description":890,"authors":891,"slug":893,"externalUrl":6},"Von Compliance-Workflows zu Sicherheitsrichtlinien – wie, warum, wann","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098128/Blog/Hero%20Images/Blog/Hero%20Images/security-checklist_security-checklist.png_1750098128272.png","Pipeline Execution Policies sind der Nachfolger von Compliance  Pipelines – flexibler, zentraler, zukunftssicher. Zeitplan,  Hintergründe und Migrations-Workflow in vier Schritten.",[892],"Ian Khor","why-gitlab-is-deprecating-compliance-pipelines-in-favor-of-security-policies",{"title":895,"heroImage":896,"category":9,"description":897,"authors":898,"slug":900,"externalUrl":6},"Credential-Leaks in Repositories verhindern – dank systematischer Absicherung mit GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665667/Blog/Hero%20Images/built-in-security.jpg","Dreistufige Secret-Absicherung mit GitLab: Push Protection, Pipeline-Detection und Client-Scanning verhindern Credential-Leaks. Plus Incident-Response-Schritte.",[899],"Matt Coons","best-practices-to-keep-secrets-out-of-gitlab-repositories",{"title":902,"heroImage":903,"category":9,"description":904,"authors":905,"slug":907,"externalUrl":6},"Mit CI-Integration Python-Pakete sichern & publizieren","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662080/Blog/Hero%20Images/AdobeStock_1097303277.jpg","Implementierung einer sicheren CI/CD-Pipeline über sechs Stufen mit der GitLab-DevSecOps-Plattform.",[906],"Tim Rizzi","secure-and-publish-python-packages-a-guide-to-ci-integration",{"title":909,"heroImage":910,"category":9,"description":911,"authors":912,"slug":916,"externalUrl":6},"RBAC mit GitLab und Keycloak automatisieren","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659561/Blog/Hero%20Images/securitycheck.png","Rollenbasierte Zugriffskontrolle – Docker-Setup und NIS2-konforme Governance-Automatisierung.",[913,914,915],"James Wormwell","Paul Meresanu","Kees Valkhof","automating-role-based-access-control-rbac-at-scale",1786803801715]