[{"data":1,"prerenderedAt":1416},["ShallowReactive",2],{"/blog/gitlab-helps-remediate-critical-php-flaws":3,"navigation-en-us":657,"banner-en-us":1094,"footer-en-us":1104,"blog-post-authors-en-us-Abisheik Magesh|Dinesh Bolkensteyn":1350,"blog-related-posts-en-us-gitlab-helps-remediate-critical-php-flaws":1376,"blog-share-wrapper-en-us":1396,"next-steps-en-us":1406},{"id":4,"title":5,"authors":6,"body":9,"category":638,"date":639,"description":640,"extension":641,"externalUrl":642,"faq":642,"featured":643,"heroImage":644,"meta":645,"navigation":643,"path":646,"seo":647,"slug":650,"stem":651,"tags":652,"template":655,"updatedDate":642,"__hash__":656},"blogPosts/en-us/blog/gitlab-helps-remediate-critical-php-flaws.md","PHP2Shell: GitLab helps find and remediate critical PHP flaws",[7,8],"Abisheik Magesh","Dinesh Bolkensteyn",{"type":10,"value":11,"toc":626},"minimark",[12,19,46,72,75,80,83,149,156,242,265,273,291,295,298,303,311,334,349,358,361,365,373,396,405,408,421,425,434,438,447,461,482,514,517,525,529,532,550,553,559,563,622],[13,14,15],"blockquote",{},[16,17,18],"p",{},"GitLab is not affected by PHP2Shell (CVE-2026-109618 and CVE-2026-109619). The GitLab application is not written in PHP and does not run it to serve web requests, and our Security team has found no evidence of impact to GitLab-managed infrastructure. GitLab.com, GitLab Self-Managed, and GitLab Dedicated are not impacted.",[16,20,21,22,28,29,34,35,40,41,45],{},"PHP is a widely used programming language that runs on web servers and powers popular platforms like WordPress, Drupal, and Magento, so a flaw in PHP itself can affect many websites and applications. On October 21, 2026, the PHP project ",[23,24,27],"a",{"href":25,"rel":26},"https://www.php.net/archive/2026.php#2026-10-21-5",[],"fixed two critical remote code execution flaws"," in PHP, together known as PHP2Shell (",[23,30,33],{"href":31,"rel":32},"https://www.cve.org/CVERecord?id=CVE-2026-109618",[],"CVE-2026-109618"," and ",[23,36,39],{"href":37,"rel":38},"https://www.cve.org/CVERecord?id=CVE-2026-109619",[],"CVE-2026-109619","). PHP rates both 9.2 on CVSS v4.0. The flaws are in the PHP engine, not in any framework, library, or application code, so there is no application-level fix. Any web server that runs PHP is affected, including NGINX and Apache. The ",[23,42,44],{"href":25,"rel":43},[],"PHP project confirmed the vulnerability on Apache"," with mod_php, where an unauthenticated request can achieve remote code execution before any application code runs.",[16,47,48,49,54,55,54,60,65,66,71],{},"Upgrade every server and container that runs PHP to serve web requests to PHP ",[23,50,53],{"href":51,"rel":52},"https://www.php.net/archive/2026.php#2026-10-21-4",[],"8.5.12",", ",[23,56,59],{"href":57,"rel":58},"https://www.php.net/archive/2026.php#2026-10-21-3",[],"8.4.27",[23,61,64],{"href":62,"rel":63},"https://www.php.net/archive/2026.php#2026-10-21-2",[],"8.3.36",", or ",[23,67,70],{"href":68,"rel":69},"https://www.php.net/archive/2026.php#2026-10-21-1",[],"8.2.35",", or to your distribution’s patched package now.",[16,73,74],{},"This guide is for security and platform teams with PHP projects on GitLab. It covers the fixed version for each PHP branch and distribution, how to use GitLab features to locate PHP projects across your groups, how to track remediation, and how to check for signs of compromise.",[76,77,79],"h2",{"id":78},"upgrade-php-to-a-fixed-version-now","Upgrade PHP to a fixed version now",[16,81,82],{},"Upgrade the PHP runtime on every host and in every container image to a fixed version. Framework updates, Composer updates, input validation, and authentication don’t help, because PHP handles the request before application code runs.",[84,85,86,100],"table",{},[87,88,89],"thead",{},[90,91,92,97],"tr",{},[93,94,96],"th",{"align":95},"left","Branch",[93,98,99],{"align":95},"Fixed in",[101,102,103,111,118,125,133,141],"tbody",{},[90,104,105,109],{},[106,107,108],"td",{"align":95},"PHP 8.5.x",[106,110,53],{"align":95},[90,112,113,116],{},[106,114,115],{"align":95},"PHP 8.4.x",[106,117,59],{"align":95},[90,119,120,123],{},[106,121,122],{"align":95},"PHP 8.3.x",[106,124,64],{"align":95},[90,126,127,130],{},[106,128,129],{"align":95},"PHP 8.2.x",[106,131,132],{"align":95},"8.2.35 (end of life December 31, 2026)",[90,134,135,138],{},[106,136,137],{"align":95},"PHP 8.6 release candidates",[106,139,140],{"align":95},"8.6.0RC4. The official php:8.6-rc image was still on RC3 on October 21, and RC3 does not have the fix.",[90,142,143,146],{},[106,144,145],{"align":95},"PHP 8.1 and older",[106,147,148],{"align":95},"No official release. PHP published minimal source backports for 7.4, 8.0, and 8.1, and some distributions ship patched packages.",[16,150,151,155],{},[152,153,154],"strong",{},"If your PHP comes from a distribution package, upgrade that package."," Fixed package versions as of October 22:",[84,157,158,168],{},[87,159,160],{},[90,161,162,165],{},[93,163,164],{"align":95},"Distribution",[93,166,167],{"align":95},"Fixed package",[101,169,170,178,186,194,202,210,218,226,234],{},[90,171,172,175],{},[106,173,174],{"align":95},"Ubuntu 26.04",[106,176,177],{"align":95},"php8.5 8.5.4-0ubuntu1.5",[90,179,180,183],{},[106,181,182],{"align":95},"Ubuntu 24.04",[106,184,185],{"align":95},"php8.3 8.3.6-0ubuntu0.24.04.13",[90,187,188,191],{},[106,189,190],{"align":95},"Ubuntu 22.04",[106,192,193],{"align":95},"php8.1 8.1.2-1ubuntu2.28",[90,195,196,199],{},[106,197,198],{"align":95},"Debian 13",[106,200,201],{"align":95},"php8.4 8.4.27-1~deb13u1",[90,203,204,207],{},[106,205,206],{"align":95},"Debian 12",[106,208,209],{"align":95},"php8.2 8.2.35-1~deb12u1",[90,211,212,215],{},[106,213,214],{"align":95},"Alpine 3.24",[106,216,217],{"align":95},"php83 8.3.36, php84 8.4.27, php85 8.5.12",[90,219,220,223],{},[106,221,222],{"align":95},"RHEL 10",[106,224,225],{"align":95},"php 8.3.36-1.el10_2 (RHSA-2026:87070), php8.4 8.4.27-1.el10_2 (RHSA-2026:87071)",[90,227,228,231],{},[106,229,230],{"align":95},"RHEL 9",[106,232,233],{"align":95},"php 8.0.30-8.el9_8.1 (RHSA-2026:87151), php:8.2 8.2.35-1 (RHSA-2026:87072), php:8.3 8.3.36-1 (RHSA-2026:87079); php:8.4 had no fix yet on October 22",[90,235,236,239],{},[106,237,238],{"align":95},"RHEL 8",[106,240,241],{"align":95},"php:7.4 7.4.33-8 (RHSA-2026:87080); check Red Hat’s CVE pages for php:8.2. Retired streams (7.2, 7.3, 8.0) get no fix",[16,243,244],{},[245,246,247,248,54,253,258,259,264],"em",{},"Sources: ",[23,249,252],{"href":250,"rel":251},"https://ubuntu.com/security/CVE-2026-109618",[],"Ubuntu",[23,254,257],{"href":255,"rel":256},"https://security-tracker.debian.org/tracker/CVE-2026-109618",[],"Debian",", Alpine, and ",[23,260,263],{"href":261,"rel":262},"https://access.redhat.com/security/cve/cve-2026-109618",[],"Red Hat"," security trackers, as of October 22, 2026.",[16,266,267,268,272],{},"Ubuntu, and Red Hat for its 7.4 and 8.0 packages, keep the old upstream version number and backport the fix. Compare the package versions rather than ",[269,270,271],"code",{},"php -v",". Restart every process that runs PHP after upgrading.",[16,274,275,278,279,282,283,286,287,290],{},[152,276,277],{},"Rebuild your container images."," If your image uses a floating tag of the official php image, such as php:8, php:8.3, php:8.3-apache or php:latest, rebuild it with ",[269,280,281],{},"docker build --pull"," and redeploy it. Images that pin a patch version, such as php:8.3.35-apache, need the tag changed to the fixed version first. Images built on derivatives such as ",[269,284,285],{},"wordpress"," or ",[269,288,289],{},"drupal"," get the fix only after their maintainers publish an updated image, so check the upstream image before you rebuild.",[76,292,294],{"id":293},"locate-php-projects-across-your-gitlab-groups","Locate PHP projects across your GitLab groups",[16,296,297],{},"Any project that runs PHP to serve web requests needs a fixed version, including the ones that are easy to forget, such as an internal dashboard, a marketing site, or a CI job image. Finding them takes two views: a static search of what your repositories declare and your images contain, and a runtime inventory of what actually runs. GitLab covers the static view with two features. Use both, in this order.",[299,300,302],"h3",{"id":301},"_1-container-scanning","1. Container scanning",[16,304,305,310],{},[23,306,309],{"href":307,"rel":308},"https://docs.gitlab.com/user/application_security/container_scanning/",[],"Container scanning"," reports vulnerabilities in operating system packages, so it finds PHP installed with apt, apk, or dnf, and it reports the two CVEs once they reach the scanner’s vulnerability database. To turn it on for a project, add the template to .gitlab-ci.yml:",[312,313,318],"pre",{"className":314,"code":315,"language":316,"meta":317,"style":317},"language-none shiki shiki-themes github-light","include:\n  - template: Security/Container-Scanning.gitlab-ci.yml\n","none","",[269,319,320,328],{"__ignoreMap":317},[321,322,325],"span",{"class":323,"line":324},"line",1,[321,326,327],{},"include:\n",[321,329,331],{"class":323,"line":330},2,[321,332,333],{},"  - template: Security/Container-Scanning.gitlab-ci.yml\n",[16,335,336,337,342,343,348],{},"You can also use a group-level ",[23,338,341],{"href":339,"rel":340},"https://docs.gitlab.com/user/application_security/policies/scan_execution_policies/",[],"scan execution policy"," to turn container scanning on for every project in a group at once. When a policy is enabled, the next time a pipeline is run, it will be run with container scanning. Container scanning results for the default branch can be reviewed in the ",[23,344,347],{"href":345,"rel":346},"https://docs.gitlab.com/user/application_security/vulnerability_report/",[],"Vulnerability Report"," after the scanner completes.",[16,350,351,352,357],{},"Additionally, you can set up ",[23,353,356],{"href":354,"rel":355},"https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/",[],"Merge Request Approval policies"," with container scanning. With merge request approvals in play, if a code change contains PHP2Shell, the policy will block a merge without approval from the selected parties.",[16,359,360],{},"Container scanning detects only PHP installed as a package. PHP compiled from source, including the official php images, has no package record, so a project can pass container scanning and still run a vulnerable PHP. Code search covers that gap.",[299,362,364],{"id":363},"_2-code-search","2. Code search",[16,366,367,372],{},[23,368,371],{"href":369,"rel":370},"https://docs.gitlab.com/user/search/exact_code_search/",[],"Exact code search"," can find the two types of files that indicate a PHP project. Run these at the top-level group with regular expression mode enabled (the .* toggle at the right of the search box):",[374,375,376,386],"ul",{},[377,378,379,382,383],"li",{},[152,380,381],{},"Container base images:"," This query searches for every file GitLab detects as a Dockerfile. The pattern matches any image whose name or tag contains php, so it also finds derivatives such as wordpress, frankenphp, or bitnami/php-fpm. Expect a few false positives that you can rule out by reading the result: ",[269,384,385],{},"lang:Dockerfile ^FROM.*php",[377,387,388,391,392,395],{},[152,389,390],{},"Composer projects",": This query finds projects that use PHP even when they have no Dockerfile, or when the Dockerfile takes its image from a build argument such as ",[269,393,394],{},"FROM $BASE_IMAGE",":",[312,397,399],{"className":314,"code":398,"language":316,"meta":317,"style":317},"file:composer\\.json$\n",[269,400,401],{"__ignoreMap":317},[321,402,403],{"class":323,"line":324},[321,404,398],{},[16,406,407],{},"Exact code search covers the default branch only. On GitLab.com it is on by default for paid plans. On GitLab Self-Managed instances an administrator must install Zoekt first. GitLab Dedicated doesn’t support exact code search.",[16,409,410,413,414,417,418,420],{},[152,411,412],{},"For each result, confirm the version."," You can check the ",[269,415,416],{},"FROM php:\u003Ctag>"," line, or run ",[269,419,271],{}," in the running container, and compare it with the table above. The group dependency list shows Composer packages and framework versions but not the PHP runtime version.",[299,422,424],{"id":423},"_3-compare-with-your-runtime-inventory","3. Compare with your runtime inventory",[16,426,427,428,433],{},"Container scanning and code search show what your projects declare and build, not what runs. PHP can run outside your GitLab projects, for example on web servers with mod_php or PHP-FPM enabled only in their configuration, on hosts configured by hand, or in containers that still run in clusters without an active pipeline. Compare the static results with an inventory of your running workloads from your configuration management (Ansible, Puppet, Chef, etc.), cloud, or VM inventory tools. For Kubernetes, ",[23,429,432],{"href":430,"rel":431},"https://docs.gitlab.com/user/clusters/agent/vulnerabilities/",[],"operational container scanning"," scans the images that run in your clusters, with the same package-only detection as container scanning. Treat every PHP runtime that appears in only one of the two views as a gap to investigate.",[76,435,437],{"id":436},"remediate-at-scale-with-gitlab-duo-agent-platform","Remediate at scale with GitLab Duo Agent Platform",[16,439,440,441,446],{},"Start with asking ",[23,442,445],{"href":443,"rel":444},"https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/",[],"GitLab Duo Agentic Chat"," to:",[374,448,449,452,455,458],{},[377,450,451],{},"collect every container scanning finding for CVE-2026-109618 and CVE-2026-109619 across the group from the vulnerability report (requires an Ultimate subscription)",[377,453,454],{},"run the code search queries above across the group, review each hit and read the PHP version from the Dockerfile or the Composer files",[377,456,457],{},"open a merge request per affected project that bumps the base image tag or the package to the fixed version, and assign it to the right maintainer",[377,459,460],{},"track the whole effort in an epic with one issue per project, and is closed when the fixed version is deployed and confirmed",[16,462,463,464,469,470,475,476,481],{},"From each issue, the ",[23,465,468],{"href":466,"rel":467},"https://docs.gitlab.com/user/project/merge_requests/developer/",[],"Developer Flow"," can open a merge request that updates the base image tag or package to a fixed version. Turn on ",[23,471,474],{"href":472,"rel":473},"https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/#automatic-reviews",[],"automatic reviews with the Code Review Flow"," to get a first review that follows your ",[23,477,480],{"href":478,"rel":479},"https://docs.gitlab.com/user/duo_agent_platform/customize/review_instructions/",[],"custom review instructions",". Review and merge each merge request, then close the issue once the fixed version is deployed.",[16,483,484,485,490,491,496,497,54,502,507,508,513],{},"Searches find candidates, but a security or platform engineer still has to review each match, resolve CI includes, and tell what the code declares apart from what actually runs. An ",[23,486,489],{"href":487,"rel":488},"https://gitlab.com/gitlab-da/demo-environments/tanuki-iot-platform/frontend/php-status-board/-/blob/main/skills/php2shell-inventory/SKILL.md",[],"example agent skill from the GitLab Developer Advocacy team"," handles this work. It runs on GitLab Duo Agent Platform and with agents that use ",[23,492,495],{"href":493,"rel":494},"https://about.gitlab.com/blog/mcp-server-ga/",[],"GitLab MCP server"," or the glab CLI, such as ",[23,498,501],{"href":499,"rel":500},"https://about.gitlab.com/blog/claude-code-and-gitlab/",[],"Claude Code",[23,503,506],{"href":504,"rel":505},"https://about.gitlab.com/blog/fix-bugs-with-codex-and-gitlab/",[],"Codex",", and ",[23,509,512],{"href":510,"rel":511},"https://about.gitlab.com/blog/modernize-java-with-cursor-and-gitlab/",[],"Cursor",".",[16,515,516],{},"The skill checks container images, CI jobs, OS packages, configuration management variables, Composer pins, and environments. It returns a cited findings table with deployment evidence, and open gaps. The skill is read-only: It makes no changes, and remediation merge requests remain a separate, reviewed step. It cannot confirm what is running on hosts it cannot access, so verify those directly. Adapt the skill to your own environment before you use it.",[16,518,519],{},[520,521],"img",{"alt":522,"src":523,"title":524},"GitLab Duo CLI using the PHP2Shell skill. This demo project is intentionally vulnerable to demonstrate successful remediation with GitLab Duo CLI. ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1792694702/ahsysxh1p9u2rymcxhco.png","GitLab Duo CLI using the PHP2Shell skill. This demo project is intentionally vulnerable to demonstrate successful remediation with GitLab Duo CLI.",[76,526,528],{"id":527},"check-for-compromise","Check for compromise",[16,530,531],{},"Reports of exploitation differ. Security researchers reported an exploit attempt on October 17, 2026, before public disclosure, and further reports of exploitation followed the release. The PHP project identified no functional exploits at the time of release. If an internet-facing server ran a vulnerable PHP version, review its logs from October 17, 2026, onward for:",[374,533,534,537,544,547],{},[377,535,536],{},"Multipart requests followed by memory-limit errors or repeated HTTP 500 responses",[377,538,539,540,543],{},"Unusually large or malformed ",[269,541,542],{},"PHPSESSID"," response cookies",[377,545,546],{},"Unexplained PHP worker restarts, or shell processes started by PHP workers",[377,548,549],{},"Unexpected files on the PHP web server, outbound connections from PHP workers, or unexpected cron entries",[16,551,552],{},"A successful exploit can return HTTP 200 and leave the worker running, so an absence of errors doesn’t rule out compromise. If you find signs of exploitation, isolate the server and start an incident investigation. Where possible, capture memory, disk, and logs before patching and restarting. Restarting PHP workers may erase evidence. CVE-2026-109619 can also expose process memory, even when an attacker doesn’t achieve code execution. Rotate any credentials, tokens, or keys the PHP process could read.",[16,554,555,558],{},[152,556,557],{},"Note:"," Scanners may flag the Gemnasium dependency scanning image (gemnasium:6), deprecated since GitLab 17.9, for its bundled PHP. It is used only as a command-line tool and never handles HTTP requests, so it is not exploitable, and a fixed version has already shipped under the same tag.",[76,560,562],{"id":561},"timeline","Timeline",[84,564,565,575],{},[87,566,567],{},[90,568,569,572],{},[93,570,571],{"align":95},"Date",[93,573,574],{"align":95},"What happened",[101,576,577,585,593,601,614],{},[90,578,579,582],{},[106,580,581],{"align":95},"August 1",[106,583,584],{"align":95},"Calif discovers the first flaw during an AI-assisted PHP audit and reports it to PHP on August 11; Wiz Research independently finds and reports the flaws on August 24.",[90,586,587,590],{},[106,588,589],{"align":95},"October 17",[106,591,592],{"align":95},"Amazon’s honeypots record the first known exploit attempt, while the flaws are still under embargo.",[90,594,595,598],{},[106,596,597],{"align":95},"October 20",[106,599,600],{"align":95},"PHP announces that a security release fixing two critical vulnerabilities will ship on October 21.",[90,602,603,605],{},[106,604,597],{"align":95},[106,606,607,608,613],{"align":95},"Vulnerability details leak before coordinated disclosure. (",[23,609,612],{"href":610,"rel":611},"https://www.huntress.com/blog/php2shell-leaked-critical-php-vulnerabilities",[],"Huntress",")",[90,615,616,619],{},[106,617,618],{"align":95},"October 21, 14:00 UTC",[106,620,621],{"align":95},"PHP releases 8.5.12, 8.4.27, 8.3.36 and 8.2.35 and publishes the advisories.",[623,624,625],"style",{},"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":317,"searchDepth":330,"depth":330,"links":627},[628,629,635,636,637],{"id":78,"depth":330,"text":79},{"id":293,"depth":330,"text":294,"children":630},[631,633,634],{"id":301,"depth":632,"text":302},3,{"id":363,"depth":632,"text":364},{"id":423,"depth":632,"text":424},{"id":436,"depth":330,"text":437},{"id":527,"depth":330,"text":528},{"id":561,"depth":330,"text":562},"security-labs","2026-10-22","CVE-2026-109618 and CVE-2026-109619 allow unauthenticated code execution. Learn which PHP versions fix them and how to check your projects.","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782237704/cj50chkvprjthczevmog.png",{},"/en-us/blog/gitlab-helps-remediate-critical-php-flaws",{"config":648,"title":5,"description":640},{"noIndex":649},false,"gitlab-helps-remediate-critical-php-flaws","en-us/blog/gitlab-helps-remediate-critical-php-flaws",[653,654],"security","features","BlogPost","17Kc4JsEf5nEAu3qWwnKdAV1YziMdOpTTYc8LMqwT48",{"logo":658,"freeTrial":663,"sales":668,"login":673,"items":678,"search":1014,"minimal":1045,"duo":1064,"switchNav":1073,"pricingDeployment":1084},{"config":659},{"href":660,"dataGaName":661,"dataGaLocation":662},"/","gitlab logo","header",{"text":664,"config":665},"Get free trial",{"href":666,"dataGaName":667,"dataGaLocation":662},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":669,"config":670},"Request a demo",{"href":671,"dataGaName":672,"dataGaLocation":662},"/request-a-demo/","sales",{"text":674,"config":675},"Sign in",{"href":676,"dataGaName":677,"dataGaLocation":662},"https://gitlab.com/users/sign_in/","sign in",[679,765,853,858,938,992],{"text":680,"left":643,"config":681,"menu":683},"Platform",{"dataNavLevelOne":682},"platform",{"type":684,"link":685,"columns":689,"feature":754},"lists",{"text":686,"config":687},"Explore the Platform",{"href":688,"dataGaName":682,"dataGaLocation":662},"/platform/",[690,713,736],{"title":691,"items":692},"Execution & Workflows",[693,698,703,708],{"text":694,"config":695},"CI/CD",{"href":696,"dataGaLocation":662,"dataGaName":697},"/solutions/continuous-integration/","ci/cd",{"text":699,"config":700},"Source Code Management",{"href":701,"dataGaLocation":662,"dataGaName":702},"/solutions/source-code-management/","source code management",{"text":704,"config":705},"Agile Delivery",{"href":706,"dataGaLocation":662,"dataGaName":707},"/solutions/agile-delivery/","agile delivery",{"text":709,"config":710},"Artifact Management",{"href":711,"dataGaLocation":662,"dataGaName":712},"/artifact-central/","artifact management",{"title":714,"items":715},"Security & Governance",[716,721,726,731],{"text":717,"config":718},"Application Security Testing",{"href":719,"dataGaLocation":662,"dataGaName":720},"/solutions/application-security-testing/","application security testing",{"text":722,"config":723},"Governance & Compliance",{"href":724,"dataGaLocation":662,"dataGaName":725},"/solutions/software-compliance/","governance and compliance",{"text":727,"config":728},"Secrets Management",{"href":729,"dataGaLocation":662,"dataGaName":730},"/gitlab-secrets-manager/","secrets management",{"text":732,"config":733},"Supply Chain Security",{"href":734,"dataGaLocation":662,"dataGaName":735},"/solutions/supply-chain/","supply chain security",{"title":737,"items":738},"Context & AI",[739,744,749],{"text":740,"config":741},"Agentic Orchestration",{"href":742,"dataGaLocation":662,"dataGaName":743},"/gitlab-duo-agent-platform/","agentic orchestration",{"text":745,"config":746},"Context Graph",{"href":747,"dataGaLocation":662,"dataGaName":748},"/gitlab-orbit/","context graph",{"text":750,"config":751},"Visibility & Measurement",{"href":752,"dataGaLocation":662,"dataGaName":753},"/solutions/visibility-measurement/","visibility and measurement",{"config":755,"title":758,"text":759,"link":760},{"background":756,"textColor":757},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Why GitLab","One platform for speed with control across your software lifecycle.",{"text":761,"config":762},"Learn more",{"href":763,"dataGaName":764,"dataGaLocation":662},"/why-gitlab/","why gitlab",{"text":766,"left":643,"config":767,"menu":769},"Solutions",{"dataNavLevelOne":768},"solutions",{"type":684,"link":770,"columns":774,"feature":844},{"text":771,"config":772},"View all Solutions",{"href":773,"dataGaName":768,"dataGaLocation":662},"/solutions/",[775,793,811],{"title":776,"items":777},"Outcomes",[778,783,788],{"text":779,"config":780},"DevOps Modernization",{"href":781,"dataGaLocation":662,"dataGaName":782},"/assessments/devops-modernization-assessment/","devops modernization",{"text":784,"config":785},"Security Modernization",{"href":786,"dataGaLocation":662,"dataGaName":787},"/assessments/security-modernization-assessment/","security modernization",{"text":789,"config":790},"AI Modernization",{"href":791,"dataGaLocation":662,"dataGaName":792},"/assessments/ai-modernization-assessment/","ai modernization",{"title":794,"items":795},"By size",[796,801,806],{"text":797,"config":798},"Enterprise",{"href":799,"dataGaLocation":662,"dataGaName":800},"/enterprise/","enterprise",{"text":802,"config":803},"Small Business",{"href":804,"dataGaLocation":662,"dataGaName":805},"/small-business/","small business",{"text":807,"config":808},"Startups",{"href":809,"dataGaLocation":662,"dataGaName":810},"/solutions/startups/","startups",{"title":812,"items":813},"Industries",[814,819,824,829,834,839],{"text":815,"config":816},"Financial Services",{"href":817,"dataGaLocation":662,"dataGaName":818},"/solutions/finance/","financial services",{"text":820,"config":821},"Public Sector",{"href":822,"dataGaLocation":662,"dataGaName":823},"/solutions/public-sector/","public sector",{"text":825,"config":826},"Telecommunications",{"href":827,"dataGaLocation":662,"dataGaName":828},"/solutions/telecommunications/","telecommunications",{"text":830,"config":831},"Automotive",{"href":832,"dataGaLocation":662,"dataGaName":833},"/solutions/automotive/","automotive",{"text":835,"config":836},"Education",{"href":837,"dataGaLocation":662,"dataGaName":838},"/solutions/education/","education",{"text":840,"config":841},"Aerospace",{"href":842,"dataGaLocation":662,"dataGaName":843},"/solutions/aerospace/","aerospace",{"config":845,"title":846,"text":847,"link":848},{"background":756,"textColor":757},"GitLab Security Standard","Learn how to harden your software factory and let AI agents earn autonomy, without trading away security.",{"text":849,"config":850},"Explore the standard",{"href":851,"dataGaName":852,"dataGaLocation":662},"/gitlab-security-standard/","gitlab security standard",{"text":854,"config":855},"Pricing",{"href":856,"dataGaName":857,"dataGaLocation":662,"dataNavLevelOne":857},"/pricing/","pricing",{"text":859,"config":860,"menu":862},"Resources",{"dataNavLevelOne":861},"resources",{"type":684,"link":863,"columns":867,"feature":929},{"text":864,"config":865},"View all resources",{"href":866,"dataGaName":861,"dataGaLocation":662},"/resources/",[868,901],{"title":869,"items":870},"Discover",[871,876,881,886,891,896],{"text":872,"config":873},"Docs",{"href":874,"dataGaName":875,"dataGaLocation":662},"https://docs.gitlab.com/","docs",{"text":877,"config":878},"University",{"href":879,"dataGaName":880,"dataGaLocation":662},"https://university.gitlab.com/","university",{"text":882,"config":883},"Demo Series",{"href":884,"dataGaName":885,"dataGaLocation":662},"/gitlab-technical-demo-series/","demo series",{"text":887,"config":888},"Demo Hub",{"href":889,"dataGaName":890,"dataGaLocation":662},"/demo-hub/","demo hub",{"text":892,"config":893},"Services",{"href":894,"dataGaName":895,"dataGaLocation":662},"/services/","services",{"text":897,"config":898},"Well Architected",{"href":899,"dataGaName":900,"dataGaLocation":662},"/resources/well-architected/","well architected",{"title":902,"items":903},"Connect",[904,909,914,919,924],{"text":905,"config":906},"Blog",{"href":907,"dataGaName":908,"dataGaLocation":662},"/blog/","blog",{"text":910,"config":911},"Community",{"href":912,"dataGaName":913,"dataGaLocation":662},"/community/","community",{"text":915,"config":916},"Customers",{"href":917,"dataGaName":918,"dataGaLocation":662},"/customers/","customers",{"text":920,"config":921},"Partners",{"href":922,"dataGaName":923,"dataGaLocation":662},"/partners/","partners",{"text":925,"config":926},"Events",{"href":927,"dataGaName":928,"dataGaLocation":662},"/events/","events",{"config":930,"title":931,"text":932,"link":933},{"background":756,"textColor":757},"What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":934,"config":935},"Read the latest",{"href":936,"dataGaName":937,"dataGaLocation":662},"/whats-new/","whats new",{"text":939,"config":940,"menu":942},"Company",{"dataNavLevelOne":941},"company",{"type":684,"columns":943},[944],{"items":945},[946,951,957,962,967,972,977,982,987],{"text":947,"config":948},"About",{"href":949,"dataGaName":950,"dataGaLocation":662},"/company/","about",{"text":952,"config":953,"footerGa":956},"Jobs",{"href":954,"dataGaName":955,"dataGaLocation":662},"/jobs/","jobs",{"dataGaName":955},{"text":958,"config":959},"Press",{"href":960,"dataGaName":961,"dataGaLocation":662},"/press/","press",{"text":963,"config":964},"Handbook",{"href":965,"dataGaName":966,"dataGaLocation":662},"https://handbook.gitlab.com/","handbook",{"text":968,"config":969},"Leadership",{"href":970,"dataGaName":971,"dataGaLocation":662},"/company/team/e-group/","leadership",{"text":973,"config":974},"Investor relations",{"href":975,"dataGaName":976,"dataGaLocation":662},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":978,"config":979},"Trust Center",{"href":980,"dataGaName":981,"dataGaLocation":662},"/security/","trust center",{"text":983,"config":984},"AI Transparency Center",{"href":985,"dataGaName":986,"dataGaLocation":662},"/ai-transparency-center/","ai transparency center",{"text":988,"config":989},"Newsletter",{"href":990,"dataGaName":991,"dataGaLocation":662},"/company/contact/#contact-forms","newsletter",{"text":993,"config":994,"menu":995},"Contact us",{"dataNavLevelOne":941},{"type":684,"columns":996},[997],{"items":998},[999,1004,1009],{"text":1000,"config":1001},"Talk to sales",{"href":1002,"dataGaName":1003,"dataGaLocation":662},"/sales/","talk to sales",{"text":1005,"config":1006},"Support portal",{"href":1007,"dataGaName":1008,"dataGaLocation":662},"https://support.gitlab.com/hc/en-us","support portal",{"text":1010,"config":1011},"Customer portal",{"href":1012,"dataGaName":1013,"dataGaLocation":662},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1015,"login":1016,"suggestions":1023},"Close",{"text":1017,"link":1018},"To search repositories and projects, login to",{"text":1019,"config":1020},"gitlab.com",{"href":676,"dataGaName":1021,"dataGaLocation":1022},"search login","search",{"text":1024,"default":1025},"Suggestions",[1026,1029,1032,1034,1038,1042],{"text":1027,"config":1028},"GitLab Duo Agent Platform",{"href":742,"dataGaName":1027,"dataGaLocation":1022},{"text":1030,"config":1031},"Code Suggestions (AI)",{"href":742,"dataGaName":1030,"dataGaLocation":1022},{"text":694,"config":1033},{"href":696,"dataGaName":694,"dataGaLocation":1022},{"text":1035,"config":1036},"GitLab on AWS",{"href":1037,"dataGaName":1035,"dataGaLocation":1022},"/partners/technology-partners/aws/",{"text":1039,"config":1040},"GitLab on Google Cloud",{"href":1041,"dataGaName":1039,"dataGaLocation":1022},"/partners/technology-partners/google-cloud-platform/",{"text":1043,"config":1044},"Why GitLab?",{"href":763,"dataGaName":1043,"dataGaLocation":1022},{"freeTrial":1046,"mobileIcon":1051,"desktopIcon":1056,"secondaryButton":1059},{"text":1047,"config":1048},"Start free trial",{"href":1049,"dataGaName":667,"dataGaLocation":1050},"https://gitlab.com/-/trials/new/","nav",{"altText":1052,"config":1053},"Gitlab Icon",{"src":1054,"dataGaName":1055,"dataGaLocation":1050},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1052,"config":1057},{"src":1058,"dataGaName":1055,"dataGaLocation":1050},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1060,"config":1061},"Get Started",{"href":1062,"dataGaName":1063,"dataGaLocation":1050},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":1065,"mobileIcon":1069,"desktopIcon":1071},{"text":1066,"config":1067},"Learn more about GitLab Duo",{"href":742,"dataGaName":1068,"dataGaLocation":1050},"gitlab duo",{"altText":1052,"config":1070},{"src":1054,"dataGaName":1055,"dataGaLocation":1050},{"altText":1052,"config":1072},{"src":1058,"dataGaName":1055,"dataGaLocation":1050},{"button":1074,"mobileIcon":1079,"desktopIcon":1081},{"text":1075,"config":1076},"/switch",{"href":1077,"dataGaName":1078,"dataGaLocation":1050},"#contact","switch",{"altText":1052,"config":1080},{"src":1054,"dataGaName":1055,"dataGaLocation":1050},{"altText":1052,"config":1082},{"src":1083,"dataGaName":1055,"dataGaLocation":1050},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1085,"mobileIcon":1090,"desktopIcon":1092},{"text":1086,"config":1087},"Back to pricing",{"href":856,"dataGaName":1088,"dataGaLocation":1050,"icon":1089},"back to pricing","GoBack",{"altText":1052,"config":1091},{"src":1054,"dataGaName":1055,"dataGaLocation":1050},{"altText":1052,"config":1093},{"src":1058,"dataGaName":1055,"dataGaLocation":1050},{"title":1095,"button":1096,"config":1102},"Ship at agent speed. Prove every step. Transcend is here.",{"text":1097,"config":1098},"Read the recap",{"href":1099,"dataGaName":1100,"dataGaLocation":1101},"https://about.gitlab.com/blog/transcend-india-announcements/","transcend-october-2026-banner","global-banner",{"layout":1103,"disabled":649},"release",{"data":1105},{"text":1106,"config":1107,"items":1112,"minimal":1339},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"twitter":1108,"facebook":1109,"youtube":1110,"linkedin":1111},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1113,1161,1219,1266,1307],{"title":854,"links":1114,"subMenu":1130},[1115,1120,1125],{"text":1116,"config":1117},"View plans",{"href":856,"dataGaName":1118,"dataGaLocation":1119},"view plans","footer",{"text":1121,"config":1122},"Why Premium?",{"href":1123,"dataGaName":1124,"dataGaLocation":1119},"/pricing/premium/","why premium",{"text":1126,"config":1127},"Why Ultimate?",{"href":1128,"dataGaName":1129,"dataGaLocation":1119},"/pricing/ultimate/","why ultimate",[1131],{"title":1132,"links":1133},"Contact Us",[1134,1137,1139,1141,1146,1151,1156],{"text":1135,"config":1136},"Contact sales",{"href":1002,"dataGaName":672,"dataGaLocation":1119},{"text":1005,"config":1138},{"href":1007,"dataGaName":1008,"dataGaLocation":1119},{"text":1010,"config":1140},{"href":1012,"dataGaName":1013,"dataGaLocation":1119},{"text":1142,"config":1143},"Status",{"href":1144,"dataGaName":1145,"dataGaLocation":1119},"https://status.gitlab.com/","status",{"text":1147,"config":1148},"Terms of use",{"href":1149,"dataGaName":1150,"dataGaLocation":1119},"/terms/","terms of use",{"text":1152,"config":1153},"Privacy statement",{"href":1154,"dataGaName":1155,"dataGaLocation":1119},"/privacy/","privacy statement",{"text":1157,"config":1158},"Cookie preferences",{"dataGaName":1159,"dataGaLocation":1119,"id":1160,"isOneTrustButton":643},"cookie preferences","ot-sdk-btn",{"title":680,"links":1162,"subMenu":1176},[1163,1166,1168,1170,1172,1174],{"text":1164,"config":1165},"Explore the platform",{"href":688,"dataGaName":682,"dataGaLocation":1119},{"text":740,"config":1167},{"href":742,"dataGaName":743,"dataGaLocation":1119},{"text":694,"config":1169},{"href":696,"dataGaName":697,"dataGaLocation":1119},{"text":745,"config":1171},{"href":747,"dataGaName":748,"dataGaLocation":1119},{"text":727,"config":1173},{"href":729,"dataGaName":730,"dataGaLocation":1119},{"text":758,"config":1175},{"href":763,"dataGaName":764,"dataGaLocation":1119},[1177],{"title":1178,"links":1179},"Topics",[1180,1184,1189,1194,1199,1204,1209,1214],{"text":694,"config":1181},{"href":1182,"dataGaName":1183,"dataGaLocation":1119},"/topics/ci-cd/","cicd",{"text":1185,"config":1186},"GitOps",{"href":1187,"dataGaName":1188,"dataGaLocation":1119},"/topics/gitops/","gitops",{"text":1190,"config":1191},"DevOps",{"href":1192,"dataGaName":1193,"dataGaLocation":1119},"/topics/devops/","devops",{"text":1195,"config":1196},"Version Control",{"href":1197,"dataGaName":1198,"dataGaLocation":1119},"/topics/version-control/","version control",{"text":1200,"config":1201},"DevSecOps",{"href":1202,"dataGaName":1203,"dataGaLocation":1119},"/topics/devsecops/","devsecops",{"text":1205,"config":1206},"Cloud Native",{"href":1207,"dataGaName":1208,"dataGaLocation":1119},"/topics/cloud-native/","cloud native",{"text":1210,"config":1211},"AI for Coding",{"href":1212,"dataGaName":1213,"dataGaLocation":1119},"/topics/devops/ai-for-coding/","ai for coding",{"text":1215,"config":1216},"Agentic AI",{"href":1217,"dataGaName":1218,"dataGaLocation":1119},"/topics/agentic-ai/","agentic ai",{"title":766,"links":1220},[1221,1224,1227,1230,1233,1236,1238,1240,1242,1244,1246,1249,1251,1254,1258,1262],{"text":1222,"config":1223},"DevOps modernization",{"href":781,"dataGaName":782,"dataGaLocation":1119},{"text":1225,"config":1226},"Security modernization",{"href":786,"dataGaName":787,"dataGaLocation":1119},{"text":1228,"config":1229},"AI modernization",{"href":791,"dataGaName":792,"dataGaLocation":1119},{"text":1231,"config":1232},"Financial services",{"href":817,"dataGaName":818,"dataGaLocation":1119},{"text":1234,"config":1235},"Public sector",{"href":822,"dataGaName":823,"dataGaLocation":1119},{"text":825,"config":1237},{"href":827,"dataGaName":828,"dataGaLocation":1119},{"text":830,"config":1239},{"href":832,"dataGaName":833,"dataGaLocation":1119},{"text":835,"config":1241},{"href":837,"dataGaName":838,"dataGaLocation":1119},{"text":840,"config":1243},{"href":842,"dataGaName":843,"dataGaLocation":1119},{"text":797,"config":1245},{"href":799,"dataGaName":800,"dataGaLocation":1119},{"text":1247,"config":1248},"Small business",{"href":804,"dataGaName":805,"dataGaLocation":1119},{"text":807,"config":1250},{"href":809,"dataGaName":810,"dataGaLocation":1119},{"text":1185,"config":1252},{"href":1253,"dataGaName":1188,"dataGaLocation":1119},"/solutions/gitops/",{"text":1255,"config":1256},"Software composition analysis",{"href":734,"dataGaName":1257,"dataGaLocation":1119},"software composition analysis",{"text":1259,"config":1260},"Value stream management",{"href":752,"dataGaName":1261,"dataGaLocation":1119},"value stream management",{"text":1263,"config":1264},"All solutions",{"href":773,"dataGaName":1265,"dataGaLocation":1119},"all solutions",{"title":859,"links":1267},[1268,1273,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1303],{"text":1269,"config":1270},"Install",{"href":1271,"dataGaName":1272,"dataGaLocation":1119},"/install/","install",{"text":1274,"config":1275},"Quick start guides",{"href":1276,"dataGaName":1277,"dataGaLocation":1119},"/get-started/","quick setup checklists",{"text":872,"config":1279},{"href":874,"dataGaName":875,"dataGaLocation":1119},{"text":877,"config":1281},{"href":879,"dataGaName":880,"dataGaLocation":1119},{"text":882,"config":1283},{"href":884,"dataGaName":885,"dataGaLocation":1119},{"text":887,"config":1285},{"href":889,"dataGaName":890,"dataGaLocation":1119},{"text":892,"config":1287},{"href":894,"dataGaName":895,"dataGaLocation":1119},{"text":905,"config":1289},{"href":907,"dataGaName":908,"dataGaLocation":1119},{"text":910,"config":1291},{"href":912,"dataGaName":913,"dataGaLocation":1119},{"text":915,"config":1293},{"href":917,"dataGaName":918,"dataGaLocation":1119},{"text":920,"config":1295},{"href":922,"dataGaName":923,"dataGaLocation":1119},{"text":925,"config":1297},{"href":927,"dataGaName":928,"dataGaLocation":1119},{"text":988,"config":1299},{"href":990,"dataGaName":991,"dataGaLocation":1119},{"text":1301,"config":1302},"What's new",{"href":936,"dataGaName":937,"dataGaLocation":1119},{"text":1304,"config":1305},"All resources",{"href":866,"dataGaName":1306,"dataGaLocation":1119},"all resources",{"title":939,"links":1308},[1309,1311,1313,1315,1317,1319,1321,1323,1325,1329,1334],{"text":947,"config":1310},{"href":949,"dataGaName":941,"dataGaLocation":1119},{"text":952,"config":1312},{"href":954,"dataGaName":955,"dataGaLocation":1119},{"text":958,"config":1314},{"href":960,"dataGaName":961,"dataGaLocation":1119},{"text":963,"config":1316},{"href":965,"dataGaName":966,"dataGaLocation":1119},{"text":968,"config":1318},{"href":970,"dataGaName":971,"dataGaLocation":1119},{"text":973,"config":1320},{"href":975,"dataGaName":976,"dataGaLocation":1119},{"text":978,"config":1322},{"href":980,"dataGaName":981,"dataGaLocation":1119},{"text":983,"config":1324},{"href":985,"dataGaName":986,"dataGaLocation":1119},{"text":1326,"config":1327},"Sustainability",{"href":1328,"dataGaName":1326,"dataGaLocation":1119},"/sustainability/",{"text":1330,"config":1331},"Diversity, inclusion and belonging (DIB)",{"href":1332,"dataGaName":1333,"dataGaLocation":1119},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1335,"config":1336},"Modern Slavery Transparency Statement",{"href":1337,"dataGaName":1338,"dataGaLocation":1119},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1340},[1341,1344,1347],{"text":1342,"config":1343},"Terms",{"href":1149,"dataGaName":1150,"dataGaLocation":1119},{"text":1345,"config":1346},"Cookies",{"dataGaName":1159,"dataGaLocation":1119,"id":1160,"isOneTrustButton":643},{"text":1348,"config":1349},"Privacy",{"href":1154,"dataGaName":1155,"dataGaLocation":1119},[1351,1364],{"id":1352,"title":7,"body":642,"config":1353,"content":1355,"description":642,"extension":1358,"meta":1359,"navigation":643,"path":1360,"seo":1361,"stem":1362,"__hash__":1363},"blogAuthors/en-us/blog/authors/abisheik-magesh.yml",{"template":1354},"BlogAuthor",{"name":7,"config":1356},{"headshot":1357},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1787000354/gmgyvfesrvwdlvt52gdw.png","yml",{},"/en-us/blog/authors/abisheik-magesh",{},"en-us/blog/authors/abisheik-magesh","kPev_Acm8MB5tgKMnU_Rkfq1sl42e8DixU6iNMXXfxI",{"id":1365,"title":8,"body":642,"config":1366,"content":1367,"description":642,"extension":1358,"meta":1371,"navigation":643,"path":1372,"seo":1373,"stem":1374,"__hash__":1375},"blogAuthors/en-us/blog/authors/dinesh-bolkensteyn.yml",{"template":1354},{"name":8,"config":1368},{"headshot":1369,"ctfId":1370},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1781016491/cs30c757njvhqnyizzmn.jpg","EpylYWgjPmFOL5NX3Zxmk",{},"/en-us/blog/authors/dinesh-bolkensteyn",{},"en-us/blog/authors/dinesh-bolkensteyn","Pv3nFIJV4WoNXz6FcpkaLOBx8QTtXH1KIVGmxt1GGME",[1377,1384,1390],{"title":1378,"description":1379,"heroImage":644,"category":638,"date":1380,"authors":1381,"slug":1383,"externalUrl":642},"DeepSeek-Reasonix: How a poisoned config can hijack an AI coding agent","GitLab's Threat Research Group found a flaw, ConfigPoisoning, that runs attacker code when a developer views a file's diff in DeepSeek-Reasonix.","2026-10-02",[7,1382],"Daniel Abeles","deepseek-reasonix-vulnerability-discovered",{"title":1385,"description":1386,"heroImage":644,"category":638,"date":1387,"authors":1388,"slug":1389,"externalUrl":642},"Critical remote code execution in vm2, a widely used Node.js sandbox library","GitLab's Threat Research Group found a critical sandbox escape in vm2 that runs attacker code using the library's own documented configuration.","2026-09-02",[7,1382],"critical-remote-code-execution-in-vm2",{"title":1391,"description":1392,"heroImage":644,"category":638,"date":1393,"authors":1394,"slug":1395,"externalUrl":642},"Critical remote code execution in Serena, a popular MCP coding agent","GitLab's Threat Research Group found a critical template injection in Serena that runs attacker code the moment a developer opens a repository.","2026-08-17",[1382,7],"critical-rce-in-serena",{"header":1397,"text":1398,"button":1402,"disclaimer":1405},"Start your free\n\n30-day GitLab trial\n",[1399,1400,1401],"GitLab Duo Agent Platform access","Try our most advanced features","Automate complex tasks with AI",{"text":664,"config":1403},{"href":1404,"dataGaName":667,"dataGaLocation":908},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/blog/","No credit card required.",{"header":1407,"blurb":1408,"button":1409,"secondaryButton":1414},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1410,"config":1411},"Get your free trial",{"href":1412,"dataGaName":667,"dataGaLocation":1413},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":1135,"config":1415},{"href":1002,"dataGaName":672,"dataGaLocation":1413},1792707090169]