[{"data":1,"prerenderedAt":1103},["ShallowReactive",2],{"/de-de/blog/automating-cybersecurity-threat-detections-with-gitlab-ci-cd":3,"navigation-de-de":321,"banner-de-de":752,"footer-de-de":760,"blog-post-authors-de-de-Mitra Jozenazemian":1000,"blog-related-posts-de-de-automating-cybersecurity-threat-detections-with-gitlab-ci-cd":1015,"blog-promotions-de-de":1040,"next-steps-de-de":1093},{"id":4,"title":5,"authors":6,"body":8,"category":298,"date":299,"description":300,"extension":301,"externalUrl":302,"faq":302,"featured":303,"heroImage":304,"meta":305,"navigation":306,"path":307,"seo":308,"slug":313,"stem":314,"tags":315,"template":319,"updatedDate":302,"__hash__":320},"blogPosts/de-de/blog/automating-cybersecurity-threat-detections-with-gitlab-ci-cd.md","Cybersecurity-Bedrohungen mit GitLab CI/CD automatisieren",[7],"Mitra Jozenazemian",{"type":9,"value":10,"toc":290},"minimark",[11,25,28,33,48,51,55,64,69,75,78,83,86,91,94,110,115,124,129,132,140,152,160,170,173,231,234,238,241,273,277,286],[12,13,14],"p",{},[15,16,17,18,24],"em",{},"Dieser Blogpost ist der zweite Beitrag einer Serie über ",[19,20,23],"a",{"href":21,"rel":22},"https://about.gitlab.com/blog/unveiling-the-guard-framework-to-automate-security-detections-at-gitlab/",[],"GitLab Universal Automated Response and Detection (GUARD)",".",[12,26,27],{},"Die Erstellung und Bereitstellung von Security-Threat-Detections in einem Security Information Event Management System (SIEM) ist zentrale Komponente erfolgreicher Cybersecurity-Programme. Der Übergang von manueller Detection-Erstellung zu vollautomatisierten Prozessen durch Detection as Code (DaC) gewährleistet Konsistenz, Qualität, Audit-Fähigkeit und automatisierte Tests. Bei GitLab haben wir DaC-Funktionen in GUARD integriert, unser vollautomatisiertes Detection- und Response-Framework.",[29,30,32],"h2",{"id":31},"die-herausforderung-source-control-und-automatisierte-tests","Die Herausforderung: Source Control und automatisierte Tests",[12,34,35,36,41,42,47],{},"Die ",[19,37,40],{"href":38,"rel":39},"https://handbook.gitlab.com/handbook/security/security-operations/signals-engineering/",[],"Signals-Engineering-"," und ",[19,43,46],{"href":44,"rel":45},"https://handbook.gitlab.com/handbook/security/security-operations/sirt/",[],"SIRT-Teams"," bei GitLab teilen sich die Verantwortung für Erstellung, Aktualisierung und Außerbetriebnahme von Threat-Detections im SIEM. Die Aufrechterhaltung einer Single Source of Truth für Detections ist kritisch, um Konsistenz und Qualitätsstandards sicherzustellen. Unsere Teams entschieden bewusst, den Detection-Erstellungsprozess vom SIEM zu abstrahieren. Dadurch verbesserten sich Issue-Tracking, Konsistenz, Rollback-Prozesse und Metriken.",[12,49,50],{},"Zusätzlich stellten Pre-Commit-Detection-Tests außerhalb des SIEM sicher, dass neu erstellte Detections keine übermäßig False-Positive-lastigen Alerts einführten, die Tuning oder Deaktivierung während der Fehlerkorrektur erfordert hätten.",[29,52,54],{"id":53},"die-lösung-gitlab-cicd-für-detection-testing-und-validierung-nutzen","Die Lösung: GitLab CI/CD für Detection-Testing und -Validierung nutzen",[12,56,57,58,63],{},"Um diese Herausforderungen zu adressieren, entwickelten wir einen Workflow mit GitLab ",[19,59,62],{"href":60,"rel":61},"https://about.gitlab.com/topics/ci-cd/",[],"CI/CD",", der zu einem sicheren SIEM-Detection-Deployment-Prozess mit systematischer Validierung führte.",[65,66,68],"h3",{"id":67},"kernkomponenten-der-guard-dac-pipeline","Kernkomponenten der GUARD-DaC-Pipeline",[12,70,71],{},[72,73,74],"strong",{},"1. Detections in JSON-Format in GitLab-Projekt gespeichert",[12,76,77],{},"GitLab nutzt das JSON-Format für Threat-Detections. Das Template enthält essenzielle Informationen wie SIEM-Query-Logik, Detection-Titel und -Beschreibung sowie Runbook-Page-Link, MITRE-Tactic und -Technique zur Detection und weitere notwendige Details.",[12,79,80],{},[72,81,82],{},"2. Merge Requests initiieren",[12,84,85],{},"Wenn ein GitLab-Teammitglied eine neue Threat-Detection erstellen, eine existierende aktualisieren oder eine aktuelle Detection löschen möchte, initiiert es den Prozess durch Einreichen eines Merge Request (MR) im DaC-Projekt, das das Detection-JSON-Template enthält. Die Erstellung des MR löst automatisch eine CI/CD-Pipeline aus.",[12,87,88],{},[72,89,90],{},"3. Automatisierte Validierung durch CI/CD-Jobs",[12,92,93],{},"Jeder MR enthält automatisierte Checks via GitLab CI/CD:",[95,96,97,101,104,107],"ul",{},[98,99,100],"li",{},"Query-Format-Validierung: SIEM-API-Abfrage stellt sicher, dass die Detection-Query valide ist",[98,102,103],{},"JSON-Detection-Fields-Validierung: Validiert, dass alle erforderlichen Felder vorhanden sind und im korrekten Format vorliegen",[98,105,106],{},"Neue Detections und Detection-Modifikationen lösen SIEM-API-Calls aus, um sicherzustellen, dass die Detection keine Fehler enthält und keine Probleme in Production-Detection-Rules eingeführt werden",[98,108,109],{},"Detection-Deletion-MRs lösen Pipeline-SIEM-API-Queries aus, um zu prüfen, dass die zu löschende Detection noch aktiv ist und gelöscht werden kann",[12,111,112],{},[72,113,114],{},"4. Peer Review und Approval",[12,116,117,118,123],{},"Wenn ein Detection-MR-Job erfolgreich abgeschlossen ist, ist ein Peer Review erforderlich, um zu prüfen und zu bestätigen, dass der MR die erforderlichen Qualitäts- und Content-Standards erfüllt, bevor der Detection-MR gemergt werden kann. ",[19,119,122],{"href":120,"rel":121},"https://docs.gitlab.com/user/project/merge_requests/approvals/rules/",[],"Merge-Request-Approval-Rules"," werden genutzt, um den Peer-Review-Prozess auszulösen.",[12,125,126],{},[72,127,128],{},"5. Merge und finales Deployment",[12,130,131],{},"Nach MR-Approval wird dieser in den Main-Branch gemergt. Als Teil der CI/CD-Pipeline führt ein automatisierter Job einen SIEM-API-Command aus, um zwei Aufgaben durchzuführen:",[95,133,134,137],{},[98,135,136],{},"Die neue Detection erstellen oder die existierende Detection aktualisieren/löschen, falls erforderlich",[98,138,139],{},"MITRE-ATT&CK-Tactic- und -Technique-Informationen zur Alert aus den JSON-Dateien extrahieren und diese Details an eine Lookup-Table im SIEM übermitteln. Diese Lookup-Table spielt eine wichtige Rolle beim Mapping unserer Alerts zu MITRE-Tactics und -Techniques und hilft uns, unsere Threat-Analyse zu verbessern und Lücken in unseren Detection-Capabilities in Alignment mit dem MITRE-Framework zu identifizieren.",[12,141,142,145,146,151],{},[72,143,144],{},"Hinweis:"," Die notwendigen Credentials für diese Aktionen werden sicher in ",[19,147,150],{"href":148,"rel":149},"https://docs.gitlab.com/ci/variables/",[],"CI/CD-Variablen"," gespeichert, um sicherzustellen, dass der Prozess vertraulich und sicher bleibt.",[12,153,154,155,159],{},"Nachfolgend ein Template für eine GitLab-CI/CD-",[156,157,158],"code",{},"gitlab-ci.yml","-Konfigurationsdatei für eine DaC-Pipeline:",[161,162,168],"pre",{"className":163,"code":165,"language":166,"meta":167},[164],"language-text","#\n---------------------------------------------------------------------------\n#\n# GitLab CI/CD Pipeline for SIEM Detection Management\n#\n---------------------------------------------------------------------------\n#\n\nimage: python:3.12\n\n#\n---------------------------------------------------------------------------\n#\n# Global Configuration\n#\n---------------------------------------------------------------------------\n#\n\nbefore_script:\n  - apt-get update && apt-get install -y jq\n  - pip install --upgrade pip\n  - pip install -r requirements.txt\n\n#\n---------------------------------------------------------------------------\n#\n\nstages:\n  - fetch\n  - test\n  - process\n  - upload\n\n#\n---------------------------------------------------------------------------\n#\n# Fetch Stage\n#\n---------------------------------------------------------------------------\n#\n\nfetch_changed_files:\n  stage: fetch\n  script:\n    - echo \"Fetching changed files...\"\n    - git branch\n    - git fetch origin $CI_DEFAULT_BRANCH:$CI_DEFAULT_BRANCH --depth 2000\n    - |\n      if [[ \"$CI_COMMIT_BRANCH\" == \"$CI_DEFAULT_BRANCH\" ]]; then\n        git diff --name-status HEAD^1...HEAD > changed-files-temp.txt\n      else\n        git fetch origin $CI_COMMIT_BRANCH:$CI_COMMIT_BRANCH --depth 2000\n        git diff --name-status ${CI_DEFAULT_BRANCH}...${CI_COMMIT_SHA} > changed-files-temp.txt\n      fi\n    - grep -E '\\.json$' changed-files-temp.txt > changed-files.txt || true\n    - flake8 .\n    - pytest\n  artifacts:\n    paths:\n      - changed-files.txt\n    expose_as: 'changed_files'\n\n#\n---------------------------------------------------------------------------\n#\n# Test Stage\n#\n---------------------------------------------------------------------------\n#\n\nflake8:\n  stage: test\n  script:\n    - echo \"Running Flake8 for linting...\"\n    - flake8 .\n\npytest:\n  stage: test\n  script:\n    - echo \"Running Pytest for unit tests...\"\n    - pytest\n  artifacts:\n    when: always\n    reports:\n      junit: report.xml\n\n#\n---------------------------------------------------------------------------\n#\n# Process Stage\n#\n---------------------------------------------------------------------------\n#\n\nprocess_files:\n  stage: process\n  script:\n    - echo \"Processing changed files...\"\n    - git clone --depth 2000 --branch $CI_DEFAULT_BRANCH $CI_REPOSITORY_URL\n    - mkdir -p modified_rules delete_file new_file\n    - python3 move-files.py -x changed-files.txt\n    - python3 check-alerts-format.py\n  artifacts:\n    paths:\n      - modified_rules\n      - delete_file\n      - new_file\n#\n---------------------------------------------------------------------------\n#\n# Upload Stage\n#\n---------------------------------------------------------------------------\n#\n\nupdate_rules:\n  stage: upload\n  script:\n    - echo \"Uploading updated rules and lookup tables...\"\n    - git fetch origin $CI_DEFAULT_BRANCH:$CI_DEFAULT_BRANCH --depth 2000\n    - git clone --depth 2000 --branch $CI_DEFAULT_BRANCH $CI_REPOSITORY_URL \n    - python3 update-rules.py\n    - python3 update-exceptions.py\n    - python3 create_ttps_layers.py\n  rules:\n    - if: $CI_COMMIT_BRANCH == \"main\" && $CI_PIPELINE_SOURCE != \"schedule\"\n      changes:\n        - detections/**/*\n        - exceptions/**/*\n","text","",[156,169,165],{"__ignoreMap":167},[12,171,172],{},"Das folgende Diagramm illustriert den Workflow des oben beschriebenen CI/CD-Prozesses mit seinen vier Phasen: Fetch (Änderungen identifizieren), Test (Linting und Tests), Process (Dateien kategorisieren) und Upload (Rules und Lookup-Tables aktualisieren).",[161,174,178],{"className":175,"code":176,"language":177,"meta":167,"style":167},"language-mermaid shiki shiki-themes github-light","graph TD;\n    fetch[Fetch Stage: Identify Changed Files] --> test[Test Stage: Run Linting and Tests];\n    test --> process[Process Stage: Categorize Files];\n    process --> upload[Upload Stage: Update Rules and Lookup Tables];\n    fetch --> fetch_details[Details: Filter JSON files, Output 'changed-files.txt'];\n    test --> test_details[Details: Run Flake8 for linting, Pytest for testing];\n    process --> process_details[Details: Categorize into 'modified', 'new', 'deleted', Prepare for upload];\n    upload --> upload_details[Details: Update repo, Update detections in SIEM and SIEM lookup table];\n","mermaid",[156,179,180,189,195,201,207,213,219,225],{"__ignoreMap":167},[181,182,185],"span",{"class":183,"line":184},"line",1,[181,186,188],{"class":187},"sgsFI","graph TD;\n",[181,190,192],{"class":183,"line":191},2,[181,193,194],{"class":187},"    fetch[Fetch Stage: Identify Changed Files] --> test[Test Stage: Run Linting and Tests];\n",[181,196,198],{"class":183,"line":197},3,[181,199,200],{"class":187},"    test --> process[Process Stage: Categorize Files];\n",[181,202,204],{"class":183,"line":203},4,[181,205,206],{"class":187},"    process --> upload[Upload Stage: Update Rules and Lookup Tables];\n",[181,208,210],{"class":183,"line":209},5,[181,211,212],{"class":187},"    fetch --> fetch_details[Details: Filter JSON files, Output 'changed-files.txt'];\n",[181,214,216],{"class":183,"line":215},6,[181,217,218],{"class":187},"    test --> test_details[Details: Run Flake8 for linting, Pytest for testing];\n",[181,220,222],{"class":183,"line":221},7,[181,223,224],{"class":187},"    process --> process_details[Details: Categorize into 'modified', 'new', 'deleted', Prepare for upload];\n",[181,226,228],{"class":183,"line":227},8,[181,229,230],{"class":187},"    upload --> upload_details[Details: Update repo, Update detections in SIEM and SIEM lookup table];\n",[12,232,233],{},"In der deutschen SIEM-Landschaft nutzen Unternehmen primär Plattformen wie Splunk, Elastic SIEM oder IBM QRadar. Der hier beschriebene DaC-Ansatz abstrahiert Detection-Logik vom jeweiligen SIEM-System durch JSON-Templates, wodurch Herstellerunabhängigkeit gewährleistet wird. Für deutsche Unternehmen mit strengen Datenschutzanforderungen ist relevant: Die Lösung funktioniert vollständig mit GitLab Self-Managed, sodass keine Detection-Daten externe Cloud-Systeme verlassen müssen.",[29,235,237],{"id":236},"benefits-und-ergebnisse","Benefits und Ergebnisse",[12,239,240],{},"Die Automatisierung unseres Detection-Lifecycles durch einen DaC-CI/CD-gestützten Workflow bringt zahlreiche Benefits für unseren Threat-Detection-Deployment-Prozess:",[95,242,243,249,255,261,267],{},[98,244,245,248],{},[72,246,247],{},"Automatisierung:"," Die Automatisierung von Erstellung und Validierung der SIEM-Detections reduziert manuelle Fehler durch systematische Validierungsstufen und spart Zeit durch Pipeline-Automatisierung.",[98,250,251,254],{},[72,252,253],{},"Enhanced Security:"," Der CI-gesteuerte Workflow setzt eine Least-Privilege-Policy um und gewährleistet Konsistenz, Peer Reviews und Qualitätsstandards für Erstellung, Aktualisierung oder Löschung von Threat-Detections.",[98,256,257,260],{},[72,258,259],{},"Effizienz:"," Das standardisierte JSON-Detection-Format und die automatisierte Erstellung verkürzen den Deployment-Cycle von Detection-Erstellung bis SIEM-Integration.",[98,262,263,266],{},[72,264,265],{},"Kollaboration:"," Der MR- und Review-Prozess implementiert das in Deutschland übliche Vier-Augen-Prinzip: Jede Detection-Änderung durchläuft systematische Peer-Reviews, bevor sie in Production gelangt.",[98,268,269,272],{},[72,270,271],{},"Version Control:"," Die Behandlung von Threat-Detections als Code abstrahiert die Detections von der SIEM-Plattform, in der sie letztlich gespeichert werden. Diese Abstraktion liefert einen historischen Record von Änderungen, erleichtert Kollaboration und ermöglicht Rollbacks zu vorherigen Konfigurationen, falls Probleme auftreten.",[29,274,276],{"id":275},"mit-dac-starten","Mit DaC starten",[12,278,279,280,285],{},"Die Nutzung von GitLab CI/CD und einer Least-Privilege-Policy hat unser SIEM-Detection- und Alert-Management mit definierten Quality-Gates systematisiert. Automatisierung hat Effizienz verbessert und Risiken reduziert und bietet ein hilfreiches Beispiel für andere, die ihre Security und Compliance verbessern möchten. Sie können dieses Tutorial ausprobieren, indem Sie sich für eine ",[19,281,284],{"href":282,"rel":283},"https://about.gitlab.com/de-de/free-trial/",[],"kostenlose Testversion von GitLab Ultimate"," anmelden. Für Unternehmen mit Data-Sovereignty-Anforderungen steht GitLab Self-Managed zur Verfügung.",[287,288,289],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":167,"searchDepth":191,"depth":191,"links":291},[292,293,296,297],{"id":31,"depth":191,"text":32},{"id":53,"depth":191,"text":54,"children":294},[295],{"id":67,"depth":197,"text":68},{"id":236,"depth":191,"text":237},{"id":275,"depth":191,"text":276},"security","2025-10-30","Erfahre, wie GUARD Bedrohungen durch GitLab CI/CD automatisiert – mit systematischer Validierung, Peer-Review-Prozessen und Quality-Gates für SIEM-Detections.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663239/Blog/Hero%20Images/AdobeStock_1023776629.jpg",{},true,"/de-de/blog/automating-cybersecurity-threat-detections-with-gitlab-ci-cd",{"title":5,"description":309,"ogTitle":5,"ogDescription":309,"noIndex":303,"ogImage":304,"ogUrl":310,"ogSiteName":311,"ogType":312,"canonicalUrls":310},"GUARD automatisiert Bedrohungserkennung mit GitLab CI/CD: Systematische Validierung, Peer-Reviews & Quality-Gates für SIEM-Detections.","https://about.gitlab.com/blog/automating-cybersecurity-threat-detections-with-gitlab-ci-cd","https://about.gitlab.com","article","automating-cybersecurity-threat-detections-with-gitlab-ci-cd","de-de/blog/automating-cybersecurity-threat-detections-with-gitlab-ci-cd",[298,316,317,318,62],"tutorial","DevSecOps","DevSecOps platform","BlogPost","CEu9qDtn-YWygn75krgEGURjSOucbQMS8eSyIuNL7H8",{"logo":322,"freeTrial":327,"sales":332,"login":337,"items":342,"search":670,"minimal":704,"duo":722,"switchNav":731,"pricingDeployment":742},{"config":323},{"href":324,"dataGaName":325,"dataGaLocation":326},"/de-de/","gitlab logo","header",{"text":328,"config":329},"Kostenlose Testversion anfordern",{"href":330,"dataGaName":331,"dataGaLocation":326},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":333,"config":334},"Demo anfordern",{"href":335,"dataGaName":336,"dataGaLocation":326},"/de-de/sales/?contact-topic=request-demo","sales",{"text":338,"config":339},"Anmelden",{"href":340,"dataGaName":341,"dataGaLocation":326},"https://gitlab.com/users/sign_in/","sign in",[343,372,473,478,592,648],{"text":344,"config":345,"menu":347},"Plattform",{"dataNavLevelOne":346},"platform",{"type":348,"columns":349},"cards",[350,356,364],{"title":344,"description":351,"link":352},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":353,"config":354},"Die Plattform erkunden",{"href":355,"dataGaName":346,"dataGaLocation":326},"/de-de/platform/",{"title":357,"description":358,"link":359},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":360,"config":361},"Lerne GitLab Duo kennen",{"href":362,"dataGaName":363,"dataGaLocation":326},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":365,"description":366,"link":367},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":368,"config":369},"Mehr erfahren",{"href":370,"dataGaName":371,"dataGaLocation":326},"/de-de/why-gitlab/","why gitlab",{"text":373,"left":306,"config":374,"menu":376},"Produkt",{"dataNavLevelOne":375},"solutions",{"type":377,"link":378,"columns":382,"feature":452},"lists",{"text":379,"config":380},"Alle Lösungen anzeigen",{"href":381,"dataGaName":375,"dataGaLocation":326},"/de-de/solutions/",[383,407,430],{"title":384,"description":385,"link":386,"items":391},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":387},{"icon":388,"href":389,"dataGaName":390,"dataGaLocation":326},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[392,395,398,403],{"text":62,"config":393},{"href":394,"dataGaLocation":326,"dataGaName":62},"/de-de/solutions/continuous-integration/",{"text":357,"config":396},{"href":362,"dataGaLocation":326,"dataGaName":397},"gitlab duo agent platform - product menu",{"text":399,"config":400},"Quellcodeverwaltung",{"href":401,"dataGaLocation":326,"dataGaName":402},"/de-de/solutions/source-code-management/","Source Code Management",{"text":404,"config":405},"Automatische Softwarebereitstellung",{"href":389,"dataGaLocation":326,"dataGaName":406},"Automated software delivery",{"title":408,"description":409,"link":410,"items":415},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":411},{"href":412,"dataGaName":413,"dataGaLocation":326,"icon":414},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[416,420,425],{"text":417,"config":418},"Anwendungssicherheitstests",{"href":412,"dataGaName":419,"dataGaLocation":326},"Application security testing",{"text":421,"config":422},"Schutz der Software-Lieferkette",{"href":423,"dataGaLocation":326,"dataGaName":424},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":426,"config":427},"Software-Compliance",{"href":428,"dataGaName":429,"dataGaLocation":326},"/de-de/solutions/software-compliance/","software compliance",{"title":431,"link":432,"items":437},"Messung",{"config":433},{"icon":434,"href":435,"dataGaName":436,"dataGaLocation":326},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[438,442,447],{"text":439,"config":440},"Sichtbarkeit und Messung",{"href":435,"dataGaLocation":326,"dataGaName":441},"Visibility and Measurement",{"text":443,"config":444},"Wertstrommanagement",{"href":445,"dataGaLocation":326,"dataGaName":446},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":448,"config":449},"Analysen und Einblicke",{"href":450,"dataGaLocation":326,"dataGaName":451},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":453,"type":377,"items":454},"GitLab für",[455,461,467],{"text":456,"config":457},"Enterprise",{"icon":458,"href":459,"dataGaLocation":326,"dataGaName":460},"Building","/de-de/enterprise/","enterprise",{"text":462,"config":463},"Kleinunternehmen",{"icon":464,"href":465,"dataGaLocation":326,"dataGaName":466},"Work","/de-de/small-business/","small business",{"text":468,"config":469},"Öffentlicher Sektor",{"icon":470,"href":471,"dataGaLocation":326,"dataGaName":472},"Organization","/de-de/solutions/public-sector/","public sector",{"text":474,"config":475},"Preise",{"href":476,"dataGaName":477,"dataGaLocation":326,"dataNavLevelOne":477},"/de-de/pricing/","pricing",{"text":479,"config":480,"menu":482},"Ressourcen",{"dataNavLevelOne":481},"resources",{"type":377,"link":483,"columns":487,"feature":581},{"text":484,"config":485},"Alle Ressourcen anzeigen",{"href":486,"dataGaName":481,"dataGaLocation":326},"/de-de/resources/",[488,521,548],{"title":489,"items":490},"Erste Schritte",[491,496,501,506,511,516],{"text":492,"config":493},"Installieren",{"href":494,"dataGaName":495,"dataGaLocation":326},"/de-de/install/","install",{"text":497,"config":498},"Kurzanleitungen",{"href":499,"dataGaName":500,"dataGaLocation":326},"/de-de/get-started/","quick setup checklists",{"text":502,"config":503},"Lernen",{"href":504,"dataGaLocation":326,"dataGaName":505},"https://university.gitlab.com/","learn",{"text":507,"config":508},"Produktdokumentation",{"href":509,"dataGaName":510,"dataGaLocation":326},"https://docs.gitlab.com/","product documentation",{"text":512,"config":513},"Best-Practice-Videos",{"href":514,"dataGaName":515,"dataGaLocation":326},"/de-de/getting-started-videos/","best practice videos",{"text":517,"config":518},"Integrationen",{"href":519,"dataGaName":520,"dataGaLocation":326},"/de-de/integrations/","integrations",{"title":522,"items":523},"Entdecken",[524,529,534,539,543],{"text":525,"config":526},"Kundenerfolge",{"href":527,"dataGaName":528,"dataGaLocation":326},"/de-de/customers/","customer success stories",{"text":530,"config":531},"Blog",{"href":532,"dataGaName":533,"dataGaLocation":326},"/de-de/blog/","blog",{"text":535,"config":536},"Demo-Hub",{"href":537,"dataGaName":538,"dataGaLocation":326},"/de-de/demo-hub/","demo hub",{"text":540,"config":541},"The Source",{"href":542,"dataGaName":533,"dataGaLocation":326},"/de-de/the-source/",{"text":544,"config":545},"Remote",{"href":546,"dataGaName":547,"dataGaLocation":326},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":549,"items":550},"Vernetzen",[551,556,561,566,571,576],{"text":552,"config":553},"GitLab-Services",{"href":554,"dataGaName":555,"dataGaLocation":326},"/de-de/services/","services",{"text":557,"config":558},"Beitragen",{"href":559,"dataGaName":560,"dataGaLocation":326},"https://contributors.gitlab.com","contribute",{"text":562,"config":563},"Community",{"href":564,"dataGaName":565,"dataGaLocation":326},"/community/","community",{"text":567,"config":568},"Forum",{"href":569,"dataGaName":570,"dataGaLocation":326},"https://forum.gitlab.com/","forum",{"text":572,"config":573},"Veranstaltungen",{"href":574,"dataGaName":575,"dataGaLocation":326},"/events/","events",{"text":577,"config":578},"Partner",{"href":579,"dataGaName":580,"dataGaLocation":326},"/de-de/partners/","partners",{"config":582,"title":585,"text":586,"link":587},{"background":583,"textColor":584},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Neues bei GitLab","Über die neuesten Funktionen und Verbesserungen auf dem Laufenden bleiben.",{"text":588,"config":589},"Aktuelle Nachrichten",{"href":590,"dataGaName":591,"dataGaLocation":326},"/de-de/whats-new/","whats new",{"text":593,"config":594,"menu":596},"Unternehmen",{"dataNavLevelOne":595},"company",{"type":377,"columns":597},[598],{"items":599},[600,605,611,613,618,623,628,633,638,643],{"text":601,"config":602},"Über",{"href":603,"dataGaName":604,"dataGaLocation":326},"/de-de/company/","about",{"text":606,"config":607,"footerGa":610},"Karriere",{"href":608,"dataGaName":609,"dataGaLocation":326},"/jobs/","jobs",{"dataGaName":609},{"text":572,"config":612},{"href":574,"dataGaName":575,"dataGaLocation":326},{"text":614,"config":615},"Geschäftsführung",{"href":616,"dataGaName":617,"dataGaLocation":326},"/company/team/e-group/","leadership",{"text":619,"config":620},"Handbuch",{"href":621,"dataGaName":622,"dataGaLocation":326},"https://handbook.gitlab.com/","handbook",{"text":624,"config":625},"Investor Relations",{"href":626,"dataGaName":627,"dataGaLocation":326},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":629,"config":630},"Trust Center",{"href":631,"dataGaName":632,"dataGaLocation":326},"/de-de/security/","trust center",{"text":634,"config":635},"AI Transparency Center",{"href":636,"dataGaName":637,"dataGaLocation":326},"/de-de/ai-transparency-center/","ai transparency center",{"text":639,"config":640},"Newsletter",{"href":641,"dataGaName":642,"dataGaLocation":326},"/company/contact/#contact-forms","newsletter",{"text":644,"config":645},"Presse",{"href":646,"dataGaName":647,"dataGaLocation":326},"/press/","press",{"text":649,"config":650,"menu":651},"Kontakt",{"dataNavLevelOne":595},{"type":377,"columns":652},[653],{"items":654},[655,660,665],{"text":656,"config":657},"Vertrieb kontaktieren",{"href":658,"dataGaName":659,"dataGaLocation":326},"/de-de/sales/","talk to sales",{"text":661,"config":662},"Support-Portal",{"href":663,"dataGaName":664,"dataGaLocation":326},"https://support.gitlab.com/hc/en-us","support portal",{"text":666,"config":667},"Kundenportal",{"href":668,"dataGaName":669,"dataGaLocation":326},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":671,"login":672,"suggestions":679},"Schließen",{"text":673,"link":674},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":675,"config":676},"gitlab.com",{"href":340,"dataGaName":677,"dataGaLocation":678},"search login","search",{"text":680,"default":681},"Vorschläge",[682,684,689,691,696,701],{"text":357,"config":683},{"href":362,"dataGaName":357,"dataGaLocation":678},{"text":685,"config":686},"Codevorschläge (KI)",{"href":687,"dataGaName":688,"dataGaLocation":678},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":62,"config":690},{"href":394,"dataGaName":62,"dataGaLocation":678},{"text":692,"config":693},"GitLab auf AWS",{"href":694,"dataGaName":695,"dataGaLocation":678},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":697,"config":698},"GitLab auf Google Cloud",{"href":699,"dataGaName":700,"dataGaLocation":678},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":365,"config":702},{"href":370,"dataGaName":703,"dataGaLocation":678},"Why GitLab?",{"freeTrial":705,"mobileIcon":710,"desktopIcon":715,"secondaryButton":718},{"text":706,"config":707},"Kostenlos testen",{"href":708,"dataGaName":331,"dataGaLocation":709},"https://gitlab.com/-/trials/new/","nav",{"altText":711,"config":712},"GitLab-Symbol",{"src":713,"dataGaName":714,"dataGaLocation":709},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":711,"config":716},{"src":717,"dataGaName":714,"dataGaLocation":709},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":489,"config":719},{"href":720,"dataGaName":721,"dataGaLocation":709},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":723,"mobileIcon":727,"desktopIcon":729},{"text":724,"config":725},"Mehr über GitLab Duo erfahren",{"href":362,"dataGaName":726,"dataGaLocation":709},"gitlab duo",{"altText":711,"config":728},{"src":713,"dataGaName":714,"dataGaLocation":709},{"altText":711,"config":730},{"src":717,"dataGaName":714,"dataGaLocation":709},{"button":732,"mobileIcon":737,"desktopIcon":739},{"text":733,"config":734},"/Option",{"href":735,"dataGaName":736,"dataGaLocation":709},"#contact","switch",{"altText":711,"config":738},{"src":713,"dataGaName":714,"dataGaLocation":709},{"altText":711,"config":740},{"src":741,"dataGaName":714,"dataGaLocation":709},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":743,"mobileIcon":748,"desktopIcon":750},{"text":744,"config":745},"Zurück zur Preisübersicht",{"href":476,"dataGaName":746,"dataGaLocation":709,"icon":747},"back to pricing","GoBack",{"altText":711,"config":749},{"src":713,"dataGaName":714,"dataGaLocation":709},{"altText":711,"config":751},{"src":717,"dataGaName":714,"dataGaLocation":709},{"title":753,"button":754,"config":758},"GitLab Orbit ist da: die Kontextebene für KI-Agenten",{"text":368,"config":755},{"href":756,"dataGaName":757,"dataGaLocation":326},"/de-de/gitlab-orbit/","orbit",{"layout":759,"disabled":303},"release",{"data":761},{"text":762,"source":763,"edit":769,"contribute":774,"config":779,"items":784,"minimal":989},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":764,"config":765},"Quelltext der Seite anzeigen",{"href":766,"dataGaName":767,"dataGaLocation":768},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":770,"config":771},"Diese Seite bearbeiten",{"href":772,"dataGaName":773,"dataGaLocation":768},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":775,"config":776},"Beteilige dich",{"href":777,"dataGaName":778,"dataGaLocation":768},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":780,"facebook":781,"youtube":782,"linkedin":783},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[785,830,882,924,956],{"title":474,"links":786,"subMenu":801},[787,791,796],{"text":788,"config":789},"Tarife anzeigen",{"href":476,"dataGaName":790,"dataGaLocation":768},"view plans",{"text":792,"config":793},"Vorteile von Premium",{"href":794,"dataGaName":795,"dataGaLocation":768},"/de-de/pricing/premium/","why premium",{"text":797,"config":798},"Vorteile von Ultimate",{"href":799,"dataGaName":800,"dataGaLocation":768},"/de-de/pricing/ultimate/","why ultimate",[802],{"title":649,"links":803},[804,806,808,810,815,820,825],{"text":656,"config":805},{"href":658,"dataGaName":336,"dataGaLocation":768},{"text":661,"config":807},{"href":663,"dataGaName":664,"dataGaLocation":768},{"text":666,"config":809},{"href":668,"dataGaName":669,"dataGaLocation":768},{"text":811,"config":812},"Status",{"href":813,"dataGaName":814,"dataGaLocation":768},"https://status.gitlab.com/","status",{"text":816,"config":817},"Nutzungsbedingungen",{"href":818,"dataGaName":819,"dataGaLocation":768},"/terms/","terms of use",{"text":821,"config":822},"Datenschutzerklärung",{"href":823,"dataGaName":824,"dataGaLocation":768},"/de-de/privacy/","privacy statement",{"text":826,"config":827},"Cookie-Einstellungen",{"dataGaName":828,"dataGaLocation":768,"id":829,"isOneTrustButton":306},"cookie preferences","ot-sdk-btn",{"title":373,"links":831,"subMenu":840},[832,836],{"text":833,"config":834},"DevSecOps-Plattform",{"href":355,"dataGaName":835,"dataGaLocation":768},"devsecops platform",{"text":837,"config":838},"KI-unterstützte Entwicklung",{"href":362,"dataGaName":839,"dataGaLocation":768},"ai-assisted development",[841],{"title":842,"links":843},"Themen",[844,848,853,858,863,867,872,877],{"text":62,"config":845},{"href":846,"dataGaName":847,"dataGaLocation":768},"/de-de/topics/ci-cd/","cicd",{"text":849,"config":850},"GitOps",{"href":851,"dataGaName":852,"dataGaLocation":768},"/de-de/topics/gitops/","gitops",{"text":854,"config":855},"DevOps",{"href":856,"dataGaName":857,"dataGaLocation":768},"/de-de/topics/devops/","devops",{"text":859,"config":860},"Versionskontrolle",{"href":861,"dataGaName":862,"dataGaLocation":768},"/de-de/topics/version-control/","version control",{"text":317,"config":864},{"href":865,"dataGaName":866,"dataGaLocation":768},"/de-de/topics/devsecops/","devsecops",{"text":868,"config":869},"Cloud-nativ",{"href":870,"dataGaName":871,"dataGaLocation":768},"/de-de/topics/cloud-native/","cloud native",{"text":873,"config":874},"KI für das Programmieren",{"href":875,"dataGaName":876,"dataGaLocation":768},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":878,"config":879},"Agentische KI",{"href":880,"dataGaName":881,"dataGaLocation":768},"/de-de/topics/agentic-ai/","agentic ai",{"title":883,"links":884},"Lösungen",[885,888,890,895,899,902,905,908,910,912,914,919],{"text":417,"config":886},{"href":412,"dataGaName":887,"dataGaLocation":768},"Application Security Testing",{"text":404,"config":889},{"href":389,"dataGaName":390,"dataGaLocation":768},{"text":891,"config":892},"Agile Entwicklung",{"href":893,"dataGaName":894,"dataGaLocation":768},"/de-de/solutions/agile-delivery/","agile delivery",{"text":896,"config":897},"SCM",{"href":401,"dataGaName":898,"dataGaLocation":768},"source code management",{"text":62,"config":900},{"href":394,"dataGaName":901,"dataGaLocation":768},"continuous integration & delivery",{"text":443,"config":903},{"href":445,"dataGaName":904,"dataGaLocation":768},"value stream management",{"text":849,"config":906},{"href":907,"dataGaName":852,"dataGaLocation":768},"/de-de/solutions/gitops/",{"text":456,"config":909},{"href":459,"dataGaName":460,"dataGaLocation":768},{"text":462,"config":911},{"href":465,"dataGaName":466,"dataGaLocation":768},{"text":468,"config":913},{"href":471,"dataGaName":472,"dataGaLocation":768},{"text":915,"config":916},"Bildungswesen",{"href":917,"dataGaName":918,"dataGaLocation":768},"/de-de/solutions/education/","education",{"text":920,"config":921},"Finanzdienstleistungen",{"href":922,"dataGaName":923,"dataGaLocation":768},"/de-de/solutions/finance/","financial services",{"title":479,"links":925},[926,928,930,932,935,937,940,942,944,946,948,950,952,954],{"text":492,"config":927},{"href":494,"dataGaName":495,"dataGaLocation":768},{"text":497,"config":929},{"href":499,"dataGaName":500,"dataGaLocation":768},{"text":502,"config":931},{"href":504,"dataGaName":505,"dataGaLocation":768},{"text":507,"config":933},{"href":509,"dataGaName":934,"dataGaLocation":768},"docs",{"text":530,"config":936},{"href":532,"dataGaName":533,"dataGaLocation":768},{"text":938,"config":939},"Neuerungen",{"href":590,"dataGaName":591,"dataGaLocation":768},{"text":525,"config":941},{"href":527,"dataGaName":528,"dataGaLocation":768},{"text":544,"config":943},{"href":546,"dataGaName":547,"dataGaLocation":768},{"text":552,"config":945},{"href":554,"dataGaName":555,"dataGaLocation":768},{"text":557,"config":947},{"href":559,"dataGaName":560,"dataGaLocation":768},{"text":562,"config":949},{"href":564,"dataGaName":565,"dataGaLocation":768},{"text":567,"config":951},{"href":569,"dataGaName":570,"dataGaLocation":768},{"text":572,"config":953},{"href":574,"dataGaName":575,"dataGaLocation":768},{"text":577,"config":955},{"href":579,"dataGaName":580,"dataGaLocation":768},{"title":593,"links":957},[958,960,962,964,966,968,973,978,980,982,984],{"text":601,"config":959},{"href":603,"dataGaName":595,"dataGaLocation":768},{"text":606,"config":961},{"href":608,"dataGaName":609,"dataGaLocation":768},{"text":614,"config":963},{"href":616,"dataGaName":617,"dataGaLocation":768},{"text":619,"config":965},{"href":621,"dataGaName":622,"dataGaLocation":768},{"text":624,"config":967},{"href":626,"dataGaName":627,"dataGaLocation":768},{"text":969,"config":970},"Nachhaltigkeit",{"href":971,"dataGaName":972,"dataGaLocation":768},"/sustainability/","Sustainability",{"text":974,"config":975},"Vielfalt, Inklusion und Zugehörigkeit",{"href":976,"dataGaName":977,"dataGaLocation":768},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":629,"config":979},{"href":631,"dataGaName":632,"dataGaLocation":768},{"text":639,"config":981},{"href":641,"dataGaName":642,"dataGaLocation":768},{"text":644,"config":983},{"href":646,"dataGaName":647,"dataGaLocation":768},{"text":985,"config":986},"Transparenzerklärung zu moderner Sklaverei",{"href":987,"dataGaName":988,"dataGaLocation":768},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":990},[991,994,997],{"text":992,"config":993},"Terms",{"href":818,"dataGaName":819,"dataGaLocation":768},{"text":995,"config":996},"Cookies",{"dataGaName":828,"dataGaLocation":768,"id":829,"isOneTrustButton":306},{"text":998,"config":999},"Datenschutz",{"href":823,"dataGaName":824,"dataGaLocation":768},[1001],{"id":1002,"title":7,"body":302,"config":1003,"content":1005,"description":302,"extension":1009,"meta":1010,"navigation":306,"path":1011,"seo":1012,"stem":1013,"__hash__":1014},"blogAuthors/en-us/blog/authors/mitra-jozenazemian.yml",{"template":1004},"BlogAuthor",{"name":7,"config":1006},{"headshot":1007,"ctfId":1008},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662373/Blog/Author%20Headshots/Screenshot_2024-10-25_at_8.23.56_AM.png","4suqsutT8w5ZmkIvSVrmWQ","yml",{},"/en-us/blog/authors/mitra-jozenazemian",{},"en-us/blog/authors/mitra-jozenazemian","DzsXAQdHz5kyKwnJ-xGAs_Wr_lt8XWi_J9LQijwLiVY",[1016,1024,1032],{"title":1017,"description":1018,"heroImage":1019,"category":298,"date":1020,"authors":1021,"slug":1023,"externalUrl":302},"Wie GitLab Schwachstellen über Refactorings hinweg verfolgt","Das verbesserte Scope+Offset-Fingerprinting hält das Tracking stabil, wenn Kommentare, Leerzeilen oder Reformatierungen dazukommen.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png","2026-08-12",[1022],"Julian Thome","improved-scope-offset-fingerprinting",{"title":1025,"description":1026,"heroImage":1019,"category":298,"date":1027,"authors":1028,"slug":1031,"externalUrl":302},"GitLab Secrets Manager unterstützt ESO, Terraform und API","GitLab Secrets Manager liefert Secrets sicher an Kubernetes, Terraform und externe Workflows, aus einer einzigen Quelle für die gesamte Toolchain.","2026-08-06",[1029,1030],"Erick Bajao","Joe Randazzo","gitlab-secrets-manager-add-eso-terraform-api-support",{"title":1033,"description":1034,"heroImage":1035,"category":298,"date":1036,"authors":1037,"slug":1039,"externalUrl":302},"Mit Claude und GitLab jeden Commit bis zur Produktion absichern","Claude Security findet Schwachstellen in der Coding-Session. GitLab übernimmt danach: Scans, Policy-Durchsetzung und Audit-Nachweise im Lebenszyklus.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2026-08-03",[1038],"Alisa Ho","claude-security-and-gitlab",{"promotions":1041},[1042,1056,1068,1079],{"id":1043,"categories":1044,"header":1046,"text":1047,"button":1048,"image":1053},"ai-modernization",[1045],"ai","Hält KI, was uns versprochen wurde?","Das Quiz dauert maximal 5 Minuten.",{"text":1049,"config":1050},"Ermittle deinen KI-Reifegrad",{"href":1051,"dataGaName":1052,"dataGaLocation":533},"/de-de/assessments/ai-modernization-assessment/","modernization assessment",{"config":1054},{"src":1055},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1057,"categories":1058,"header":1060,"text":1047,"button":1061,"image":1065},"devops-modernization",[1059,866],"product","Verwaltest du Tool-Chaos oder stellst du Innovationen bereit?",{"text":1062,"config":1063},"Ermittle deinen DevOps-Reifegrad",{"href":1064,"dataGaName":1052,"dataGaLocation":533},"/de-de/assessments/devops-modernization-assessment/",{"config":1066},{"src":1067},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1069,"categories":1070,"header":1071,"text":1047,"button":1072,"image":1076},"security-modernization",[298],"Tauschst du Schnelligkeit gegen Sicherheit ein?",{"text":1073,"config":1074},"Ermittle deinen Sicherheitsreifegrad",{"href":1075,"dataGaName":1052,"dataGaLocation":533},"/de-de/assessments/security-modernization-assessment/",{"config":1077},{"src":1078},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1080,"paths":1081,"header":1084,"text":1085,"button":1086,"image":1091},"github-azure-migration",[1082,1083],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Ist dein Team bereit für den Umzug von GitHub nach Azure?","GitHub stellt bereits auf Azure um. Finde heraus, was das für dich bedeutet.",{"text":1087,"config":1088},"Erfahre, wie GitLab im Vergleich zu GitHub abschneidet",{"href":1089,"dataGaName":1090,"dataGaLocation":533},"/de-de/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1092},{"src":1067},{"header":1094,"blurb":1095,"button":1096,"secondaryButton":1101},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":1097,"config":1098},"Kostenlosen Test starten",{"href":1099,"dataGaName":331,"dataGaLocation":1100},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":656,"config":1102},{"href":658,"dataGaName":336,"dataGaLocation":1100},1786803723262]