[{"data":1,"prerenderedAt":688},["ShallowReactive",2],{"/de-de/blog/categories/security-labs":3,"navigation-de-de":22,"banner-de-de":425,"footer-de-de":435,"security-labs-category-page-total-items-de-de":640,"security-labs-category-page-featured-de-de":641,"security-labs-category-page-1-de-de":677},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":12,"description":6,"extension":15,"meta":16,"navigation":9,"path":17,"seo":18,"slug":6,"stem":20,"testContent":6,"type":6,"__hash__":21},"blogCategories/de-de/blog/categories/security-labs.yml","Security Labs",null,{"template":8,"isCustomCategory":9,"slug":10,"hide":11},"BlogCategory",true,"security-labs",false,{"name":13,"description":14},"Sicherheitsforschung","Learn about cybersecurity trends, best practices, and third-party threats to secure your code and digital infrastructure.","yml",{},"/de-de/blog/categories/security-labs",{"title":13,"description":19},"Browse articles related to Sicherheitsforschung on the GitLab Blog","de-de/blog/categories/security-labs","_Z-pzQf-BYQ3WnVMNEyfIYkbFVfv_vbAtlssi5tqAgE",{"data":23},{"logo":24,"freeTrial":29,"sales":34,"login":39,"items":44,"search":353,"minimal":388,"duo":406,"pricingDeployment":415},{"config":25},{"href":26,"dataGaName":27,"dataGaLocation":28},"/de-de/","gitlab logo","header",{"text":30,"config":31},"Kostenlose Testversion anfordern",{"href":32,"dataGaName":33,"dataGaLocation":28},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":35,"config":36},"Vertrieb kontaktieren",{"href":37,"dataGaName":38,"dataGaLocation":28},"/de-de/sales/","sales",{"text":40,"config":41},"Anmelden",{"href":42,"dataGaName":43,"dataGaLocation":28},"https://gitlab.com/users/sign_in/","sign in",[45,72,168,173,274,334],{"text":46,"config":47,"cards":49},"Plattform",{"dataNavLevelOne":48},"platform",[50,56,64],{"title":46,"description":51,"link":52},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":53,"config":54},"Erkunde unsere Plattform",{"href":55,"dataGaName":48,"dataGaLocation":28},"/de-de/platform/",{"title":57,"description":58,"link":59},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":60,"config":61},"Lerne GitLab Duo kennen",{"href":62,"dataGaName":63,"dataGaLocation":28},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":65,"description":66,"link":67},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":68,"config":69},"Mehr erfahren",{"href":70,"dataGaName":71,"dataGaLocation":28},"/de-de/why-gitlab/","why gitlab",{"text":73,"left":9,"config":74,"link":76,"lists":80,"footer":150},"Produkt",{"dataNavLevelOne":75},"solutions",{"text":77,"config":78},"Alle Lösungen anzeigen",{"href":79,"dataGaName":75,"dataGaLocation":28},"/de-de/solutions/",[81,106,128],{"title":82,"description":83,"link":84,"items":89},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":85},{"icon":86,"href":87,"dataGaName":88,"dataGaLocation":28},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[90,94,97,102],{"text":91,"config":92},"CI/CD",{"href":93,"dataGaLocation":28,"dataGaName":91},"/de-de/solutions/continuous-integration/",{"text":57,"config":95},{"href":62,"dataGaLocation":28,"dataGaName":96},"gitlab duo agent platform - product menu",{"text":98,"config":99},"Quellcodeverwaltung",{"href":100,"dataGaLocation":28,"dataGaName":101},"/de-de/solutions/source-code-management/","Source Code Management",{"text":103,"config":104},"Automatisierte Softwarebereitstellung",{"href":87,"dataGaLocation":28,"dataGaName":105},"Automated software delivery",{"title":107,"description":108,"link":109,"items":114},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":110},{"href":111,"dataGaName":112,"dataGaLocation":28,"icon":113},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[115,119,124],{"text":116,"config":117},"Application Security Testing",{"href":111,"dataGaName":118,"dataGaLocation":28},"Application security testing",{"text":120,"config":121},"Schutz der Software-Lieferkette",{"href":122,"dataGaLocation":28,"dataGaName":123},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":125,"config":126},"Software Compliance",{"href":127,"dataGaName":125,"dataGaLocation":28},"/de-de/solutions/software-compliance/",{"title":129,"link":130,"items":135},"Bewertung",{"config":131},{"icon":132,"href":133,"dataGaName":134,"dataGaLocation":28},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[136,140,145],{"text":137,"config":138},"Sichtbarkeit und Bewertung",{"href":133,"dataGaLocation":28,"dataGaName":139},"Visibility and Measurement",{"text":141,"config":142},"Wertstrommanagement",{"href":143,"dataGaLocation":28,"dataGaName":144},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":146,"config":147},"Analysen und Einblicke",{"href":148,"dataGaLocation":28,"dataGaName":149},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":151,"items":152},"GitLab für",[153,158,163],{"text":154,"config":155},"Enterprise",{"href":156,"dataGaLocation":28,"dataGaName":157},"/de-de/enterprise/","enterprise",{"text":159,"config":160},"Kleinunternehmen",{"href":161,"dataGaLocation":28,"dataGaName":162},"/de-de/small-business/","small business",{"text":164,"config":165},"den öffentlichen Sektor",{"href":166,"dataGaLocation":28,"dataGaName":167},"/de-de/solutions/public-sector/","public sector",{"text":169,"config":170},"Preise",{"href":171,"dataGaName":172,"dataGaLocation":28,"dataNavLevelOne":172},"/de-de/pricing/","pricing",{"text":174,"config":175,"link":177,"lists":181,"feature":261},"Ressourcen",{"dataNavLevelOne":176},"resources",{"text":178,"config":179},"Alle Ressourcen anzeigen",{"href":180,"dataGaName":176,"dataGaLocation":28},"/de-de/resources/",[182,215,233],{"title":183,"items":184},"Erste Schritte",[185,190,195,200,205,210],{"text":186,"config":187},"Installieren",{"href":188,"dataGaName":189,"dataGaLocation":28},"/de-de/install/","install",{"text":191,"config":192},"Kurzanleitungen",{"href":193,"dataGaName":194,"dataGaLocation":28},"/de-de/get-started/","quick setup checklists",{"text":196,"config":197},"Lernen",{"href":198,"dataGaLocation":28,"dataGaName":199},"https://university.gitlab.com/","learn",{"text":201,"config":202},"Produktdokumentation",{"href":203,"dataGaName":204,"dataGaLocation":28},"https://docs.gitlab.com/","product documentation",{"text":206,"config":207},"Best-Practice-Videos",{"href":208,"dataGaName":209,"dataGaLocation":28},"/de-de/getting-started-videos/","best practice videos",{"text":211,"config":212},"Integrationen",{"href":213,"dataGaName":214,"dataGaLocation":28},"/de-de/integrations/","integrations",{"title":216,"items":217},"Entdecken",[218,223,228],{"text":219,"config":220},"Kundenerfolge",{"href":221,"dataGaName":222,"dataGaLocation":28},"/de-de/customers/","customer success stories",{"text":224,"config":225},"Blog",{"href":226,"dataGaName":227,"dataGaLocation":28},"/de-de/blog/","blog",{"text":229,"config":230},"Remote",{"href":231,"dataGaName":232,"dataGaLocation":28},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":234,"items":235},"Vernetzen",[236,241,246,251,256],{"text":237,"config":238},"GitLab-Services",{"href":239,"dataGaName":240,"dataGaLocation":28},"/de-de/services/","services",{"text":242,"config":243},"Community",{"href":244,"dataGaName":245,"dataGaLocation":28},"/community/","community",{"text":247,"config":248},"Forum",{"href":249,"dataGaName":250,"dataGaLocation":28},"https://forum.gitlab.com/","forum",{"text":252,"config":253},"Veranstaltungen",{"href":254,"dataGaName":255,"dataGaLocation":28},"/events/","events",{"text":257,"config":258},"Partner",{"href":259,"dataGaName":260,"dataGaLocation":28},"/de-de/partners/","partners",{"backgroundColor":262,"textColor":263,"text":264,"image":265,"link":269},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":266,"config":267},"the source promo card",{"src":268},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":270,"config":271},"Lies die News",{"href":272,"dataGaName":273,"dataGaLocation":28},"/de-de/the-source/","the source",{"text":275,"config":276,"lists":278},"Unternehmen",{"dataNavLevelOne":277},"company",[279],{"items":280},[281,286,292,294,299,304,309,314,319,324,329],{"text":282,"config":283},"Über",{"href":284,"dataGaName":285,"dataGaLocation":28},"/de-de/company/","about",{"text":287,"config":288,"footerGa":291},"Karriere",{"href":289,"dataGaName":290,"dataGaLocation":28},"/jobs/","jobs",{"dataGaName":290},{"text":252,"config":293},{"href":254,"dataGaName":255,"dataGaLocation":28},{"text":295,"config":296},"Geschäftsführung",{"href":297,"dataGaName":298,"dataGaLocation":28},"/company/team/e-group/","leadership",{"text":300,"config":301},"Team",{"href":302,"dataGaName":303,"dataGaLocation":28},"/company/team/","team",{"text":305,"config":306},"Handbuch",{"href":307,"dataGaName":308,"dataGaLocation":28},"https://handbook.gitlab.com/","handbook",{"text":310,"config":311},"Investor Relations",{"href":312,"dataGaName":313,"dataGaLocation":28},"https://ir.gitlab.com/","investor relations",{"text":315,"config":316},"Trust Center",{"href":317,"dataGaName":318,"dataGaLocation":28},"/de-de/security/","trust center",{"text":320,"config":321},"AI Transparency Center",{"href":322,"dataGaName":323,"dataGaLocation":28},"/de-de/ai-transparency-center/","ai transparency center",{"text":325,"config":326},"Newsletter",{"href":327,"dataGaName":328,"dataGaLocation":28},"/company/contact/#contact-forms","newsletter",{"text":330,"config":331},"Presse",{"href":332,"dataGaName":333,"dataGaLocation":28},"/press/","press",{"text":335,"config":336,"lists":337},"Kontakt",{"dataNavLevelOne":277},[338],{"items":339},[340,343,348],{"text":35,"config":341},{"href":37,"dataGaName":342,"dataGaLocation":28},"talk to sales",{"text":344,"config":345},"Support-Portal",{"href":346,"dataGaName":347,"dataGaLocation":28},"https://support.gitlab.com","support portal",{"text":349,"config":350},"Kundenportal",{"href":351,"dataGaName":352,"dataGaLocation":28},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":354,"login":355,"suggestions":362},"Schließen",{"text":356,"link":357},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":358,"config":359},"gitlab.com",{"href":42,"dataGaName":360,"dataGaLocation":361},"search login","search",{"text":363,"default":364},"Vorschläge",[365,367,372,374,379,384],{"text":57,"config":366},{"href":62,"dataGaName":57,"dataGaLocation":361},{"text":368,"config":369},"Code Suggestions (KI)",{"href":370,"dataGaName":371,"dataGaLocation":361},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":91,"config":373},{"href":93,"dataGaName":91,"dataGaLocation":361},{"text":375,"config":376},"GitLab auf AWS",{"href":377,"dataGaName":378,"dataGaLocation":361},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":380,"config":381},"GitLab auf Google Cloud",{"href":382,"dataGaName":383,"dataGaLocation":361},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":385,"config":386},"Warum GitLab?",{"href":70,"dataGaName":387,"dataGaLocation":361},"Why GitLab?",{"freeTrial":389,"mobileIcon":394,"desktopIcon":399,"secondaryButton":402},{"text":390,"config":391},"Kostenlos testen",{"href":392,"dataGaName":33,"dataGaLocation":393},"https://gitlab.com/-/trials/new/","nav",{"altText":395,"config":396},"GitLab-Symbol",{"src":397,"dataGaName":398,"dataGaLocation":393},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":395,"config":400},{"src":401,"dataGaName":398,"dataGaLocation":393},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":183,"config":403},{"href":404,"dataGaName":405,"dataGaLocation":393},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":407,"mobileIcon":411,"desktopIcon":413},{"text":408,"config":409},"Erfahre mehr über GitLab Duo",{"href":62,"dataGaName":410,"dataGaLocation":393},"gitlab duo",{"altText":395,"config":412},{"src":397,"dataGaName":398,"dataGaLocation":393},{"altText":395,"config":414},{"src":401,"dataGaName":398,"dataGaLocation":393},{"freeTrial":416,"mobileIcon":421,"desktopIcon":423},{"text":417,"config":418},"Zurück zur Preisübersicht",{"href":171,"dataGaName":419,"dataGaLocation":393,"icon":420},"back to pricing","GoBack",{"altText":395,"config":422},{"src":397,"dataGaName":398,"dataGaLocation":393},{"altText":395,"config":424},{"src":401,"dataGaName":398,"dataGaLocation":393},{"title":426,"button":427,"config":432},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":428,"config":429},"GitLab Transcend jetzt ansehen",{"href":430,"dataGaName":431,"dataGaLocation":28},"/de-de/events/transcend/virtual/","transcend event",{"layout":433,"icon":434,"disabled":9},"release","AiStar",{"data":436},{"text":437,"source":438,"edit":444,"contribute":449,"config":454,"items":459,"minimal":632},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":439,"config":440},"Quelltext der Seite anzeigen",{"href":441,"dataGaName":442,"dataGaLocation":443},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":445,"config":446},"Diese Seite bearbeiten",{"href":447,"dataGaName":448,"dataGaLocation":443},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":450,"config":451},"Beteilige dich",{"href":452,"dataGaName":453,"dataGaLocation":443},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":455,"facebook":456,"youtube":457,"linkedin":458},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[460,483,538,565,599],{"title":46,"links":461,"subMenu":466},[462],{"text":463,"config":464},"DevSecOps-Plattform",{"href":55,"dataGaName":465,"dataGaLocation":443},"devsecops platform",[467],{"title":169,"links":468},[469,473,478],{"text":470,"config":471},"Tarife anzeigen",{"href":171,"dataGaName":472,"dataGaLocation":443},"view plans",{"text":474,"config":475},"Vorteile von Premium",{"href":476,"dataGaName":477,"dataGaLocation":443},"/de-de/pricing/premium/","why premium",{"text":479,"config":480},"Vorteile von Ultimate",{"href":481,"dataGaName":482,"dataGaLocation":443},"/de-de/pricing/ultimate/","why ultimate",{"title":484,"links":485},"Lösungen",[486,491,494,496,501,506,510,513,516,521,523,525,528,533],{"text":487,"config":488},"Digitale Transformation",{"href":489,"dataGaName":490,"dataGaLocation":443},"/de-de/topics/digital-transformation/","digital transformation",{"text":492,"config":493},"Sicherheit und Compliance",{"href":111,"dataGaName":118,"dataGaLocation":443},{"text":103,"config":495},{"href":87,"dataGaName":88,"dataGaLocation":443},{"text":497,"config":498},"Agile Entwicklung",{"href":499,"dataGaName":500,"dataGaLocation":443},"/de-de/solutions/agile-delivery/","agile delivery",{"text":502,"config":503},"Cloud-Transformation",{"href":504,"dataGaName":505,"dataGaLocation":443},"/de-de/topics/cloud-native/","cloud transformation",{"text":507,"config":508},"SCM",{"href":100,"dataGaName":509,"dataGaLocation":443},"source code management",{"text":91,"config":511},{"href":93,"dataGaName":512,"dataGaLocation":443},"continuous integration & delivery",{"text":141,"config":514},{"href":143,"dataGaName":515,"dataGaLocation":443},"value stream management",{"text":517,"config":518},"GitOps",{"href":519,"dataGaName":520,"dataGaLocation":443},"/de-de/solutions/gitops/","gitops",{"text":154,"config":522},{"href":156,"dataGaName":157,"dataGaLocation":443},{"text":159,"config":524},{"href":161,"dataGaName":162,"dataGaLocation":443},{"text":526,"config":527},"Öffentlicher Sektor",{"href":166,"dataGaName":167,"dataGaLocation":443},{"text":529,"config":530},"Bildungswesen",{"href":531,"dataGaName":532,"dataGaLocation":443},"/de-de/solutions/education/","education",{"text":534,"config":535},"Finanzdienstleistungen",{"href":536,"dataGaName":537,"dataGaLocation":443},"/de-de/solutions/finance/","financial services",{"title":174,"links":539},[540,542,544,546,549,551,553,555,557,559,561,563],{"text":186,"config":541},{"href":188,"dataGaName":189,"dataGaLocation":443},{"text":191,"config":543},{"href":193,"dataGaName":194,"dataGaLocation":443},{"text":196,"config":545},{"href":198,"dataGaName":199,"dataGaLocation":443},{"text":201,"config":547},{"href":203,"dataGaName":548,"dataGaLocation":443},"docs",{"text":224,"config":550},{"href":226,"dataGaName":227,"dataGaLocation":443},{"text":219,"config":552},{"href":221,"dataGaName":222,"dataGaLocation":443},{"text":229,"config":554},{"href":231,"dataGaName":232,"dataGaLocation":443},{"text":237,"config":556},{"href":239,"dataGaName":240,"dataGaLocation":443},{"text":242,"config":558},{"href":244,"dataGaName":245,"dataGaLocation":443},{"text":247,"config":560},{"href":249,"dataGaName":250,"dataGaLocation":443},{"text":252,"config":562},{"href":254,"dataGaName":255,"dataGaLocation":443},{"text":257,"config":564},{"href":259,"dataGaName":260,"dataGaLocation":443},{"title":275,"links":566},[567,569,571,573,575,577,579,583,588,590,592,594],{"text":282,"config":568},{"href":284,"dataGaName":277,"dataGaLocation":443},{"text":287,"config":570},{"href":289,"dataGaName":290,"dataGaLocation":443},{"text":295,"config":572},{"href":297,"dataGaName":298,"dataGaLocation":443},{"text":300,"config":574},{"href":302,"dataGaName":303,"dataGaLocation":443},{"text":305,"config":576},{"href":307,"dataGaName":308,"dataGaLocation":443},{"text":310,"config":578},{"href":312,"dataGaName":313,"dataGaLocation":443},{"text":580,"config":581},"Sustainability",{"href":582,"dataGaName":580,"dataGaLocation":443},"/sustainability/",{"text":584,"config":585},"Vielfalt, Inklusion und Zugehörigkeit",{"href":586,"dataGaName":587,"dataGaLocation":443},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":315,"config":589},{"href":317,"dataGaName":318,"dataGaLocation":443},{"text":325,"config":591},{"href":327,"dataGaName":328,"dataGaLocation":443},{"text":330,"config":593},{"href":332,"dataGaName":333,"dataGaLocation":443},{"text":595,"config":596},"Transparenzerklärung zu moderner Sklaverei",{"href":597,"dataGaName":598,"dataGaLocation":443},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":600,"links":601},"Nimm Kontakt auf",[602,605,610,612,617,622,627],{"text":603,"config":604},"Sprich mit einem Experten/einer Expertin",{"href":37,"dataGaName":38,"dataGaLocation":443},{"text":606,"config":607},"Support",{"href":608,"dataGaName":609,"dataGaLocation":443},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":349,"config":611},{"href":351,"dataGaName":352,"dataGaLocation":443},{"text":613,"config":614},"Status",{"href":615,"dataGaName":616,"dataGaLocation":443},"https://status.gitlab.com/","status",{"text":618,"config":619},"Nutzungsbedingungen",{"href":620,"dataGaName":621,"dataGaLocation":443},"/terms/","terms of use",{"text":623,"config":624},"Datenschutzerklärung",{"href":625,"dataGaName":626,"dataGaLocation":443},"/de-de/privacy/","privacy statement",{"text":628,"config":629},"Cookie-Einstellungen",{"dataGaName":630,"dataGaLocation":443,"id":631,"isOneTrustButton":9},"cookie preferences","ot-sdk-btn",{"items":633},[634,636,638],{"text":618,"config":635},{"href":620,"dataGaName":621,"dataGaLocation":443},{"text":623,"config":637},{"href":625,"dataGaName":626,"dataGaLocation":443},{"text":628,"config":639},{"dataGaName":630,"dataGaLocation":443,"id":631,"isOneTrustButton":9},2,{"id":642,"title":643,"authorSlugs":644,"body":6,"categorySlug":10,"config":646,"content":649,"description":6,"extension":15,"isFeatured":9,"meta":665,"navigation":9,"path":666,"publishedDate":651,"seo":667,"stem":671,"tagSlugs":672,"__hash__":676},"blogPosts/de-de/blog/automating-detection-gap-analysis-with-gitlab-duo-agent-platform.yml","Automating Detection Gap Analysis With Gitlab Duo Agent Platform",[645],"matt-coons",{"featured":9,"template":647,"slug":648},"BlogPost","automating-detection-gap-analysis-with-gitlab-duo-agent-platform",{"body":650,"category":10,"date":651,"tags":652,"title":660,"description":661,"authors":662,"heroImage":664},"Nach einem Vorfall stellt sich jeder Incident-Response- und Security-Operations-Bereich dieselbe unbequeme Frage: Was haben wir übersehen, und warum? Eine gründliche Antwort erfordert echte Arbeit – jemand muss die Incident-Timeline durcharbeiten, die Angreiferaktionen auf Erkennungsmöglichkeiten mappen, die Alarme identifizieren, die hätten ausgelöst werden sollen, und diese Erkenntnisse in konkrete Verbesserungen übersetzen. Manuell durchgeführt ist das zeitaufwändig, inkonsistent und leicht zu deprioritisieren, wenn der nächste Vorfall bereits vor der Tür steht.\n\nDas Signals Engineering Team bei GitLab ist verantwortlich für den Aufbau und die Pflege der Erkennungsregeln, die die Plattform und das Unternehmen schützen. Wir kennen das Detection-Gap-Problem aus eigener Erfahrung und haben die Gap-Analyse mit dem [GitLab Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/) automatisiert, um unsere Bewertung dieser Lücken und deren Schließung zu verbessern.\n\nIn diesem Artikel beschreiben wir unseren Ansatz – mit zwei KI-Agenten, die sich in der eigenen Umgebung einsetzen lassen: dem integrierten Security Analyst Agent und einem selbst entwickelten Agent namens Detection Engineering Assistant.\n\n## Das Detection-Gap-Problem\n\nEine Detection Gap ist genau das, was der Name vermuten lässt: Ein Angreifer hat eine Aktion durchgeführt, und die eigenen Erkennungsregeln haben sie nicht erfasst. Gap-Analyse ist der Prozess, bei dem Sicherheitsvorfälle systematisch ausgewertet werden, um diese verpassten Erkennungsmöglichkeiten zu identifizieren und festzulegen, welche neuen oder verbesserten Regeln die Lücken schließen würden.\n\nDie Herausforderung liegt nicht im konzeptionellen Verständnis. Sie liegt darin, dass die Analyse ein sorgfältiges, methodisches Durcharbeiten von Incident-Daten erfordert und die Ereignisse mit der eigenen Erkennungsabdeckung abgeglichen werden müssen. Bei einem einzelnen Vorfall gelingt das einer erfahrenen Analystin oder einem erfahrenen Analysten gut. Über einen kontinuierlichen Strom von Vorfällen hinweg, mit mehreren beteiligten Engineers, ist Konsistenz schwer aufrechtzuerhalten – die Auswertung wird leicht oberflächlich.\n\nZiel war ein Prozess, der reproduzierbar, gründlich und direkt in dem Workflow verankert ist, in dem Sicherheitsvorfälle bereits dokumentiert werden: GitLab Issues.\n\n## Was ist GitLab Duo Agent Platform?\n\n[GitLab Duo Agent Platform](https://about.gitlab.com/de-de/blog/gitlab-duo-agent-platform-is-generally-available/) ist GitLabs Framework zum Aufbau und Betrieb von KI-Agenten, die eigenständig planen, Aktionen ausführen und nativ mit GitLab-Ressourcen wie Issues, Merge Requests und Code interagieren. Anders als ein einfaches Chat-Interface lassen sich Agenten in Duo Agent Platform mit spezifischen Rollen, Domänenwissen und Werkzeugzugang ausstatten – und sind dadurch für domänenspezifische Workflows wie Security Operations geeignet.\n\nDuo Agent Platform bietet zwei Wege:\n\n1. **Vordefinierten Agent nutzen** – GitLab liefert mehrere fertig konfigurierte Agenten aus, darunter einen Security Analyst Agent für sicherheitsbezogene Aufgaben.\n2. **Eigenen Agent entwickeln** – Ein benutzerdefinierter Agent lässt sich in wenigen Minuten erstellen: Name, Beschreibung und System-Prompt genügen. Der System-Prompt ist dabei das eigentliche Herzstück.\n\nBeide Wege sind für die Detection-Gap-Analyse geeignet.\n\n## 1. Security Analyst Agent\n\nDer einfachste Einstieg ist der [Security Analyst Agent](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/security_analyst_agent/), der mit Sicherheits-Domänenwissen vorkonfiguriert ist und direkt aus einem GitLab Issue aufgerufen werden kann.\n\nFür die Gap-Analyse navigieren wir zu einem abgeschlossenen Incident-Issue und bitten den Agent, Beschreibung, Timeline, Aufgaben und Kommentare auf fehlende oder unzureichende Erkennungsregeln zu prüfen. Der Agent liest den gesamten Issue-Inhalt – einschließlich Kommentare, verknüpfte Artefakte und Timeline-Details – und leitet daraus potenzielle Lücken ab. Er kann nicht erkannte Taktiken, Techniken und Vorgehensweisen (TTPs) auf MITRE ATT&CK mappen und Bereiche vorschlagen, in denen neue Erkennungsregeln die Abdeckung verbessern würden.\n\nDas eignet sich gut für einen ersten Durchgang, insbesondere wenn Incident-Issues gut dokumentiert sind. Der Security Analyst Agent verfügt über Wissen zu allgemeinen Sicherheitskonzepten, typischen Angreiferverhalten und Erkennungsprinzipien. Für Teams, die mit KI-gestütztem Betrieb beginnen, bietet er sofortigen Mehrwert ohne Konfigurationsaufwand.\n\nAllerdings kennt der vordefinierte Agent die spezifische Umgebung nicht – das eigene SIEM, die Log-Quellen, den Detection Stack oder die teameigenen Detection-Engineering-Standards. Die Empfehlungen sind zwar fachlich korrekt, treffen aber manchmal nicht den konkreten Kontext, der für umsetzbare Erkennungsregeln erforderlich ist. Das war der Ausgangspunkt für die Entwicklung eines eigenen Agents.\n\n## 2. Den Detection Engineering Assistant entwickeln\n\n[Einen benutzerdefinierten Agent in GitLab Duo Agent Platform zu erstellen](https://docs.gitlab.com/user/duo_agent_platform/agents/custom/) ist unkompliziert. Im Duo Agent Platform Interface wird dem Agent ein Name gegeben (bei uns: **Detection Engineering Assistant**), eine kurze Beschreibung und ein System-Prompt. Damit ist der Agent einsatzbereit.\n\nDer System-Prompt ist der entscheidende Teil. Er ist die Wissensbasis des Agents: alles, was er über das Team, die Umgebung, die Standards und die eigene Arbeitsweise wissen soll. Ein dünner, vager System-Prompt liefert dünne, vage Ergebnisse. Ein ausführlicher, sorgfältig ausgearbeiteter System-Prompt erzeugt einen Agent, der sich wie ein fachkundiges Teammitglied verhält.\n\nSo sind wir beim Schreiben des System-Prompts für den Detection Engineering Assistant vorgegangen:\n\n### Rolle und Aufgabenbereich klar definieren\n\nDer System-Prompt beginnt damit, dem Agent genau mitzuteilen, was er ist und wofür er verantwortlich ist – nicht nur „du bist ein Security Analyst\", sondern konkret: „Du bist der Detection Engineering Assistant für GitLabs Signals Engineering Team, verantwortlich für die Analyse von Sicherheitsvorfällen und die Identifizierung von Lücken in unserer Erkennungsabdeckung.\" Diese Rahmung verankert jede Antwort des Agents.\n\n### Erkennungsphilosophie kodieren\n\nWir haben festgehalten, was für uns eine gute Erkennung ausmacht: niedrige False-Positive-Rate, hohe Signalqualität und umsetzbare Alarme, die Responders den notwendigen Kontext liefern. Außerdem haben wir unsere Präferenz für verhaltensbasierte Erkennungen gegenüber IOC-basierten Erkennungen beschrieben und wie wir den Zielkonflikt zwischen Abdeckungsbreite und Alert-Fatigue abwägen.\n\n### Tech-Stack und Log-Quellen als Kontext mitgeben\n\nEin Agent kann nur empfehlen, was tatsächlich umsetzbar ist. Wir haben dem Agent mitgeteilt, welche Log-Quellen wir erfassen, wie unser SIEM aufgebaut ist und welche Daten verfügbar sind. Damit empfiehlt er neue Erkennungsregeln in Bezug auf das, was wir tatsächlich implementieren können – nicht auf Basis hypothetischer Telemetrie.\n\n### In MITRE ATT&CK verankern\n\nDer Agent wurde angewiesen, Gap-Findings anhand von ATT&CK-Taktiken und -Techniken zu strukturieren. Das liefert konsistente, strukturierte Ausgaben, die direkt auf unser internes Coverage-Tracking mappen und die Priorisierung der zu schließenden Lücken vereinfachen.\n\n### Ausgabeformat festlegen\n\nWir haben genau vorgegeben, was der Agent produzieren soll: eine strukturierte Liste von Detection Gaps, jeweils mit der relevanten ATT&CK-Technik, einer Beschreibung des Versäumten, der Log-Quelle oder den Daten, die eine Erkennung ermöglichen würden, sowie einem empfohlenen Ansatz. Ein einheitliches Ausgabeformat erleichtert die Triage und die Überführung in Engineering-Aufgaben.\n\n### Beispiel-System-Prompt\n\n*Hinweis: Unser vollständiger System-Prompt für den Detection Engineering Assistant umfasst 1.870 Wörter und 337 Zeilen. Das folgende Beispiel zeigt nur einen kleinen Ausschnitt.*\n\n```text\nDu bist der Detection Engineering Assistant für GitLabs Security Operations Team. Deine Aufgabe: abgeschlossene Incidents analysieren und Lücken in unserer Detection-Coverage identifizieren.\n\nBeim Review eines Incidents:\n1. Identifiziere jede Angreifer-Aktion oder -Technik aus der Incident-Timeline\n2. Bewerte für jede Aktion, ob unsere bestehenden Detections sie erfasst hätten\n3. Dokumentiere nicht erkannte Aktionen als Detection Gap\n\nFür jeden Gap:\n- MITRE ATT&CK Technique ID und Name (z. B. T1078 – Valid Accounts)\n- Kurze Beschreibung: was passierte, warum nicht erkannt\n- Log-Quelle oder Telemetrie, die einen Detection-Ansatz ermöglichen würde (z. B. Auth-Logs, Process-Execution-Events, Netzwerkflüsse)\n- Empfohlener Detection-Ansatz, umsetzbar in unserem SIEM\n\nUnser SIEM erfasst [Log-Quellen]. Wir bevorzugen verhaltensbasierte Detections gegenüber statischen IOCs. Keine Empfehlungen, die ohne soliden Tuning-Pfad zu erheblichen False Positives führen...\n```\n\nEin so spezifischer System-Prompt liefert deutlich nützlichere Ergebnisse als ein generischer. Der Agent gibt keine allgemeinen Sicherheitsempfehlungen mehr, sondern konkrete Detection-Engineering-Empfehlungen.\n\n## Gap-Analyse an Vorfällen durchführen\n\nMit dem konfigurierten Detection Engineering Assistant ist der Workflow unkompliziert. Nach Abschluss eines Vorfalls wird der Assistant aus dem Incident-Issue in GitLab aufgerufen. Er liest den gesamten Issue – Zusammenfassung, Timeline, Ermittlungsnotizen und verknüpfte Ressourcen – und gibt eine strukturierte Gap-Analyse zurück.\n\nEine typische Ausgabe sieht so aus:\n\n**Gap: Laterale Bewegung über gültige Credentials nicht erkannt**\n\n* **ATT&CK:** T1078.004 – Valid Accounts: Cloud Accounts\n* **Was passierte:** Ein Angreifer verwendete ein gültiges Access Token, um sich bei einer zusätzlichen GitLab-Instanz zu authentifizieren. Kein Alarm wurde ausgelöst, da Authentifizierungs-Baseline-Erkennungen für diese Instanz fehlten.\n* **Log-Quelle:** Authentifizierungslogs von `example.gitlab.com`\n* **Empfohlener Ansatz:** Erkennung erstellen, die bei erstmaliger Authentifizierung eines Nutzerkontos bei `example.gitlab.com` innerhalb eines 90-Tage-Rollfensters auslöst, mit Unterdrückung für Konten mit etablierten Zugriffsmustern.\n\nDiese Art strukturierter Ausgabe fließt direkt in den Engineering-Backlog. Der Agent liefert einen hochwertigen ersten Entwurf – ein Engineer prüft die Findings, verifiziert, ob Lücken bereits durch undokumentierte Erkennungsregeln abgedeckt sind, und ergänzt Kontext, bevor daraus ein Engineering-Issue wird. Die aufwändige Arbeit des Durchlesens und der initialen Analyse ist automatisiert.\n\n## Was wir gelernt haben\n\nDrei Erkenntnisse aus dem Aufbau und der Weiterentwicklung dieses Workflows:\n\n**Der System-Prompt ist ein lebendes Dokument** – Jedes Mal, wenn der Agent eine offensichtliche Lücke übersieht oder das Framing nicht stimmt, wird der Prompt aktualisiert. Die Qualität des Agents spiegelt direkt wider, wie gut das Domänenwissen darin kodiert ist.\n\n**Die Qualität der Incident-Dokumentation ist entscheidend** – Ein Agent kann nur über das urteilen, was aufgeschrieben ist. Vorfälle mit detaillierten, strukturierten Timelines liefern deutlich bessere Gap-Analysen als knappe oder informelle Dokumentationen. Der Aufbau des Gap-Analyse-Workflows hatte einen unerwarteten Nebeneffekt: Er gab uns einen konkreten Grund, unsere Dokumentationsstandards für Vorfälle zu verbessern.\n\n**Das ist ein Kraftmultiplikator, kein Ersatz** – Der Detection Engineering Assistant ersetzt keine erfahrene Detection Engineerin und keinen erfahrenen Detection Engineer, verstärkt deren Wirkung jedoch. Der Mensch prüft die Findings, bewertet die Empfehlungen und trifft die finale Entscheidung darüber, was in den Backlog kommt. Der Aufwand für die initiale Analyse sinkt dabei deutlich, und die Konsistenz über Vorfälle hinweg steigt.\n\n## Einstieg\n\nWer einen eigenen Detection-Gap-Analyse-Agenten entwickeln möchte:\n\n1. Die letzten drei bis fünf abgeschlossenen Vorfälle durchsehen und festhalten, was eine gründliche Gap-Analyse jeweils zutage gefördert hätte.\n2. Aus diesen Beobachtungen einen System-Prompt entwickeln, der die eigene Umgebung, Standards und das gewünschte Ausgabeformat kodiert.\n3. Einen [benutzerdefinierten Agent](https://docs.gitlab.com/user/duo_agent_platform/agents/custom/) in GitLab Duo Agent Platform mit diesem Prompt erstellen.\n4. Den Agent gegen einen der Vorfälle laufen lassen und den Prompt auf Basis der Ausgabe iterieren.\n\nDas Detection-Gap-Problem besteht weiterhin. Mit GitLab Duo Agent Platform lässt sich die Analyse jedoch reproduzierbar und konsistent gestalten – direkt dort, wo die Security-Arbeit bereits stattfindet.\n\n> **[GitLab Duo Agent Platform kostenlos testen](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/)**\n","2026-03-10",[653,654,655,656,657,658,659],"security","security research","tutorial","AI/ML","features","product","DevSecOps platform","Detection-Gaps automatisch analysieren mit GitLab Duo Agent Platform","GitLab zeigt, wie zwei KI-Agenten die Gap-Analyse nach Sicherheitsvorfällen reproduzierbar und konsistent machen – direkt im GitLab-Workflow.",[663],"Matt Coons","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773147991/op5xyroonltdwqix0x3u.png",{},"/de-de/blog/automating-detection-gap-analysis-with-gitlab-duo-agent-platform",{"config":668,"title":669,"description":670},{"noIndex":11},"Detection-Gaps analysieren mit GitLab Duo Agent Platform","KI-Agenten identifizieren Erkennungslücken nach Sicherheitsvorfällen systematisch – ohne manuelle Auswertung im GitLab-Workflow.","de-de/blog/automating-detection-gap-analysis-with-gitlab-duo-agent-platform",[653,673,655,674,657,658,675],"security-research","aiml","devsecops-platform","NNnZGEAwDXD07vzgDIZQaWAte2pBV3ZYC3fQ17RgNiY",[678],{"content":679,"config":686},{"title":680,"heroImage":681,"category":10,"description":682,"authors":683},"GitLab identifiziert aktiven Lieferketten-Angriff auf npm","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665667/Blog/Hero%20Images/built-in-security.jpg","Tutorial zur systematischen Bedrohungsanalyse mit IoC-Tabelle für sofortige Überprüfung deutscher Systeme. Koordinierte Reaktion erforderlich.",[684,685],"Michael Henriksen","Daniel Abeles",{"externalUrl":-1,"slug":687},"gitlab-discovers-widespread-npm-supply-chain-attack",1773871181144]