[{"data":1,"prerenderedAt":761},["ShallowReactive",2],{"/de-de/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code":3,"navigation-de-de":42,"banner-de-de":445,"footer-de-de":455,"blog-post-authors-de-de-David O'Regan":660,"blog-related-posts-de-de-how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code":675,"assessment-promotions-de-de":714,"next-steps-de-de":751},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":28,"isFeatured":12,"meta":29,"navigation":30,"path":31,"publishedDate":20,"seo":32,"stem":37,"tagSlugs":38,"__hash__":41},"blogPosts/de-de/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code.yml","How Gitlab Duo Helps Secure And Thoroughly Test Ai Generated Code",[7],"david-oregan",null,"ai-ml",{"slug":11,"featured":12,"template":13},"how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code",false,"BlogPost",{"heroImage":15,"body":16,"authors":17,"updatedDate":19,"date":20,"title":21,"tags":22,"description":27,"category":9},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097183/Blog/Hero%20Images/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25_7JlF3WlEkswGQbcTe8DOTB_1750097183481.png","***Generative KI bedeutet einen monumentalen Wandel in der Softwareentwicklungsbranche, da sie die Entwicklung, die Sicherheit und den Betrieb von Software vereinfacht. Die neue Blog-Reihe unserer Produkt- und Entwicklungsteams zeigt, wie wir die KI-Funktionen erstellen, testen und bereitstellen, die in Unternehmen benötigt werden. Lerne neue Funktionen innerhalb von GitLab Duo kennen und erfahre, wie diese DevSecOps-Teams dabei helfen, bessere Ergebnisse für ihre Kund(inn)en zu erzielen.***\n\n## Inhaltsverzeichnis\n\n* [Herausforderungen bei der Verwendung von KI-generiertem Code](#herausforderungen-bei-der-verwendung-von-ki-generiertem-code)\n* [Der Ansatz von GitLab für die Sicherheit und das Testen von KI](#der-ansatz-von-gitlab-für-die-sicherheit-und-das-testen-von-ki)\n\n  * [1. Ein neues Projekt auf GitLab.com erstellen](#1.-ein-neues-projekt-auf-gitlab.com-erstellen)\n  * [2. GitLab Duo-Codevorschläge aktivieren](#2.-gitlab-duo-codevorschläge-aktivieren)\n  * [3. Einen Flask Webserver erstellen](#3.-einen-flask-webserver-erstellen)\n  * [4. Tests mit GitLab Duo generieren](#4.-tests-mit-gitlab-duo-generieren)\n  * [5. Probleme mit KI-generiertem Code mithilfe von GitLab Duo Chat identifizieren](#5.-probleme-mit-ki-generiertem-code-mithilfe-von-gitlab-duo-chat-identifizieren)\n  * [6. Testberichte erstellen](#6.-testberichte-erstellen)\n  * [7. Den Testbericht mit GitLab Pages bereitstellen](#7.-den-testbericht-mit-gitlab-pages-bereitstellen)\n  * [8. Testberichte in MR-Widgets einbetten](#8.-testberichte-in-mr-widgets-einbetten)\n* [Fallstudie: Zuverlässigkeit von KI mit Sicherheitsrichtlinien und Scannern](#fallstudie-zuverlässigkeit-von-ki-mit-sicherheitsrichtlinien-und-scannern)\n* [Lege noch heute los](#lege-noch-heute-los)\n* [Lies mehr über die Reihe „Entwicklung von GitLab Duo\"](#lies-mehr-über-die-reihe-„entwicklung-von-gitlab-duo“)\n\nDa KI zunehmend Bestandteil der Softwareentwicklung wird, ist die Gewährleistung der Sicherheit und das gründliche Testen von KI-generiertem Code von größter Bedeutung. Dieser Artikel ist eine Schritt-für-Schritt-Anleitung zur Kombination von [GitLab Duo](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/), unserer Suite von KI-Funktionen zur Unterstützung des DevSecOps-Workflows, und [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/), um KI-generierten Code zu sichern und gründlich zu testen. Du erfährst, wie du typische Risiken minimieren kannst und wie du automatisch Tests generierst, Code testest und Testberichte erstellst, um die Zuverlässigkeit deines KI-generierten Codes zu verbessern.\n\n## Herausforderungen bei der Verwendung von KI-generiertem Code\n\nKI-generierter Code steht häufig vor folgenden Problemen:\n\n* Nicht übereinstimmende Algorithmen: Es können falsche oder suboptimale Algorithmen generiert werden.\n* Probleme mit Abhängigkeiten: KI-generierter Code kann Abhängigkeiten enthalten, die veraltet oder inkompatibel sind.\n* Sicherheitslücken: KI kann Code mit potenziellen Sicherheitsschwachstellen generieren.\n\nKI-generierter Code hat oft mit Problemen wie nicht übereinstimmenden Algorithmen, Abhängigkeitsproblemen und Sicherheitslücken zu kämpfen. Eine [kürzlich von der Association of Computing Machinery veröffentlichte Studie](https://dl.acm.org/doi/pdf/10.1145/3613904.3642596) zu den Antworten von ChatGPT auf Programmierfragen ergab, dass 52 % der Antworten falsche Informationen enthielten und 77 % zu ausführlich waren. Trotz dieser Mängel bevorzugten die Benutzer(innen) in 35 % der Fälle die umfassenden und gut formulierten Antworten von ChatGPT, wobei sie in 39 % der Fälle sogar Fehlinformationen übersahen. Die Bewältigung dieser Herausforderungen erfordert den Einsatz fortschrittlicher Tools und Frameworks.\n\n## Der Ansatz von GitLab für die Sicherheit und das Testen von KI\n\nGitLab hat eine umfassende Inhaltsstrategie, die sich auf die Integration von Sicherheitsmaßnahmen in den Entwicklungsworkflow konzentriert. Durch die Nutzung von GitLab Duo für die KI-gestützte Codegenerierung und GitLab Pages für die Einbettung von Testberichten können Entwickler(innen) sicherstellen, dass ihr KI-generierter Code sowohl sicher als auch zuverlässig ist.\n\nHier ist eine Schritt-für-Schritt-Anleitung für die Kombination von GitLab Duo und GitLab Pages, um durch die Implementierung eines [Flask-Webservers](https://flask.palletsprojects.com/en/3.0.x/) sicheren und gründlich getesteten KI-generierten Code zu gewährleisten.\n\n### 1. Ein neues Projekt auf GitLab.com erstellen\n\n* Gehe zu [GitLab.com](http://GitLab.com).\n* Klicke auf die Schaltfläche „Neues Projekt“.\n* Wähle „Leeres Projekt erstellen“ aus.\n* Gib einen Projektnamen ein (z. B. AI_Code_Security).\n* Lege die Sichtbarkeitsebene fest (öffentlich, intern oder privat).\n* Klicke auf „Projekt erstellen“.\n\n### 2. GitLab Duo-Codevorschläge aktivieren\n\n* Navigiere zu deinem Projekt.\n* Klicke auf die Schaltfläche „Web IDE“, um die Web IDE zu öffnen.\n* Stelle sicher, dass GitLab Duo-Funktionen wie Codevorschläge und Duo-Chat aktiviert sind. \n* Beginne mit der Programmierung in der [Web IDE](https://docs.gitlab.com/ee/user/project/web_ide/). Während du tippst, liefert GitLab Duo Codevorschläge, die dir helfen, effizienter zu programmieren.\n\n### 3. Einen Flask Webserver erstellen\n\nDu kannst mithilfe des Kommentars im Screenshot unten (grün hervorgehoben) einen Flask Webserver erstellen.\n\n![DGD-Testing – Bild 1](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097192/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097192520.png)\n\n### 4. Tests mit GitLab Duo generieren\n\nUnit-Tests sind für die Validierung der Funktionalität des generierten Codes unerlässlich. Verwende den Befehl `/tests` von GitLab Duo, um [Testvorschläge direkt in der Web IDE zu generieren](https://docs.gitlab.com/ee/user/gitlab_duo_chat_examples.html#write-tests-in-the-ide). Dieser Befehl kann mit zusätzlichen Anweisungen angepasst werden, um einen Fokus auf bestimmte Aspekte wie Leistung, Regression oder die Verwendung bestimmter Frameworks zu erreichen.\n\n#### Beispiel für die Verwendung in Web IDE:\n\n* Wähle den Code aus, für den du Tests generieren möchtest.\n* Verwende den Befehl `/tests` und füge bei Bedarf zusätzliche Anweisungen hinzu.\n\n![DGD-Testing – Bild 2](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097192/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097192521.png)\n\n### 5. Probleme mit KI-generiertem Code mithilfe von GitLab Duo Chat identifizieren\n\nVerwende GitLab Duo Chat, um KI-generierten Code zu überprüfen und zu optimieren. Wir können zum Beispiel den Code für unseren Flask Webserver auf Sicherheitslücken überprüfen:\n\n```text\nPrompt: Überprüfe diesen Code auf potenzielle Sicherheitslücken und Abhängigkeitsprobleme.\n```\n\n![DGD-Testing – Bild 3](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097192/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097192523.png)\n\nGitLab Duo Chat kann helfen, die Sicherheitslücken im oben gezeigten Code zu identifizieren.\n\n### 6. Testberichte erstellen\n\nNachdem du deine Tests durchgeführt hast, erstellst du einen Testbericht, der mit GitLab Pages bereitgestellt wird.\n\n```text\nPrompt: Schreibe mir ein Python-Skript, das einen Testbericht erstellt, der mit GitLab Pages bereitgestellt wird.\n```\n\n![DGD-Testing – Bild 4](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097192/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097192525.png)\n\nWas passiert hier?\n\n* Das Skript stellt sicher, dass das Verzeichnis test_reports existiert.\n* Es führt die Datei `test_server.py` mit `subprocess.run()` aus und erfasst die Ausgabe.\n* Die Rohausgabe wird in `test_reports/test_output.txt` gespeichert.\n  Es wird ein HTML-Bericht erstellt, der die Testausgabe aus Gründen der Lesbarkeit in die `\u003Cpre>`-Tags einbettet und als `test_reports/index.html` gespeichert wird.\n\n### 7. Den Testbericht mit GitLab Pages bereitstellen\n\nVerwende [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/), um den Testbericht zu hosten und anzuzeigen. Hier ist die Konfiguration für unsere Datei `.gitlab-ci.yml`, um den Testbericht bereitzustellen.\n\n```python\nstages:\n  - test\n  - deploy\ntest_job:\n  stage: test\n  script:\n    - python generate_test_report.py\n  artifacts:\n    paths:\n      - test_reports/\npages:\n  stage: deploy\n  script:\n    - mv test_reports public\n  artifacts:\n    paths:\n      - public\n\n```\n\nBei dieser Konfiguration führt die Phase `test_job` das Python-Skript aus, um den Testbericht zu erstellen. Die Phase `pages` verschiebt das Verzeichnis `test_reports` in den Pfad `public`, wo GitLab Pages den Inhalt bereitstellt.\n\n### 8. Testberichte in MR-Widgets einbetten\n\nDie Einbettung der [Testberichte in MR-Widgets](https://docs.gitlab.com/ee/ci/testing/unit_test_reports.html) bietet einen sofortigen Einblick in die Testergebnisse und gewährleistet Transparenz und Zuverlässigkeit. Dazu kannst du den Testbericht als Artefakt in die Konfiguration deiner CI/CD-Pipeline aufnehmen:\n\n```python\nstages:\n  - build\n  - test\n  - deploy\n\nbuild_job:\n  stage: build\n  script:\n    - echo \"Building the project...\"\n    - # Your build commands here\n\ntest_job:\n  stage: test\n  script:\n    - mkdir -p test-reports\n    - python test_server.py > test-reports/results.xml\n  artifacts:\n    when: always\n    reports:\n      junit: test-reports/results.xml\n    paths:\n      - test-reports/results.xml\n\npages:\n  stage: deploy\n  script:\n    - mkdir .public\n    - mv test-reports .public/\n  artifacts:\n    paths:\n      - .public\n\n```\n\nIndem du den Testbericht als Artefakt einfügst und ihn im Abschnitt „reports“ angibst, zeigt GitLab die Testergebnisse automatisch in den MR-Widgets an, was einen sofortigen Einblick in die Testergebnisse ermöglicht und die Transparenz und Zuverlässigkeit erhöht.\n\n## Fallstudie: Zuverlässigkeit von KI mit Sicherheitsrichtlinien und Scannern\n\nStell dir ein Szenario vor, in dem ein KI-generierter Codeschnipsel eine Abhängigkeit verwendet, die bekannte Sicherheitslücken aufweist. Durch die Verwendung von GitLab Duo und den integrierten Sicherheitsrichtlinien würde diese Abhängigkeit bei der Codeerstellung gekennzeichnet. Das folgende Beispiel wurde von der KI erstellt:\n\n```python\nimport os\nfrom flask import Flask, request\n\napp = Flask(__name__)\n\n@app.route('/search')\ndef search():\n    query = request.args.get('query')\n    execute_os_command(query)\n    return 'You searched for: ' + query\n\ndef execute_os_command(command):\n    os.system(command)\n\nif __name__ == '__main__':\n    app.run()\n\n```\n\nDer Suchendpunkt in diesem Beispiel ist anfällig für OS Command Injection. Durch den Einsatz der GitLab-Komponente Statische Anwendungssicherheitstests ([SAST](https://docs.gitlab.com/ee/user/application_security/sast/)) würde diese Sicherheitslücke bereits in der CI/CD-Pipeline entdeckt werden.\n\n#### SAST-Scans integrieren, um Sicherheitslücken zu erkennen\n\nGitLab SAST analysiert deinen Code automatisch auf Sicherheitslücken. So kannst du es in deine `.gitlab-ci.yml`-Datei integrieren, um nach Problemen zu suchen:\n\n```python\nstages:\n  - build\n  - test\n  - sast\n  - deploy\n\nbuild_job:\n  stage: build\n  script:\n    - echo \"Building the project...\"\n    - # Your build commands here\n\ntest_job:\n  stage: test\n  script:\n    - python test_server.py > test-reports/results.xml\n  artifacts:\n    when: always\n    reports:\n      junit: test-reports/results.xml\n    paths:\n      - test-reports/results.xml\n\nsast_job:\n  stage: sast\n  script:\n    - echo \"Running SAST...\"\n  artifacts:\n    reports:\n      sast: gl-sast-report.json\n  only:\n    - branches\n\npages:\n  stage: deploy\n  script:\n    - mv test-reports public\n  artifacts:\n    paths:\n      - public\n\n```\n\nIn dieser Konfiguration wird SAST in der Phase `sast_job` ausgeführt, um Sicherheitslücken im Code zu erkennen, und einen Bericht (`gl-sast-report.json`) zu erstellen, der in die Pipeline-Artefakte aufgenommen wird. Durch die Integration von Sicherheitsrichtlinien und robusten Test-Frameworks hilft GitLab Duo Kund(inn)en dabei, sicherzustellen, dass ihr KI-generierter Code sowohl effizient als auch sicher ist.\n\n## Lege noch heute los\n\nDie Integration von KI in die Softwareentwicklung bringt erhebliche Vorteile, aber auch neue Herausforderungen mit sich. Durch die Verwendung von Tools wie GitLab Duo und GitLab Pages können Entwickler(innen) sicherstellen, dass ihr KI-generierter Code sicher, gut getestet und zuverlässig ist. Erkunde diese Tools noch heute und beteilige dich an der Diskussion über die Verbesserung der Sicherheit und des Testens von KI.\n\n>  [Starte noch heute eine Testversion von GitLab Ultimate](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&glm_content=default-saas-trial), um GitLab Duo und GitLab Pages auszuprobieren.\n\n## Lies mehr über die Reihe „Entwicklung von GitLab Duo“\n\n* [Entwicklung von GitLab Duo: Wie wir KI-Modelle im großen Maßstab validieren und testen](https://about.gitlab.com/de-de/blog/developing-gitlab-duo-how-we-validate-and-test-ai-models-at-scale/)\n* [Entwicklung von GitLab Duo: KI-Impact-Analyse-Dashboard misst den ROI von KI](https://about.gitlab.com/de-de/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n* [Entwicklung von GitLab Duo: Dogfooding unserer KI-Funktionen](https://about.gitlab.com/de-de/blog/developing-gitlab-duo-how-we-are-dogfooding-our-ai-features/)\n",[18],"David O'Regan","2025-05-29","2024-05-30","Entwicklung von GitLab Duo: Sicheres und gründliches Testen von KI-generiertem Code",[23,24,25,26],"AI/ML","DevSecOps","tutorial","security","Erfahre Schritt für Schritt, wie du die Zuverlässigkeit und Sicherheit von KI-generiertem Code mithilfe von GitLab Duo und GitLab Pages (einschließlich Codebeispielen und Prompts) verbessern kannst.","yml",{},true,"/de-de/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code",{"ogTitle":33,"ogImage":15,"ogDescription":27,"ogSiteName":34,"noIndex":12,"ogType":35,"ogUrl":36,"title":33,"canonicalUrls":36,"description":27},"GitLab Duo: So testen wir KI-generierten Code","https://about.gitlab.com","article","https://about.gitlab.com/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code","de-de/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code",[39,40,25,26],"aiml","devsecops","pz7CimLfrE8YVl6YDnLVr8boAOrhP5-iDeferC-yWUA",{"data":43},{"logo":44,"freeTrial":49,"sales":54,"login":59,"items":64,"search":373,"minimal":408,"duo":426,"pricingDeployment":435},{"config":45},{"href":46,"dataGaName":47,"dataGaLocation":48},"/de-de/","gitlab logo","header",{"text":50,"config":51},"Kostenlose Testversion anfordern",{"href":52,"dataGaName":53,"dataGaLocation":48},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":55,"config":56},"Vertrieb kontaktieren",{"href":57,"dataGaName":58,"dataGaLocation":48},"/de-de/sales/","sales",{"text":60,"config":61},"Anmelden",{"href":62,"dataGaName":63,"dataGaLocation":48},"https://gitlab.com/users/sign_in/","sign in",[65,92,188,193,294,354],{"text":66,"config":67,"cards":69},"Plattform",{"dataNavLevelOne":68},"platform",[70,76,84],{"title":66,"description":71,"link":72},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":73,"config":74},"Erkunde unsere Plattform",{"href":75,"dataGaName":68,"dataGaLocation":48},"/de-de/platform/",{"title":77,"description":78,"link":79},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":80,"config":81},"Lerne GitLab Duo kennen",{"href":82,"dataGaName":83,"dataGaLocation":48},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":85,"description":86,"link":87},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":88,"config":89},"Mehr erfahren",{"href":90,"dataGaName":91,"dataGaLocation":48},"/de-de/why-gitlab/","why gitlab",{"text":93,"left":30,"config":94,"link":96,"lists":100,"footer":170},"Produkt",{"dataNavLevelOne":95},"solutions",{"text":97,"config":98},"Alle Lösungen anzeigen",{"href":99,"dataGaName":95,"dataGaLocation":48},"/de-de/solutions/",[101,126,148],{"title":102,"description":103,"link":104,"items":109},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":105},{"icon":106,"href":107,"dataGaName":108,"dataGaLocation":48},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[110,114,117,122],{"text":111,"config":112},"CI/CD",{"href":113,"dataGaLocation":48,"dataGaName":111},"/de-de/solutions/continuous-integration/",{"text":77,"config":115},{"href":82,"dataGaLocation":48,"dataGaName":116},"gitlab duo agent platform - product menu",{"text":118,"config":119},"Quellcodeverwaltung",{"href":120,"dataGaLocation":48,"dataGaName":121},"/de-de/solutions/source-code-management/","Source Code Management",{"text":123,"config":124},"Automatisierte Softwarebereitstellung",{"href":107,"dataGaLocation":48,"dataGaName":125},"Automated software delivery",{"title":127,"description":128,"link":129,"items":134},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":130},{"href":131,"dataGaName":132,"dataGaLocation":48,"icon":133},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[135,139,144],{"text":136,"config":137},"Application Security Testing",{"href":131,"dataGaName":138,"dataGaLocation":48},"Application security testing",{"text":140,"config":141},"Schutz der Software-Lieferkette",{"href":142,"dataGaLocation":48,"dataGaName":143},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":145,"config":146},"Software Compliance",{"href":147,"dataGaName":145,"dataGaLocation":48},"/de-de/solutions/software-compliance/",{"title":149,"link":150,"items":155},"Bewertung",{"config":151},{"icon":152,"href":153,"dataGaName":154,"dataGaLocation":48},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[156,160,165],{"text":157,"config":158},"Sichtbarkeit und Bewertung",{"href":153,"dataGaLocation":48,"dataGaName":159},"Visibility and Measurement",{"text":161,"config":162},"Wertstrommanagement",{"href":163,"dataGaLocation":48,"dataGaName":164},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":166,"config":167},"Analysen und Einblicke",{"href":168,"dataGaLocation":48,"dataGaName":169},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":171,"items":172},"GitLab für",[173,178,183],{"text":174,"config":175},"Enterprise",{"href":176,"dataGaLocation":48,"dataGaName":177},"/de-de/enterprise/","enterprise",{"text":179,"config":180},"Kleinunternehmen",{"href":181,"dataGaLocation":48,"dataGaName":182},"/de-de/small-business/","small business",{"text":184,"config":185},"den öffentlichen Sektor",{"href":186,"dataGaLocation":48,"dataGaName":187},"/de-de/solutions/public-sector/","public sector",{"text":189,"config":190},"Preise",{"href":191,"dataGaName":192,"dataGaLocation":48,"dataNavLevelOne":192},"/de-de/pricing/","pricing",{"text":194,"config":195,"link":197,"lists":201,"feature":281},"Ressourcen",{"dataNavLevelOne":196},"resources",{"text":198,"config":199},"Alle Ressourcen anzeigen",{"href":200,"dataGaName":196,"dataGaLocation":48},"/de-de/resources/",[202,235,253],{"title":203,"items":204},"Erste Schritte",[205,210,215,220,225,230],{"text":206,"config":207},"Installieren",{"href":208,"dataGaName":209,"dataGaLocation":48},"/de-de/install/","install",{"text":211,"config":212},"Kurzanleitungen",{"href":213,"dataGaName":214,"dataGaLocation":48},"/de-de/get-started/","quick setup checklists",{"text":216,"config":217},"Lernen",{"href":218,"dataGaLocation":48,"dataGaName":219},"https://university.gitlab.com/","learn",{"text":221,"config":222},"Produktdokumentation",{"href":223,"dataGaName":224,"dataGaLocation":48},"https://docs.gitlab.com/","product documentation",{"text":226,"config":227},"Best-Practice-Videos",{"href":228,"dataGaName":229,"dataGaLocation":48},"/de-de/getting-started-videos/","best practice videos",{"text":231,"config":232},"Integrationen",{"href":233,"dataGaName":234,"dataGaLocation":48},"/de-de/integrations/","integrations",{"title":236,"items":237},"Entdecken",[238,243,248],{"text":239,"config":240},"Kundenerfolge",{"href":241,"dataGaName":242,"dataGaLocation":48},"/de-de/customers/","customer success stories",{"text":244,"config":245},"Blog",{"href":246,"dataGaName":247,"dataGaLocation":48},"/de-de/blog/","blog",{"text":249,"config":250},"Remote",{"href":251,"dataGaName":252,"dataGaLocation":48},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":254,"items":255},"Vernetzen",[256,261,266,271,276],{"text":257,"config":258},"GitLab-Services",{"href":259,"dataGaName":260,"dataGaLocation":48},"/de-de/services/","services",{"text":262,"config":263},"Community",{"href":264,"dataGaName":265,"dataGaLocation":48},"/community/","community",{"text":267,"config":268},"Forum",{"href":269,"dataGaName":270,"dataGaLocation":48},"https://forum.gitlab.com/","forum",{"text":272,"config":273},"Veranstaltungen",{"href":274,"dataGaName":275,"dataGaLocation":48},"/events/","events",{"text":277,"config":278},"Partner",{"href":279,"dataGaName":280,"dataGaLocation":48},"/de-de/partners/","partners",{"backgroundColor":282,"textColor":283,"text":284,"image":285,"link":289},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":286,"config":287},"the source promo card",{"src":288},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":290,"config":291},"Lies die News",{"href":292,"dataGaName":293,"dataGaLocation":48},"/de-de/the-source/","the source",{"text":295,"config":296,"lists":298},"Unternehmen",{"dataNavLevelOne":297},"company",[299],{"items":300},[301,306,312,314,319,324,329,334,339,344,349],{"text":302,"config":303},"Über",{"href":304,"dataGaName":305,"dataGaLocation":48},"/de-de/company/","about",{"text":307,"config":308,"footerGa":311},"Karriere",{"href":309,"dataGaName":310,"dataGaLocation":48},"/jobs/","jobs",{"dataGaName":310},{"text":272,"config":313},{"href":274,"dataGaName":275,"dataGaLocation":48},{"text":315,"config":316},"Geschäftsführung",{"href":317,"dataGaName":318,"dataGaLocation":48},"/company/team/e-group/","leadership",{"text":320,"config":321},"Team",{"href":322,"dataGaName":323,"dataGaLocation":48},"/company/team/","team",{"text":325,"config":326},"Handbuch",{"href":327,"dataGaName":328,"dataGaLocation":48},"https://handbook.gitlab.com/","handbook",{"text":330,"config":331},"Investor Relations",{"href":332,"dataGaName":333,"dataGaLocation":48},"https://ir.gitlab.com/","investor relations",{"text":335,"config":336},"Trust Center",{"href":337,"dataGaName":338,"dataGaLocation":48},"/de-de/security/","trust center",{"text":340,"config":341},"AI Transparency Center",{"href":342,"dataGaName":343,"dataGaLocation":48},"/de-de/ai-transparency-center/","ai transparency center",{"text":345,"config":346},"Newsletter",{"href":347,"dataGaName":348,"dataGaLocation":48},"/company/contact/#contact-forms","newsletter",{"text":350,"config":351},"Presse",{"href":352,"dataGaName":353,"dataGaLocation":48},"/press/","press",{"text":355,"config":356,"lists":357},"Kontakt",{"dataNavLevelOne":297},[358],{"items":359},[360,363,368],{"text":55,"config":361},{"href":57,"dataGaName":362,"dataGaLocation":48},"talk to sales",{"text":364,"config":365},"Support-Portal",{"href":366,"dataGaName":367,"dataGaLocation":48},"https://support.gitlab.com","support portal",{"text":369,"config":370},"Kundenportal",{"href":371,"dataGaName":372,"dataGaLocation":48},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":374,"login":375,"suggestions":382},"Schließen",{"text":376,"link":377},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":378,"config":379},"gitlab.com",{"href":62,"dataGaName":380,"dataGaLocation":381},"search login","search",{"text":383,"default":384},"Vorschläge",[385,387,392,394,399,404],{"text":77,"config":386},{"href":82,"dataGaName":77,"dataGaLocation":381},{"text":388,"config":389},"Code Suggestions (KI)",{"href":390,"dataGaName":391,"dataGaLocation":381},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":111,"config":393},{"href":113,"dataGaName":111,"dataGaLocation":381},{"text":395,"config":396},"GitLab auf AWS",{"href":397,"dataGaName":398,"dataGaLocation":381},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":400,"config":401},"GitLab auf Google Cloud",{"href":402,"dataGaName":403,"dataGaLocation":381},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":405,"config":406},"Warum GitLab?",{"href":90,"dataGaName":407,"dataGaLocation":381},"Why GitLab?",{"freeTrial":409,"mobileIcon":414,"desktopIcon":419,"secondaryButton":422},{"text":410,"config":411},"Kostenlos testen",{"href":412,"dataGaName":53,"dataGaLocation":413},"https://gitlab.com/-/trials/new/","nav",{"altText":415,"config":416},"GitLab-Symbol",{"src":417,"dataGaName":418,"dataGaLocation":413},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":415,"config":420},{"src":421,"dataGaName":418,"dataGaLocation":413},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":203,"config":423},{"href":424,"dataGaName":425,"dataGaLocation":413},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":427,"mobileIcon":431,"desktopIcon":433},{"text":428,"config":429},"Erfahre mehr über GitLab Duo",{"href":82,"dataGaName":430,"dataGaLocation":413},"gitlab duo",{"altText":415,"config":432},{"src":417,"dataGaName":418,"dataGaLocation":413},{"altText":415,"config":434},{"src":421,"dataGaName":418,"dataGaLocation":413},{"freeTrial":436,"mobileIcon":441,"desktopIcon":443},{"text":437,"config":438},"Zurück zur Preisübersicht",{"href":191,"dataGaName":439,"dataGaLocation":413,"icon":440},"back to pricing","GoBack",{"altText":415,"config":442},{"src":417,"dataGaName":418,"dataGaLocation":413},{"altText":415,"config":444},{"src":421,"dataGaName":418,"dataGaLocation":413},{"title":446,"button":447,"config":452},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":448,"config":449},"GitLab Transcend jetzt ansehen",{"href":450,"dataGaName":451,"dataGaLocation":48},"/de-de/events/transcend/virtual/","transcend event",{"layout":453,"icon":454,"disabled":30},"release","AiStar",{"data":456},{"text":457,"source":458,"edit":464,"contribute":469,"config":474,"items":479,"minimal":652},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":459,"config":460},"Quelltext der Seite anzeigen",{"href":461,"dataGaName":462,"dataGaLocation":463},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":465,"config":466},"Diese Seite bearbeiten",{"href":467,"dataGaName":468,"dataGaLocation":463},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":470,"config":471},"Beteilige dich",{"href":472,"dataGaName":473,"dataGaLocation":463},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":475,"facebook":476,"youtube":477,"linkedin":478},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[480,503,558,585,619],{"title":66,"links":481,"subMenu":486},[482],{"text":483,"config":484},"DevSecOps-Plattform",{"href":75,"dataGaName":485,"dataGaLocation":463},"devsecops platform",[487],{"title":189,"links":488},[489,493,498],{"text":490,"config":491},"Tarife anzeigen",{"href":191,"dataGaName":492,"dataGaLocation":463},"view plans",{"text":494,"config":495},"Vorteile von Premium",{"href":496,"dataGaName":497,"dataGaLocation":463},"/de-de/pricing/premium/","why premium",{"text":499,"config":500},"Vorteile von Ultimate",{"href":501,"dataGaName":502,"dataGaLocation":463},"/de-de/pricing/ultimate/","why ultimate",{"title":504,"links":505},"Lösungen",[506,511,514,516,521,526,530,533,536,541,543,545,548,553],{"text":507,"config":508},"Digitale Transformation",{"href":509,"dataGaName":510,"dataGaLocation":463},"/de-de/topics/digital-transformation/","digital transformation",{"text":512,"config":513},"Sicherheit und Compliance",{"href":131,"dataGaName":138,"dataGaLocation":463},{"text":123,"config":515},{"href":107,"dataGaName":108,"dataGaLocation":463},{"text":517,"config":518},"Agile Entwicklung",{"href":519,"dataGaName":520,"dataGaLocation":463},"/de-de/solutions/agile-delivery/","agile delivery",{"text":522,"config":523},"Cloud-Transformation",{"href":524,"dataGaName":525,"dataGaLocation":463},"/de-de/topics/cloud-native/","cloud transformation",{"text":527,"config":528},"SCM",{"href":120,"dataGaName":529,"dataGaLocation":463},"source code management",{"text":111,"config":531},{"href":113,"dataGaName":532,"dataGaLocation":463},"continuous integration & delivery",{"text":161,"config":534},{"href":163,"dataGaName":535,"dataGaLocation":463},"value stream management",{"text":537,"config":538},"GitOps",{"href":539,"dataGaName":540,"dataGaLocation":463},"/de-de/solutions/gitops/","gitops",{"text":174,"config":542},{"href":176,"dataGaName":177,"dataGaLocation":463},{"text":179,"config":544},{"href":181,"dataGaName":182,"dataGaLocation":463},{"text":546,"config":547},"Öffentlicher Sektor",{"href":186,"dataGaName":187,"dataGaLocation":463},{"text":549,"config":550},"Bildungswesen",{"href":551,"dataGaName":552,"dataGaLocation":463},"/de-de/solutions/education/","education",{"text":554,"config":555},"Finanzdienstleistungen",{"href":556,"dataGaName":557,"dataGaLocation":463},"/de-de/solutions/finance/","financial services",{"title":194,"links":559},[560,562,564,566,569,571,573,575,577,579,581,583],{"text":206,"config":561},{"href":208,"dataGaName":209,"dataGaLocation":463},{"text":211,"config":563},{"href":213,"dataGaName":214,"dataGaLocation":463},{"text":216,"config":565},{"href":218,"dataGaName":219,"dataGaLocation":463},{"text":221,"config":567},{"href":223,"dataGaName":568,"dataGaLocation":463},"docs",{"text":244,"config":570},{"href":246,"dataGaName":247,"dataGaLocation":463},{"text":239,"config":572},{"href":241,"dataGaName":242,"dataGaLocation":463},{"text":249,"config":574},{"href":251,"dataGaName":252,"dataGaLocation":463},{"text":257,"config":576},{"href":259,"dataGaName":260,"dataGaLocation":463},{"text":262,"config":578},{"href":264,"dataGaName":265,"dataGaLocation":463},{"text":267,"config":580},{"href":269,"dataGaName":270,"dataGaLocation":463},{"text":272,"config":582},{"href":274,"dataGaName":275,"dataGaLocation":463},{"text":277,"config":584},{"href":279,"dataGaName":280,"dataGaLocation":463},{"title":295,"links":586},[587,589,591,593,595,597,599,603,608,610,612,614],{"text":302,"config":588},{"href":304,"dataGaName":297,"dataGaLocation":463},{"text":307,"config":590},{"href":309,"dataGaName":310,"dataGaLocation":463},{"text":315,"config":592},{"href":317,"dataGaName":318,"dataGaLocation":463},{"text":320,"config":594},{"href":322,"dataGaName":323,"dataGaLocation":463},{"text":325,"config":596},{"href":327,"dataGaName":328,"dataGaLocation":463},{"text":330,"config":598},{"href":332,"dataGaName":333,"dataGaLocation":463},{"text":600,"config":601},"Sustainability",{"href":602,"dataGaName":600,"dataGaLocation":463},"/sustainability/",{"text":604,"config":605},"Vielfalt, Inklusion und Zugehörigkeit",{"href":606,"dataGaName":607,"dataGaLocation":463},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":335,"config":609},{"href":337,"dataGaName":338,"dataGaLocation":463},{"text":345,"config":611},{"href":347,"dataGaName":348,"dataGaLocation":463},{"text":350,"config":613},{"href":352,"dataGaName":353,"dataGaLocation":463},{"text":615,"config":616},"Transparenzerklärung zu moderner Sklaverei",{"href":617,"dataGaName":618,"dataGaLocation":463},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":620,"links":621},"Nimm Kontakt auf",[622,625,630,632,637,642,647],{"text":623,"config":624},"Sprich mit einem Experten/einer Expertin",{"href":57,"dataGaName":58,"dataGaLocation":463},{"text":626,"config":627},"Support",{"href":628,"dataGaName":629,"dataGaLocation":463},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":369,"config":631},{"href":371,"dataGaName":372,"dataGaLocation":463},{"text":633,"config":634},"Status",{"href":635,"dataGaName":636,"dataGaLocation":463},"https://status.gitlab.com/","status",{"text":638,"config":639},"Nutzungsbedingungen",{"href":640,"dataGaName":641,"dataGaLocation":463},"/terms/","terms of use",{"text":643,"config":644},"Datenschutzerklärung",{"href":645,"dataGaName":646,"dataGaLocation":463},"/de-de/privacy/","privacy statement",{"text":648,"config":649},"Cookie-Einstellungen",{"dataGaName":650,"dataGaLocation":463,"id":651,"isOneTrustButton":30},"cookie preferences","ot-sdk-btn",{"items":653},[654,656,658],{"text":638,"config":655},{"href":640,"dataGaName":641,"dataGaLocation":463},{"text":643,"config":657},{"href":645,"dataGaName":646,"dataGaLocation":463},{"text":648,"config":659},{"dataGaName":650,"dataGaLocation":463,"id":651,"isOneTrustButton":30},[661],{"id":662,"title":663,"body":8,"config":664,"content":666,"description":8,"extension":28,"meta":670,"navigation":30,"path":671,"seo":672,"stem":673,"__hash__":674},"blogAuthors/en-us/blog/authors/david-oregan.yml","David Oregan",{"template":665},"BlogAuthor",{"name":18,"config":667},{"headshot":668,"ctfId":669},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659853/Blog/Author%20Headshots/oregand-headshot.png","oregand",{},"/en-us/blog/authors/david-oregan",{},"en-us/blog/authors/david-oregan","CX5gLc3Gs5FrmvpMNVkBtC5zRi3vj8l3wJGnW0iSa6Y",[676,689,702],{"content":677,"config":687},{"heroImage":678,"title":679,"description":680,"authors":681,"date":683,"category":9,"tags":684,"body":686},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643639/sapu29gmlgtwvhggmj6k.png","GitLab Duo Agent Platform erweitern: Beliebige Tools per MCP verbinden","Externe Tools wie Jira über MCP direkt in GitLab Duo Agent Platform einbinden – Schritt-für-Schritt-Einrichtung mit drei praxisnahen Workflow-Demos.",[682],"Albert Rabassa","2026-03-05",[9,685,25],"product","Die Verwaltung von Software-Entwicklungsprojekten bedeutet oft, zwischen verschiedenen Tools zu wechseln: Issues in Jira verfolgen, Code in der IDE schreiben, in GitLab zusammenarbeiten. Dieses ständige Wechseln zwischen Plattformen unterbricht den Fokus und verlangsamt die Lieferung.\n\n\n\nMit der MCP-Unterstützung des [GitLab Duo Agent Platform](https://about.gitlab.com/topics/ai/model-context-protocol/) lassen sich Jira und andere MCP-kompatible Tools direkt in die KI-gestützte Entwicklungsumgebung einbinden. Issues abfragen, Tickets aktualisieren, Workflows synchronisieren – per natürlicher Sprache, direkt aus der IDE.\n\n\n\n## Was in diesem Tutorial vermittelt wird\n\n\n\nDieses Tutorial zeigt:\n\n\n\n* **Einrichtung der Jira/Atlassian OAuth-Anwendung** für sichere Authentifizierung\n\n* **Konfiguration des GitLab Duo Agent Platform** als MCP-Client\n\n* **Drei praxisnahe Anwendungsfälle** mit realen Workflows\n\n\n\n## Voraussetzungen\n\n\n\nVor dem Start sollten folgende Voraussetzungen erfüllt sein:\n\n\n\n| Voraussetzung | Details |\n| ---- | ----- |\n| **GitLab-Instanz** | GitLab 18.8+ mit aktiviertem Duo Agent Platform |\n| **Jira-Konto** | Jira Cloud-Instanz mit Admin-Zugriff zum Erstellen von OAuth-Anwendungen |\n| **IDE** | Visual Studio Code mit installierter GitLab Workflow-Erweiterung |\n| **MCP-Unterstützung** | MCP-Unterstützung in GitLab aktiviert |\n\n\n\n## Architektur verstehen\n\n\n\nDer GitLab Duo Agent Platform agiert als **MCP-Client** und stellt eine Verbindung zum Atlassian MCP-Server her, um auf Jira-Projektmanagement-Daten zuzugreifen. Der Atlassian MCP-Server übernimmt die Authentifizierung, übersetzt natürlichsprachliche Anfragen in API-Aufrufe und gibt strukturierte Daten zurück – bei gleichzeitiger Einhaltung von Sicherheits- und Audit-Anforderungen.\n\n\n\n## Teil 1: Jira OAuth-Anwendung konfigurieren\n\n\n\nUm den GitLab Duo Agent Platform sicher mit der Jira-Instanz zu verbinden, muss eine OAuth 2.0-Anwendung in der Atlassian Developer Console erstellt werden. Diese erteilt dem GitLab MCP-Server autorisierten Zugriff auf die Jira-Daten.\n\n\n\n### Einrichtungsschritte\n\n\n\nFür die manuelle Konfiguration sind folgende Schritte erforderlich:\n\n\n\n1. **Atlassian Developer Console aufrufen**\n\n\n   * [developer.atlassian.com/console/myapps](https://developer.atlassian.com/console/myapps) öffnen\n\n\n   * Mit dem Atlassian-Konto anmelden\n\n\n2. **Neue OAuth 2.0-App erstellen**\n\n\n   * **Create** → **OAuth 2.0 integration** klicken\n\n\n   * Namen eingeben (z. B. „gitlab-dap-mcp\")\n\n\n   * Nutzungsbedingungen akzeptieren und **Create** klicken\n\n\n3. **Berechtigungen konfigurieren**\n\n\n   * In der linken Seitenleiste zu **Permissions** navigieren\n\n\n   * **Jira API** hinzufügen und folgende Scopes konfigurieren:\n\n\n     * `read:jira-work` — Issues, Projekte und Boards lesen\n\n\n     * `write:jira-work` — Issues erstellen und aktualisieren\n\n\n     * `read:jira-user` — Benutzerinformationen lesen\n\n\n4. **Autorisierung einrichten**\n\n\n   * In der linken Seitenleiste zu **Authorization** navigieren\n\n\n   * Callback-URL für die Umgebung hinzufügen (`https://gitlab.com/oauth/callback`)\n\n\n   * Änderungen speichern\n\n\n5. **Zugangsdaten abrufen**\n\n\n   * Zu **Settings** navigieren\n\n\n   * **Client ID** und **Client Secret** kopieren\n\n\n   * Sicher aufbewahren – diese werden für die MCP-Konfiguration benötigt\n\n\n\n\n### Interaktive Anleitung: Jira OAuth-Einrichtung\n\n\n\nAuf das Bild klicken, um zu beginnen.\n\n\n\n\n\n[![Jira OAuth setup tour](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772644850/wnzfoq43nkkfmgdqldmr.png)](https://gitlab.navattic.com/jira-oauth-setup)\n\n\n\n\n\n## Teil 2: GitLab Duo Agent Platform MCP-Client konfigurieren\n\n\n\nMit den bereitgestellten OAuth-Zugangsdaten kann der GitLab Duo Agent Platform nun für die Verbindung mit dem Atlassian MCP-Server konfiguriert werden.\n\n\n\n### MCP-Konfigurationsdatei erstellen\n\n\n\nDie MCP-Konfigurationsdatei im GitLab-Projekt unter `.gitlab/duo/mcp.json` erstellen:\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.atlassian.com/v1/mcp\",\n      \"auth\": {\n        \"type\": \"oauth2\",\n        \"clientId\": \"YOUR_CLIENT_ID\",\n        \"clientSecret\": \"YOUR_CLIENT_SECRET\",\n        \"authorizationUrl\": \"https://auth.atlassian.com/oauth/authorize\",\n        \"tokenUrl\": \"https://auth.atlassian.com/oauth/token\"\n      },\n      \"approvedTools\": true\n    }\n  }\n}\n```\n\n\n\n`YOUR_CLIENT_ID` und `YOUR_CLIENT_SECRET` durch die in Teil 1 generierten Zugangsdaten ersetzen.\n\n\n\n### MCP in GitLab aktivieren\n\n\n\n1. Zu **Gruppeneinstellungen** → **GitLab Duo** → **Konfiguration** navigieren\n\n2. „Externe MCP-Tools erlauben\" aktivieren\n\n\n\n### Verbindung überprüfen\n\n\n\nDas Projekt in VS Code öffnen und im GitLab Duo Agent Platform Chat eingeben:\n\n```text\nWhat MCP tools do you have access to?\n```\n\n\n\nDann\n```text\nTest the MCP JIRA configuration in this project\n```\n\n\n\nAnschließend erfolgt eine Weiterleitung von der IDE zur MCP Atlassian-Website zur Zugriffsgenehmigung:\n\n\n\n![Redirect to MCP Atlassian website](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/z5acqjgguh0damnnde9g.png \"Redirect to MCP Atlassian website\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Approve access](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/rwowamm8nsubhpixtn3i.png \"Approve access\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Select your JIRA instance and approve](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/chuzqd0jeptfwvoj7wjr.png \"Select your JIRA instance and approve\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Success!](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/bsgti5iste2bzck19o5y.png \"Success!\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n### Überprüfung über das MCP-Dashboard\n\n\n\nGitLab bietet zudem ein integriertes **MCP-Dashboard** direkt in der IDE.\n\n\n\nIn VS Code oder VSCodium die Befehlspalette öffnen (`Cmd+Shift+P` unter macOS, `Ctrl+Shift+P` unter Windows/Linux) und nach **„GitLab: Show MCP Dashboard\"** suchen. Das Dashboard öffnet sich in einem neuen Editor-Tab und zeigt:\n\n\n\n* **Verbindungsstatus** für jeden konfigurierten MCP-Server\n\n* **Verfügbare Tools** des Servers (z. B. `jira_get_issue`, `jira_create_issue`)\n\n* **Server-Logs** mit Echtzeit-Protokollierung der aufgerufenen Tools\n\n\n\n![MCP servers dashboard and status](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/mmvdfchucacsydivowvn.png \"MCP servers dashboard and status\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![Server details and permissions](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/tcocgdvovp2dl42pvfn8.png \"Server details and permissions\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n![MCP Server logs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643466/mougvqqk1bozchaufsci.png \"MCP Server logs\")\n\n\n\n\u003Cbr>\u003C/br>\n\n\n\n### Interaktive Anleitung: MCP testen\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005495?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Testing MCP\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n## Teil 3: Anwendungsfälle in der Praxis\n\n\n\nMit der konfigurierten Integration lassen sich drei praxisnahe Workflows erkunden, die die Möglichkeiten der Jira-Anbindung an den GitLab Duo Agent Platform demonstrieren.\n\n\n\n### Planungsassistent\n\n\n\n**Szenario:** Vorbereitung auf Sprint-Planung – schnelle Bewertung des Backlogs, Verstehen von Prioritäten, Identifizierung von Blockern.\n\n\n\nDiese Demo zeigt:\n\n\n\n* Backlog abfragen\n\n* Nicht zugewiesene hochpriorisierte Issues identifizieren\n\n* KI-gestützte Sprint-Empfehlungen erhalten\n\n\n\n#### Beispiel-Prompts\n\n\n\nIm GitLab Duo Agent Platform Chat ausprobieren:\n\n```text\nList all the unassigned issues in JIRA for project GITLAB\n```\n\n```text\nSuggest the two top issues to prioritize and summarize them. Assign them to me.\n```\n\n\n### Interaktive Anleitung: Projektplanung\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005462?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Project Planning\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n### Issue-Triage und Erstellung aus dem Code\n\n\n\n**Szenario:** Beim Code-Review wird ein Bug entdeckt – ein Jira-Issue mit relevantem Kontext erstellen, ohne die IDE zu verlassen.\n\n\n\nDiese Demo zeigt:\n\n\n\n* Einen Bug beim Coding identifizieren\n\n* Ein detailliertes Jira-Issue per natürlicher Sprache erstellen\n\n* Issue-Felder automatisch mit Code-Kontext befüllen\n\n* Das Issue mit dem aktuellen Branch verknüpfen\n\n\n\n#### Beispiel-Prompts\n```text\nSearch in JIRA for a bug related to: Null pointer exception in PaymentService.processRefund().\n\nIf it does not exist create it with all the context needed from the code. Find possible blockers that this bug may cause.\n```\n\n```text\nCreate a new branch called issue-gitlab-18, checkout, and link it to the issue we just created. Assign the JIRA issue to me and mark it as in-progress.\n```\n\n\n\n### Interaktive Anleitung: Bug-Review und Aufgaben-Automatisierung\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005368?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Bug Review\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n### Systemübergreifende Incident-Untersuchung\n\n\n\n**Szenario:** Ein Production-Incident tritt auf – Informationen aus Jira, GitLab Project Management, Codebase und Merge Requests werden korreliert, um die Ursache zu identifizieren.\n\n\n\nDiese Demo zeigt:\n\n\n\n* Incident-Details aus Jira abrufen\n\n* Mit aktuellen Merge Requests in GitLab korrelieren\n\n* Möglicherweise betroffene Code-Änderungen identifizieren\n\n* Eine Incident-Timeline generieren\n\n* Einen Behebungsplan entwerfen und als Work Item in GitLab erstellen\n\n\n\n#### Beispiel-Prompts\n\n```text\n\"We have a production incident INC-1 about checkout failures. Can you help me investigate with all available context?\"\n```\n\n```text\nCreate a timeline of events for incident INC-1 including related Jira issues and recent deployments\n```\n\n```text\nPropose a remediation plan\n```\n\n\n\n### Interaktive Anleitung: Systemübergreifende Fehleranalyse und Behebung\n\n\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005413?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Cross System Investigation\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\n\n## Fehlerbehebung\n\n\n\nHäufige Einrichtungsprobleme und schnelle Lösungen:\n\n\n\n| Problem | Lösung |\n| ----- | ----- |\n| „MCP server not found\" | Prüfen, ob die Datei `mcp.json` am richtigen Ort liegt und korrekt formatiert ist |\n| „Authentication failed\" | OAuth-Zugangsdaten und Scopes in Atlassian überprüfen |\n| „No Jira tools available\" | VS Code nach dem Aktualisieren von `mcp.json` neu starten und MCP in GitLab aktivieren |\n| „Connection timeout\" | Netzwerkverbindung zu `mcp.atlassian.com` prüfen |\n\n\u003Cbr/>\nDetaillierte Informationen zur Fehlerbehebung: [GitLab MCP-Clients-Dokumentation](https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients/).\n\n\n\n## Sicherheitshinweise\n\n\n\nBei der Integration von Jira mit dem GitLab Duo Agent Platform:\n\n\n\n* **OAuth-Token** — Zugangsdaten sicher aufbewahren\n\n* **Prinzip der minimalen Rechtevergabe** — Nur die minimal erforderlichen Jira-Scopes vergeben\n\n* **Token-Rotation** — OAuth-Zugangsdaten regelmäßig rotieren\n\n\n\n## Zusammenfassung\n\n\n\nDie Anbindung des GitLab Duo Agent Platform an verschiedene Tools über MCP verändert die Interaktion mit dem Entwicklungslebenszyklus. In diesem Artikel wurde gezeigt:\n\n\n\n* **Issues per natürlicher Sprache abfragen** — Fragen zum Backlog, zu Sprints und Incidents in natürlicher Sprache stellen.\n\n* **Issues in der gesamten DevSecOps-Umgebung erstellen und aktualisieren** — Bugs melden und Tickets aktualisieren, ohne die IDE zu verlassen.\n\n* **Systemübergreifend korrelieren** — Jira-Daten mit GitLab Project Management, Merge Requests und Pipelines für vollständige Transparenz kombinieren.\n\n* **Kontextwechsel reduzieren** — Fokus auf den Code behalten und gleichzeitig mit dem Projektmanagement verbunden bleiben.\n\n\n\n## Für deutsche Unternehmen könnte dies folgende Themen betreffen\n\n\n\nTeams, die externe Tools über MCP einbinden, haben möglicherweise auch Governance- und Sicherheitsüberlegungen – beispielsweise in Bereichen wie Zugriffskontrolle, Token-Management und Audit-Nachvollziehbarkeit.\n\n\n\nRegulatorische Frameworks wie NIS2, ISO 27001 und DSGVO adressieren ähnliche Themen rund um Zugriffssteuerung und Protokollierung. Für konkrete Compliance-Anforderungen empfiehlt sich Rücksprache mit entsprechender Fachberatung.\n\n\n\n## Weiterführende Informationen\n\n\n\n* [GitLab Duo Agent Platform unterstützt jetzt das Model Context Protocol](https://about.gitlab.com/de-de/blog/duo-agent-platform-with-mcp/)\n\n\n\n* [Was ist das Model Context Protocol?](https://about.gitlab.com/topics/ai/model-context-protocol/)\n\n\n\n* [Leitfäden und Ressourcen für Agentic AI](https://about.gitlab.com/de-de/blog/agentic-ai-guides-and-resources/)\n\n\n\n* [Dokumentation zu GitLab-MCP-Clients](https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients/)\n\n\n\n* [Erste Schritte mit der GitLab Duo Agent Platform: Der vollständige Leitfaden](https://about.gitlab.com/de-de/blog/gitlab-duo-agent-platform-complete-getting-started-guide/)",{"featured":12,"template":13,"slug":688},"extend-gitlab-duo-agent-platform-connect-any-tool-with-mcp",{"content":690,"config":700},{"title":691,"description":692,"authors":693,"heroImage":695,"date":696,"body":697,"category":9,"tags":698},"10 KI-Prompts für den gesamten Software-Delivery-Prozess","Code Review, Security, Dokumentation, Tests, Planung, Debugging – einsatzbereite Prompts, die Team-Engpässe systematisch adressieren.",[694],"Chandler Gibbons","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772632341/duj8vaznbhtyxxhodb17.png","2026-03-04","KI-gestützte Coding-Tools helfen Entwicklerinnen und Entwicklern, Code schneller zu schreiben. Warum liefern Teams trotzdem nicht schneller?\nWeil Coding nur 20 % des Software-Delivery-Lifecycles ausmacht. Die restlichen 80 % werden zum Engpass: Code-Review-Rückstände wachsen, Security-Scans halten nicht Schritt, Dokumentation bleibt liegen, und manueller Koordinationsaufwand steigt.\nDieselben KI-Fähigkeiten, die das individuelle Coding beschleunigen, lassen sich auf den gesamten Softwarelebenszyklus ausdehnen – von der Planung über Code-Review und Security bis hin zu Tests und Debugging. Nachfolgend finden sich 10 einsatzbereite Prompts aus der [GitLab Duo Agent Platform Prompt Library](https://about.gitlab.com/gitlab-duo/prompt-library/), die typische Team-Engpässe systematisch adressieren.\n\n## Wie wird Code Review vom Engpass zum Beschleuniger?\nTeams erstellen Merge Requests schneller, wenn KI beim Coding unterstützt – doch menschliche Reviewer können kaum mithalten, wenn Review-Zyklen von Stunden auf Tage anwachsen. KI übernimmt Routineprüfungen wie logische Fehler und API-Vertragsverletzungen, damit Reviewer sich auf Architektur und Geschäftslogik konzentrieren können.\n\n### MR auf logische Fehler prüfen\n**Komplexität**: Einstieg\n**Kategorie**: Code Review\n**Prompt aus der Bibliothek**:\n\n```text\n\nReview this MR for logical errors, edge cases, and potential bugs: [MR URL or paste code]\n\n```\n**Warum das hilft**: Automatische Linter erkennen Syntaxfehler – logische Fehler erfordern das Verständnis der Absicht hinter dem Code. Dieser Prompt findet Bugs, bevor Reviewer überhaupt einen Blick darauf werfen, und reduziert Review-Zyklen häufig auf eine einzige Freigaberunde.\n\n### Breaking Changes im MR identifizieren\n**Komplexität**: Einstieg\n**Kategorie**: Code Review\n**Prompt aus der Bibliothek**:\n\n```text\n\nDoes this MR introduce any breaking changes?\n\nChanges:\n\n[PASTE CODE DIFF]\n\nCheck for:\n\n1. API signature changes\n\n2. Removed or renamed public methods\n\n3. Changed return types\n\n4. Modified database schemas\n\n5. Breaking configuration changes\n\n```\n**Warum das hilft**: Breaking Changes, die erst beim Deployment auffallen, erzwingen Rollbacks und verursachen Incidents. Dieser Prompt verlagert die Erkennung in die MR-Phase – wo Korrekturen deutlich weniger aufwändig sind.\n\n## Wie lässt sich Security nach links verschieben, ohne den Prozess zu verlangsamen?\nSecurity-Scans erzeugen Hunderte von Befunden. Security-Teams triagieren manuell, während Entwicklerinnen und Entwickler auf Deployment-Freigaben warten. Der Großteil der Befunde sind False Positives oder Niedrigrisiko-Probleme – die tatsächlichen Bedrohungen herauszufiltern kostet Zeit und Expertise. KI priorisiert Befunde nach tatsächlicher Ausnutzbarkeit und unterstützt bei der Behebung häufiger Schwachstellen, sodass Security-Teams sich auf die relevanten Bedrohungen konzentrieren können.\n\n### Security-Scan-Ergebnisse analysieren\n**Komplexität**: Fortgeschritten\n**Kategorie**: Security\n**Agent**: Duo Security Analyst\n**Prompt aus der Bibliothek**:\n\n```text\n\n@security_analyst Analyze these security scan results:\n\n[PASTE SCAN OUTPUT]\n\nFor each finding:\n\n1. Assess real risk vs false positive\n\n2. Explain the vulnerability\n\n3. Suggest remediation\n\n4. Prioritize by severity\n\n```\n**Warum das hilft**: Dieser Prompt hilft Security-Teams, sich auf die Befunde zu konzentrieren, die tatsächlich relevant sind – und reduziert die Zeit bis zur Behebung von Wochen auf Tage.\n\n### Code auf Sicherheitsprobleme prüfen\n**Komplexität**: Fortgeschritten\n**Kategorie**: Security\n**Agent**: Duo Security Analyst\n**Prompt aus der Bibliothek**:\n\n```text\n\n@security_analyst Review this code for security issues:\n\n[PASTE CODE]\n\nCheck for:\n\n1. Injection vulnerabilities\n\n2. Authentication/authorization flaws\n\n3. Data exposure risks\n\n4. Insecure dependencies\n\n5. Cryptographic issues\n\n```\n**Warum das hilft**: Herkömmliche Security-Reviews finden statt, nachdem Code geschrieben wurde. Dieser Prompt ermöglicht es, Sicherheitsprobleme vor dem Erstellen eines MR zu erkennen und zu beheben – und eliminiert die Abstimmungsschleifen, die Deployments verzögern.\n\n## Wie bleibt Dokumentation mit dem Code auf dem neuesten Stand?\nCode ändert sich schneller als Dokumentation. Neue Teammitglieder benötigen Wochen für das Onboarding, weil Docs veraltet oder unvollständig sind. Dokumentation wird stets als wichtig erkannt, aber bei Deadlines zuerst verschoben. Automatisierte Generierung und Aktualisierung als Teil des Standard-Workflows hält Docs aktuell – ohne zusätzlichen Aufwand.\n\n### Release Notes aus MRs generieren\n**Komplexität**: Einstieg\n**Kategorie**: Dokumentation\n**Prompt aus der Bibliothek**:\n\n```text\n\nGenerate release notes for these merged MRs:\n\n[LIST MR URLs or paste titles]\n\nGroup by:\n\n1. New features\n\n2. Bug fixes\n\n3. Performance improvements\n\n4. Breaking changes\n\n5. Deprecations\n\n```\n**Warum das hilft**: Die manuelle Zusammenstellung von Release Notes dauert Stunden und enthält häufig Lücken oder Fehler. Automatisierte Generierung stellt sicher, dass jedes Release vollständige Notes erhält – ohne zusätzlichen Aufwand im Release-Prozess.\n\n### Dokumentation nach Code-Änderungen aktualisieren\n**Komplexität**: Einstieg\n**Kategorie**: Dokumentation\n**Prompt aus der Bibliothek**:\n\n```text\n\nI changed this code:\n\n[PASTE CODE CHANGES]\n\nWhat documentation needs updating? Check:\n\n1. README files\n\n2. API documentation\n\n3. Architecture diagrams\n\n4. Onboarding guides\n\n```\n**Warum das hilft**: Dokumentation driftet, weil Teams nach Code-Änderungen nicht immer im Blick haben, welche Docs betroffen sind. Dieser Prompt macht Dokumentationspflege zum Teil des Entwicklungsworkflows – statt einer Aufgabe, die aufgeschoben wird.\n\n## Wie lässt sich Planungskomplexität systematisch aufbrechen?\nGroße Features bleiben in der Planungsphase stecken. KI kann komplexe Arbeit strukturiert in konkrete, umsetzbare Aufgaben mit klaren Abhängigkeiten und Akzeptanzkriterien zerlegen – und so wochenlange Abstimmung in fokussierte Implementierung verwandeln.\n\n### Epic in Issues aufteilen\n**Komplexität**: Fortgeschritten\n**Kategorie**: Dokumentation\n**Agent**: Duo Planner\n**Prompt aus der Bibliothek**:\n\n```text\n\nBreak down this epic into implementable issues:\n\n[EPIC DESCRIPTION]\n\nConsider:\n\n1. Technical dependencies\n\n2. Reasonable issue sizes\n\n3. Clear acceptance criteria\n\n4. Logical implementation order\n\n```\n**Warum das hilft**: Dieser Prompt verwandelt eine Woche Planungsmeetings in 30 Minuten KI-gestützte Zerlegung – gefolgt von einer Teamabstimmung. Teams starten früher mit der Implementierung und mit klarerer Ausrichtung.\n\n## Wie lässt sich Testabdeckung ausbauen, ohne den Aufwand zu erhöhen?\nEntwicklerinnen und Entwickler schreiben Code schneller, aber wenn Tests nicht mithalten, sinkt die Testabdeckung und Fehler gelangen in die Produktion. Tests manuell zu schreiben ist aufwändig – und unter Zeitdruck werden Randfälle übersehen. Automatisch generierte Tests bedeuten: prüfen und anpassen statt von Grund auf neu schreiben.\n\n### Unit-Tests generieren\n**Komplexität**: Einstieg\n**Kategorie**: Testing\n**Prompt aus der Bibliothek**:\n\n```text\n\nGenerate unit tests for this function:\n\n[PASTE FUNCTION]\n\nInclude tests for:\n\n1. Happy path\n\n2. Edge cases\n\n3. Error conditions\n\n4. Boundary values\n\n5. Invalid inputs\n\n```\n**Warum das hilft**: Manuelle Tests sind aufwändig, und Randfälle werden unter Zeitdruck oft übersehen. Dieser Prompt generiert umfassende Test-Suites, die Entwicklerinnen und Entwickler prüfen und anpassen – statt von Grund auf zu schreiben.\n\n### Lücken in der Testabdeckung erkennen\n**Komplexität**: Einstieg\n**Kategorie**: Testing\n**Prompt aus der Bibliothek**:\n\n```text\n\nAnalyze test coverage for [MODULE/COMPONENT]:\n\nCurrent coverage: [PERCENTAGE]\n\nIdentify:\n\n1. Untested functions/methods\n\n2. Uncovered edge cases\n\n3. Missing error scenario tests\n\n4. Integration points without tests\n\n5. Priority areas to test next\n\n```\n**Warum das hilft**: Dieser Prompt zeigt blinde Flecken in der Test-Suite auf, bevor sie zu Production-Incidents werden. Teams können die Abdeckung dort systematisch verbessern, wo es am meisten zählt.\n\n## Wie lässt sich die Zeit bis zur Fehlerbehebung verkürzen?\nProduction-Incidents dauern Stunden in der Diagnose. Entwicklerinnen und Entwickler durchsuchen Logs und Stack Traces, während Nutzerinnen und Nutzer Ausfälle erleben. KI beschleunigt die Ursachenanalyse durch Auswertung komplexer Fehlermeldungen und konkrete Lösungsvorschläge – und verkürzt die Diagnosezeit von Stunden auf Minuten.\n\n### Fehlerhafte Pipeline debuggen\n**Komplexität**: Einstieg\n**Kategorie**: Debugging\n**Prompt aus der Bibliothek**:\n\n```text\n\nThis pipeline is failing:\n\nJob: [JOB NAME]\n\nStage: [STAGE]\n\nError: [PASTE ERROR MESSAGE/LOG]\n\nHelp me:\n\n1. Identify the root cause\n\n2. Suggest a fix\n\n3. Explain why it started failing\n\n4. Prevent similar issues\n\n```\n**Warum das hilft**: CI/CD-Ausfälle blockieren das gesamte Team. Dieser Prompt analysiert Fehler in Sekunden statt in den 15 bis 30 Minuten, die Entwicklerinnen und Entwickler typischerweise für die Fehlersuche benötigen.\n\n## Von individuellen Gewinnen zu echter Team-Beschleunigung\nDiese Prompts stehen für einen Ansatz, der KI nicht nur beim individuellen Coding einsetzt, sondern an den Stellen, die Team-Velocity tatsächlich begrenzen: Koordination, Qualitätssicherung und Wissenstransfer.\nDie [vollständige Prompt-Bibliothek](https://about.gitlab.com/gitlab-duo/prompt-library/) enthält mehr als 100 Prompts für alle Phasen des Softwarelebenszyklus – von Planung und Entwicklung über Security und Testing bis hin zu Deployment und Betrieb. Jeder Prompt ist nach Komplexitätsstufe (Einstieg, Fortgeschritten, Experte) und Anwendungsfall kategorisiert.\nMit Prompts der Stufe „Einstieg\" lässt sich am dringendsten Engpass beginnen. Ziel ist nicht schnelleres Coding allein – sondern zuverlässigere, qualitativ hochwertigere Software-Lieferung von der Planung bis zur Produktion.",[23,699],"DevOps platform",{"featured":12,"template":13,"slug":701},"10-ai-prompts-to-speed-your-teams-software-delivery",{"content":703,"config":712},{"title":704,"description":705,"heroImage":706,"authors":707,"date":709,"body":710,"category":9,"tags":711},"KI erkennt Schwachstellen – aber wer verantwortet das Risiko?","KI-gestützte Schwachstellenerkennung entwickelt sich schnell, doch Durchsetzung, Governance und Supply-Chain-Sicherheit erfordern eine integrierte Plattform.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772195014/ooezwusxjl1f7ijfmbvj.png",[708],"Omer Azaria","2026-02-27","Anthropic hat kürzlich Claude Code Security angekündigt – ein KI-System, das Schwachstellen erkennt und Korrekturen vorschlägt. Die Reaktion der Märkte folgte prompt: Die Aktien von Cybersecurity-Unternehmen gaben nach, als Investoren begannen, die Zukunft klassischer AppSec-Tools in Frage zu stellen. Die Frage, die viele beschäftigt: Wenn KI Code schreiben und absichern kann, wird Anwendungssicherheit dann überflüssig?\n\nWenn Sicherheit nur das Scannen von Code bedeutete, wäre die Antwort vielleicht ja. Aber Enterprise-Sicherheit war noch nie auf Erkennung allein ausgerichtet.\n\nUnternehmen fragen nicht, ob KI Schwachstellen finden kann. Sie stellen drei weitaus schwieriger zu beantwortende Fragen:\n\n* Ist das, was wir ausliefern wollen, sicher?\n* Hat sich unsere Risikolage verändert, während sich Umgebungen, Abhängigkeiten, Drittanbieter-Services, Tools und Infrastruktur kontinuierlich wandeln?\n* Wie lässt sich eine Codebasis steuern, die zunehmend von KI und Drittquellen zusammengestellt wird – für die wir aber weiterhin verantwortlich sind?\n\nDiese Fragen erfordern eine Plattformantwort: Erkennung macht Risiken sichtbar, aber Governance bestimmt, was als nächstes passiert.\n\n[GitLab](https://about.gitlab.com/de-de/) ist die Orchestrierungsschicht, die den Software-Lebenszyklus durchgängig steuert und Teams die Durchsetzung, Transparenz und Nachvollziehbarkeit gibt, die sie brauchen, um mit der Geschwindigkeit KI-gestützter Entwicklung Schritt zu halten.\n\n## KI vertrauen erfordert Governance\n\nKI-Systeme werden zunehmend besser darin, Schwachstellen zu identifizieren und Korrekturen vorzuschlagen. Das ist ein bedeutender Fortschritt – aber Analyse ist keine Verantwortung.\n\nKI kann Unternehmensrichtlinien nicht eigenständig durchsetzen oder akzeptables Risiko definieren. Menschen müssen die Grenzen, Richtlinien und Leitplanken festlegen, innerhalb derer Agenten operieren: Funktionstrennung sicherstellen, Audit-Trails gewährleisten und konsistente Kontrollen über Tausende von Repositories und Teams hinweg aufrechterhalten. Vertrauen in Agenten entsteht nicht durch Autonomie allein, sondern durch klar definierte Governance durch Menschen.\n\nIn einer [agentischen Welt](https://about.gitlab.com/de-de/topics/agentic-ai/), in der Software zunehmend von autonomen Systemen geschrieben und verändert wird, wird Governance wichtiger, nicht unwichtiger. Je mehr Autonomie Unternehmen KI gewähren, desto stärker muss die Governance sein.\n\nGovernance ist keine Bremse. Sie ist das Fundament, das KI-gestützte Entwicklung im Unternehmensmaßstab vertrauenswürdig macht.\n\n## LLMs sehen Code, Plattformen sehen Kontext\n\nEin Large Language Model ([LLM](https://about.gitlab.com/de-de/blog/what-is-a-large-language-model-llm/)) bewertet Code isoliert. Eine Enterprise Application Security-Plattform versteht Kontext. Dieser Unterschied ist entscheidend, weil Risikoentscheidungen kontextabhängig sind:\n\n* Wer hat die Änderung vorgenommen?\n* Wie kritisch ist die Anwendung für das Unternehmen?\n* Wie interagiert sie mit Infrastruktur und Abhängigkeiten?\n* Liegt die Schwachstelle in Code, der tatsächlich in der Produktion erreichbar ist, oder in einer Abhängigkeit, die nie ausgeführt wird?\n* Ist sie in der Produktion tatsächlich ausnutzbar – angesichts der Art, wie die Anwendung läuft, ihrer APIs und der sie umgebenden Umgebung?\n\nSicherheitsentscheidungen hängen von diesem Kontext ab. Fehlt er, produziert Erkennung laute Alarme, die die Entwicklung verlangsamen, anstatt Risiken zu reduzieren. Mit ihm können Unternehmen schnell priorisieren und Risiken gezielt managen. Da sich Kontext mit jeder Softwareänderung weiterentwickelt, kann Governance keine einmalige Entscheidung sein.\n\n## Statische Scans halten mit dynamischem Risiko nicht Schritt\n\nSoftware-Risiko ist dynamisch. Abhängigkeiten ändern sich, Umgebungen entwickeln sich, und Systeme interagieren auf Weisen, die keine einzelne Analyse vollständig vorhersehen kann. Ein sauberer Scan zu einem Zeitpunkt garantiert keine Sicherheit beim Release.\n\nEnterprise-Sicherheit setzt auf kontinuierliche Absicherung: Kontrollen, die direkt in Entwicklungs-Workflows eingebettet sind und Risiken bewerten, während Software entwickelt, getestet und bereitgestellt wird.\n\nErkennung liefert Erkenntnisse. Governance schafft Vertrauen. Kontinuierliche Governance ermöglicht es Unternehmen, im Unternehmensmaßstab sicher auszuliefern.\n\n## Die agentische Zukunft steuern\n\nKI verändert, wie Software entsteht. Die Frage lautet nicht mehr, ob Teams KI einsetzen werden, sondern wie sicher sie dabei skalieren können.\n\nSoftware wird heute ebenso zusammengestellt wie geschrieben – aus KI-generiertem Code, Open-Source-Bibliotheken und Drittanbieter-Abhängigkeiten, die sich über Tausende von Projekten erstrecken. Zu steuern, was über all diese Quellen hinweg ausgeliefert wird, ist der anspruchsvollste Teil der Anwendungssicherheit – und jener, für den kein entwicklerseitiges Tool ausgelegt ist.\n\nAls intelligente Orchestrierungsplattform ist GitLab darauf ausgerichtet, dieses Problem zu lösen. GitLab Ultimate bettet Governance, Richtliniendurchsetzung, Security Scanning und Nachvollziehbarkeit direkt in die Workflows ein, in denen Software geplant, entwickelt und ausgeliefert wird – damit Security-Teams im Tempo von KI steuern können.\n\nKI wird die Entwicklung erheblich beschleunigen. Den größten Nutzen werden nicht die Unternehmen ziehen, die die leistungsfähigsten KI-Assistenten einsetzen, sondern jene, die Vertrauen durch starke Governance aufbauen.\n\n> Wie GitLab Unternehmen dabei hilft, [KI-generierten Code zu steuern und sicher auszuliefern](https://about.gitlab.com/solutions/software-compliance/?utm_medium=blog&utm_campaign=eg_global_x_x_security_en_): [Jetzt mit unserem Team sprechen.](https://about.gitlab.com/sales/?utm_medium=blog&utm_campaign=eg_global_x_x_security_en_)\n\n## Weiterführende Beiträge\n- [KI und DevOps für verbesserte Sicherheit integrieren](https://about.gitlab.com/de-de/topics/devops/ai-enhanced-security/)\n\n- [Das GitLab KI-Sicherheits-Framework für Security-Verantwortliche](https://about.gitlab.com/blog/the-gitlab-ai-security-framework-for-security-leaders/)\n\n- [KI-Sicherheit in GitLab mit Composite Identities verbessern](https://about.gitlab.com/blog/improve-ai-security-in-gitlab-with-composite-identities/)\n\n---\n\n## Für deutsche Unternehmen: Governance als regulatorische Anforderung\n\nDie in diesem Beitrag beschriebenen Governance-Prinzipien adressieren Anforderungen, die regulierte Unternehmen in Deutschland unmittelbar betreffen könnten.\n\nDie NIS-2-Richtlinie (umgesetzt durch das NIS2UmsuCG) verpflichtet betroffene Unternehmen zu Maßnahmen im Bereich Risikoanalyse und Informationssicherheit (Artikel 21 Abs. 2 lit. a), Incident-Handling (Artikel 21 Abs. 2 lit. b) sowie zur Sicherheit in der Software-Lieferkette (Artikel 21 Abs. 2 lit. d) und bei der sicheren Entwicklung (Artikel 21 Abs. 2 lit. e). Die hier beschriebene Unterscheidung zwischen Erkennung und Governance spiegelt genau diese regulatorische Logik wider: Schwachstellen zu finden reicht nicht – entscheidend ist, wer die Reaktion darauf steuert, dokumentiert und verantwortet.\n\nISO 27001 adressiert ähnliche Anforderungen: Zugriffskontrolle (A.5.15–18), Logging und Monitoring (A.8.15–16), Schwachstellenmanagement (A.8.8) sowie Änderungsmanagement (A.8.32) setzen voraus, dass Governance-Prozesse in Entwicklungs-Workflows eingebettet sind – nicht nachgelagert.\n\nFür Unternehmen in regulierten Branchen wie Finanzdienstleistungen (BaFin BAIT §6–7), Automotive (TISAX) oder kritischer Infrastruktur (BSI KRITIS) könnten diese Anforderungen besonders relevant sein. Für konkrete Compliance-Anforderungen empfiehlt sich Rücksprache mit entsprechender Fachberatung.",[23,26],{"featured":30,"template":13,"slug":713},"ai-can-detect-vulnerabilities-but-who-governs-risk",{"promotions":715},[716,729,740],{"id":717,"categories":718,"header":719,"text":720,"button":721,"image":726},"ai-modernization",[9],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":722,"config":723},"Get your AI maturity score",{"href":724,"dataGaName":725,"dataGaLocation":247},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":727},{"src":728},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":730,"categories":731,"header":732,"text":720,"button":733,"image":737},"devops-modernization",[685,40],"Are you just managing tools or shipping innovation?",{"text":734,"config":735},"Get your DevOps maturity score",{"href":736,"dataGaName":725,"dataGaLocation":247},"/assessments/devops-modernization-assessment/",{"config":738},{"src":739},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":741,"categories":742,"header":743,"text":720,"button":744,"image":748},"security-modernization",[26],"Are you trading speed for security?",{"text":745,"config":746},"Get your security maturity score",{"href":747,"dataGaName":725,"dataGaLocation":247},"/assessments/security-modernization-assessment/",{"config":749},{"src":750},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":752,"blurb":753,"button":754,"secondaryButton":759},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":755,"config":756},"Kostenlosen Test starten",{"href":757,"dataGaName":53,"dataGaLocation":758},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":55,"config":760},{"href":57,"dataGaName":58,"dataGaLocation":758},1777309949695]