[{"data":1,"prerenderedAt":937},["ShallowReactive",2],{"/pt-br/blog/transcend-dependency-firewall":3,"navigation-pt-br":207,"banner-pt-br":632,"footer-pt-br":639,"blog-post-authors-pt-br-Alisa Ho|Amit Shalem":891,"blog-related-posts-pt-br-transcend-dependency-firewall":916,"blog-share-wrapper-pt-br":917,"next-steps-pt-br":927},{"id":4,"title":5,"authors":6,"body":9,"category":188,"date":189,"description":190,"extension":191,"externalUrl":192,"faq":192,"featured":193,"heroImage":194,"meta":195,"navigation":196,"path":197,"seo":198,"slug":200,"stem":201,"tags":202,"template":205,"updatedDate":192,"__hash__":206},"blogPosts/pt-br/blog/transcend-dependency-firewall.md","Dependency Firewall: bloqueie pacotes arriscados antes do build",[7,8],"Alisa Ho","Amit Shalem",{"type":10,"value":11,"toc":179},"minimark",[12,23,26,35,47,52,55,58,92,95,98,105,109,112,115,118,124,128,131,134,137,143,147,150,153,156,162,166],[13,14,15,16,22],"p",{},"Pacotes maliciosos podem aparecer disfarçados como pacotes confiáveis. Por exemplo, em junho de 2026, ",[17,18,21],"a",{"href":19,"rel":20},"https://about.gitlab.com/pt-br/blog/gitlab-discovers-widespread-npm-supply-chain-attack/",[],"pesquisadores do GitLab encontraram cinco pacotes maliciosos no PyPI",", quatro deles typosquats do Flask, Requests e NumPy, que são executados no momento da instalação e roubam credenciais de CI/CD. E isso importa, já que agentes de IA agora adicionam dependências de código aberto por conta própria, muitas vezes sem revisão, e os desenvolvedores perdem a visibilidade sobre quais pacotes podem contaminar o build.",[13,24,25],{},"Essa combinação abre uma brecha real: um pacote malicioso ou vulnerável pode entrar no seu build sem qualquer autorização. Uma vez lá dentro, o código desse pacote roda com o mesmo acesso que o seu pipeline tem, e a partir daí consegue alcançar qualquer sistema que os seus pipelines de desenvolvimento tocam.",[13,27,28,29,34],{},"O ",[17,30,33],{"href":31,"rel":32},"https://about.gitlab.com/pt-br/dependency-firewall/beta/",[],"GitLab Dependency Firewall",", apresentado hoje no Transcend em acesso antecipado, bloqueia pacotes que batem com a sua política — maliciosos, vulneráveis ou fora de conformidade — antes que eles cheguem ao seu build. Com a governança embutida, a ferramenta impede o risco antes mesmo da instalação, o que libera a sua equipe do processo de rastrear, remover ou refazer o que uma política bloqueia. Desenvolvedores e seus agentes continuam puxando as dependências de que precisam sem esperar por uma revisão manual de segurança, e os pacotes que atendem à sua política passam a fazer parte do seu build oficial.",[36,37,38],"blockquote",{},[13,39,40,41,46],{},"Assista à ",[17,42,45],{"href":43,"rel":44},"https://about.gitlab.com/pt-br/events/transcend/virtual/",[],"gravação do nosso evento Transcend"," para ver demonstrações dos novos recursos da plataforma e entender o que é preciso para levar a velocidade da IA agêntica a todo o ciclo de vida do software.",[48,49,51],"h2",{"id":50},"bloqueie-pacotes-maliciosos-sem-quebrar-o-seu-build","Bloqueie pacotes maliciosos sem quebrar o seu build",[13,53,54],{},"Sem uma política no momento da instalação, um pacote problemático entra no build primeiro e só é pego depois. A análise de composição de software (Software composition analysis - SCA) verifica o que você já trouxe para o projeto — então, quando ela sinaliza um pacote malicioso, uma vulnerabilidade de alta gravidade ou uma licença que o seu time jurídico não aceita, a dependência já está instalada e pode até já ter sido entregue dentro de um artefato. Rastrear até onde ela foi, removê-la e reconstruir o build transforma uma execução de rotina do pipeline em um trabalho extra e não planejado para o seu time de engenharia.",[13,56,57],{},"Com o Dependency Firewall, você decide o que pode entrar nos seus builds antes mesmo da instalação, definindo políticas para:",[59,60,61,74,80,86],"ol",{},[62,63,64,68,69],"li",{},[65,66,67],"strong",{},"Status malicioso"," — pacotes sinalizados no ",[17,70,73],{"href":71,"rel":72},"https://docs.gitlab.com/user/application_security/gitlab_advisory_database/#gitlab-malware-advisories",[],"banco de dados de avisos de malware do GitLab",[62,75,76,79],{},[65,77,78],{},"Gravidade da vulnerabilidade"," — a gravidade que você define (crítica, alta, média ou baixa) e quantas ocorrências você permite nesse nível, incluindo zero",[62,81,82,85],{},[65,83,84],{},"Tipo de licença"," — quais licenças você permite ou recusa, listadas pelo nome completo, e como tratar pacotes cuja licença não pode ser identificada",[62,87,88,91],{},[65,89,90],{},"Idade do pacote"," — a idade mínima que um pacote precisa ter antes de entrar em um build, para que uma versão publicada minutos atrás não entre direto sem que ninguém a tenha analisado",[13,93,94],{},"Colocar essa política em prática não precisa colocar a sua entrega em risco. Comece no modo de aviso: o firewall registra o que uma política capturaria, mas deixa o build seguir normalmente. Ele grava um evento de auditoria, uma entrada no dashboard e uma linha no resumo do CI, para que você possa avaliar se vale a pena bloquear o build ou não.",[13,96,97],{},"Depois que você confiar nas políticas, mude para o modo de bloqueio: o pipeline para assim que encontra uma correspondência e mostra o motivo. Quando alguém realmente precisa liberar um pacote já aprovado, um bypass registrado permite que um usuário ou token autorizado prossiga — tudo fica no histórico.",[13,99,100],{},[101,102],"img",{"alt":103,"src":104,"title":103},"Aplicação de políticas de segurança","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198870/smilnde9xskkyon7rzyn.jpg",[48,106,108],{"id":107},"defina-a-política-uma-vez-ou-personalize-por-time","Defina a política uma vez ou personalize por time",[13,110,111],{},"Um firewall que só atua no nível do registro dá a mesma política para todo mundo, mas isso raramente combina com a forma como os times realmente trabalham. Um serviço de pagamentos e um protótipo interno carregam perfis de risco bem diferentes, e um único conjunto de regras para todo o registro não consegue exigir mais de um do que do outro.",[13,113,114],{},"Com o Dependency Firewall, você define uma política no grupo de nível superior, e todo projeto abaixo dele herda as mesmas regras. Quando um time precisa de algo diferente, você pode definir uma política específica para aquele grupo ou projeto.",[13,116,117],{},"Dá para aplicar a regra no nível do registro e governar toda a organização a partir de uma única plataforma, sem abrir mão da possibilidade de apertar as regras onde o risco é maior. As regras vivem como código em um projeto de política de segurança, então são revisadas e alteradas por meio de uma solicitação de merge, como o resto da sua configuração. Elas são herdadas do grupo de nível superior até serem passadas para cada projeto, e, quando as regras se sobrepõem, vale a mais restritiva. Um serviço crítico pode ficar acima da régua-base da organização, e nenhum projeto fica abaixo dela.",[13,119,120],{},[101,121],{"alt":122,"src":123,"title":122},"Nova política do dependency firewall","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198870/aykp66qb64pskauvzbmm.jpg",[48,125,127],{"id":126},"verifique-um-pacote-antes-de-trazê-lo-para-o-projeto","Verifique um pacote antes de trazê-lo para o projeto",[13,129,130],{},"Um desenvolvedor — ou um agente realizando o trabalho — geralmente só descobre que um pacote não é permitido quando o pipeline falha. Isso custa um ciclo inteiro de build e quebra a concentração bem na hora em que o trabalho está fluindo.",[13,132,133],{},"Com o GitLab Dependency Firewall, você já sabe a resposta antes de adicionar uma dependência, direto no lugar onde já está trabalhando — e consegue escolher um pacote que passa de primeira.",[13,135,136],{},"Usando a GitLab CLI no terminal ou em um script, uma verificação por linha de comando já diz se um pacote vai passar ou ser bloqueado pela sua política, sem que o desenvolvedor precise abrir um console separado. Ela cobre gerenciadores de pacotes comuns, como npm, pip, Poetry, Maven, Gradle e Bundler, com mais integrações a caminho.",[13,138,139],{},[101,140],{"alt":141,"src":142,"title":141},"Use a linha de comando para identificar se um pacote vai passar ou ser bloqueado pela sua política","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198870/itqcvrmp8gvw1phihd2l.jpg",[48,144,146],{"id":145},"veja-e-comprove-cada-decisão","Veja e comprove cada decisão",[13,148,149],{},"Um líder de segurança precisa conseguir provar o que um controle está fazendo durante uma auditoria. Um controle que bloqueia silenciosamente, sem deixar registro, não responde à pergunta do auditor e não constrói confiança com os times que ele governa.",[13,151,152],{},"Você tem uma visão única de tudo o que o firewall já permitiu, avisou e bloqueou, com um registro imutável de cada decisão que pode ser entregue a um auditor.",[13,154,155],{},"O dashboard do Dependency Firewall mostra a atividade e os resultados de todos os projetos dentro do escopo definido. Cada aviso, bloqueio ou bypass gera um evento de auditoria que registra a regra correspondente, a política por trás dela e o pacote envolvido.",[13,157,158],{},[101,159],{"alt":160,"src":161,"title":160},"Dashboard do Dependency Firewall","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198871/oiieystaargq3ctrqfs1.jpg",[48,163,165],{"id":164},"tenha-acesso-antecipado-ao-gitlab-dependency-firewall","Tenha acesso antecipado ao GitLab Dependency Firewall",[13,167,168,169,174,175],{},"Agora você pode travar pacotes maliciosos, vulneráveis ou fora de conformidade antes que cheguem a um build. A solução é compatível com o ",[17,170,173],{"href":171,"rel":172},"https://about.gitlab.com/pt-br/blog/transcend-artifact-central/",[],"GitLab Artifact Central"," e com registros externos do Sonatype Nexus Repository e do JFrog Artifactory, e não exige manter uma ferramenta separada ao lado da sua implantação do GitLab. O Dependency Firewall já está em acesso antecipado para clientes GitLab.com e GitLab Self-Managed nos planos Premium ou Ultimate. ",[17,176,178],{"href":31,"rel":177},[],"Solicite seu acesso antecipado agora mesmo!",{"title":180,"searchDepth":181,"depth":181,"links":182},"",2,[183,184,185,186,187],{"id":50,"depth":181,"text":51},{"id":107,"depth":181,"text":108},{"id":126,"depth":181,"text":127},{"id":145,"depth":181,"text":146},{"id":164,"depth":181,"text":165},"security","2026-10-06","O GitLab Dependency Firewall barra pacotes maliciosos e vulneráveis do build automaticamente, para times e agentes entregarem com dependências confiáveis.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198675/kmajkudog4fj3xc6qfyb.png",{},true,"/pt-br/blog/transcend-dependency-firewall",{"config":199,"title":5,"description":190},{"noIndex":193},"transcend-dependency-firewall","pt-br/blog/transcend-dependency-firewall",[203,204],"features","product","BlogPost","DOuJMRur-h-q172L-ChhTEkPIWvaJ41XADWl4s1nvgw",{"logo":208,"freeTrial":213,"sales":218,"login":223,"items":228,"search":549,"minimal":583,"duo":602,"switchNav":611,"pricingDeployment":622},{"config":209},{"href":210,"dataGaName":211,"dataGaLocation":212},"/pt-br/","gitlab logo","header",{"text":214,"config":215},"Obtenha uma avaliação gratuita",{"href":216,"dataGaName":217,"dataGaLocation":212},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br&glm_content=default-saas-trial/","free trial",{"text":219,"config":220},"Solicite uma demonstração",{"href":221,"dataGaName":222,"dataGaLocation":212},"/pt-br/sales/?contact-topic=request-demo","sales",{"text":224,"config":225},"Fazer login",{"href":226,"dataGaName":227,"dataGaLocation":212},"https://gitlab.com/users/sign_in/","sign in",[229,305,393,398,473,527],{"text":230,"left":196,"config":231,"menu":233},"Plataforma",{"dataNavLevelOne":232},"platform",{"type":234,"link":235,"columns":239,"feature":294},"lists",{"text":236,"config":237},"Conheça a plataforma",{"href":238,"dataGaName":232,"dataGaLocation":212},"/pt-br/platform/",[240,258,276],{"title":241,"items":242},"Execução e fluxos de trabalho",[243,248,253],{"text":244,"config":245},"CI/CD",{"href":246,"dataGaLocation":212,"dataGaName":247},"/pt-br/solutions/continuous-integration/","ci/cd",{"text":249,"config":250},"Gerenciamento de código-fonte",{"href":251,"dataGaLocation":212,"dataGaName":252},"/pt-br/solutions/source-code-management/","source code management",{"text":254,"config":255},"Entrega ágil",{"href":256,"dataGaLocation":212,"dataGaName":257},"/pt-br/solutions/agile-delivery/","agile delivery",{"title":259,"items":260},"Segurança e governança",[261,266,271],{"text":262,"config":263},"Testes de segurança de aplicações",{"href":264,"dataGaLocation":212,"dataGaName":265},"/pt-br/solutions/application-security-testing/","application security testing",{"text":267,"config":268},"Governança e conformidade",{"href":269,"dataGaLocation":212,"dataGaName":270},"/pt-br/solutions/software-compliance/","governance and compliance",{"text":272,"config":273},"Segurança da cadeia de suprimentos",{"href":274,"dataGaLocation":212,"dataGaName":275},"/pt-br/solutions/supply-chain/","supply chain security",{"title":277,"items":278},"Contexto e IA",[279,284,289],{"text":280,"config":281},"Orquestração agêntica",{"href":282,"dataGaLocation":212,"dataGaName":283},"/pt-br/gitlab-duo-agent-platform/","agentic orchestration",{"text":285,"config":286},"Grafo de contexto",{"href":287,"dataGaLocation":212,"dataGaName":288},"/pt-br/gitlab-orbit/","context graph",{"text":290,"config":291},"Visibilidade e métricas",{"href":292,"dataGaLocation":212,"dataGaName":293},"/pt-br/solutions/visibility-measurement/","visibility and measurement",{"config":295,"title":298,"text":299,"link":300},{"background":296,"textColor":297},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Por que escolher o GitLab?","Uma plataforma única que oferece velocidade e controle em todo o ciclo de vida do seu software.",{"text":301,"config":302},"Saiba mais",{"href":303,"dataGaName":304,"dataGaLocation":212},"/pt-br/why-gitlab/","why gitlab",{"text":306,"left":196,"config":307,"menu":309},"Soluções",{"dataNavLevelOne":308},"solutions",{"type":234,"link":310,"columns":314,"feature":384},{"text":311,"config":312},"Confira todas as soluções",{"href":313,"dataGaName":308,"dataGaLocation":212},"/pt-br/solutions/",[315,333,351],{"title":316,"items":317},"Resultados",[318,323,328],{"text":319,"config":320},"Modernização de DevOps",{"href":321,"dataGaLocation":212,"dataGaName":322},"/pt-br/assessments/devops-modernization-assessment/","devops modernization",{"text":324,"config":325},"Modernização da segurança",{"href":326,"dataGaLocation":212,"dataGaName":327},"/pt-br/assessments/security-modernization-assessment/","security modernization",{"text":329,"config":330},"Modernização da IA",{"href":331,"dataGaLocation":212,"dataGaName":332},"/pt-br/assessments/ai-modernization-assessment/","ai modernization",{"title":334,"items":335},"Por tamanho",[336,341,346],{"text":337,"config":338},"Enterprise",{"href":339,"dataGaLocation":212,"dataGaName":340},"/pt-br/enterprise/","enterprise",{"text":342,"config":343},"Pequenas empresas",{"href":344,"dataGaLocation":212,"dataGaName":345},"/pt-br/small-business/","small business",{"text":347,"config":348},"Start-ups",{"href":349,"dataGaLocation":212,"dataGaName":350},"/pt-br/solutions/startups/","startups",{"title":352,"items":353},"Indústrias",[354,359,364,369,374,379],{"text":355,"config":356},"Serviços financeiros",{"href":357,"dataGaLocation":212,"dataGaName":358},"/pt-br/solutions/finance/","financial services",{"text":360,"config":361},"Setor público",{"href":362,"dataGaLocation":212,"dataGaName":363},"/pt-br/solutions/public-sector/","public sector",{"text":365,"config":366},"Telecomunicações",{"href":367,"dataGaLocation":212,"dataGaName":368},"/pt-br/solutions/telecommunications/","telecommunications",{"text":370,"config":371},"Serviços automotivos",{"href":372,"dataGaLocation":212,"dataGaName":373},"/pt-br/solutions/automotive/","automotive",{"text":375,"config":376},"Educação",{"href":377,"dataGaLocation":212,"dataGaName":378},"/pt-br/solutions/education/","education",{"text":380,"config":381},"Setor aeroespacial",{"href":382,"dataGaLocation":212,"dataGaName":383},"/pt-br/solutions/aerospace/","aerospace",{"config":385,"title":386,"text":387,"link":388},{"background":296,"textColor":297},"GitLab Transcend","Confira nossas inovações mais recentes, anunciadas no último Transcend.",{"text":389,"config":390},"Acesse o blog",{"href":391,"dataGaName":392,"dataGaLocation":212},"/blog/gitlab-transcend-announcements/","gitlab transcend",{"text":394,"config":395},"Preços",{"href":396,"dataGaName":397,"dataGaLocation":212,"dataNavLevelOne":397},"/pt-br/pricing/","pricing",{"text":399,"config":400,"menu":402},"Recursos",{"dataNavLevelOne":401},"resources",{"type":234,"link":403,"columns":407,"feature":464},{"text":404,"config":405},"Confira todos os recursos",{"href":406,"dataGaName":401,"dataGaLocation":212},"/pt-br/resources/",[408,436],{"title":409,"items":410},"Descubra",[411,416,421,426,431],{"text":412,"config":413},"Documentação",{"href":414,"dataGaName":415,"dataGaLocation":212},"https://docs.gitlab.com/","docs",{"text":417,"config":418},"University",{"href":419,"dataGaName":420,"dataGaLocation":212},"https://university.gitlab.com/","university",{"text":422,"config":423},"Demo Series",{"href":424,"dataGaName":425,"dataGaLocation":212},"/pt-br/gitlab-technical-demo-series/","demo series",{"text":427,"config":428},"Demo Hub",{"href":429,"dataGaName":430,"dataGaLocation":212},"/pt-br/demo-hub/","demo hub",{"text":432,"config":433},"Serviços",{"href":434,"dataGaName":435,"dataGaLocation":212},"/pt-br/services/","services",{"title":437,"items":438},"Conecte-se",[439,444,449,454,459],{"text":440,"config":441},"Blog",{"href":442,"dataGaName":443,"dataGaLocation":212},"/pt-br/blog/","blog",{"text":445,"config":446},"Comunidade",{"href":447,"dataGaName":448,"dataGaLocation":212},"/community/","community",{"text":450,"config":451},"Clientes",{"href":452,"dataGaName":453,"dataGaLocation":212},"/pt-br/customers/","customers",{"text":455,"config":456},"Parceiros",{"href":457,"dataGaName":458,"dataGaLocation":212},"/pt-br/partners/","partners",{"text":460,"config":461},"Eventos",{"href":462,"dataGaName":463,"dataGaLocation":212},"/events/","events",{"config":465,"title":466,"text":467,"link":468},{"background":296,"textColor":297},"Novidades no GitLab","Acompanhe as melhorias e os recursos mais recentes.",{"text":469,"config":470},"Confira as novidades",{"href":471,"dataGaName":472,"dataGaLocation":212},"/pt-br/whats-new/","whats new",{"text":474,"config":475,"menu":477},"Empresa",{"dataNavLevelOne":476},"company",{"type":234,"columns":478},[479],{"items":480},[481,486,492,497,502,507,512,517,522],{"text":482,"config":483},"Sobre",{"href":484,"dataGaName":485,"dataGaLocation":212},"/pt-br/company/","about",{"text":487,"config":488,"footerGa":491},"Vagas",{"href":489,"dataGaName":490,"dataGaLocation":212},"/jobs/","jobs",{"dataGaName":490},{"text":493,"config":494},"Imprensa",{"href":495,"dataGaName":496,"dataGaLocation":212},"/press/","press",{"text":498,"config":499},"Manual",{"href":500,"dataGaName":501,"dataGaLocation":212},"https://handbook.gitlab.com/","handbook",{"text":503,"config":504},"Liderança",{"href":505,"dataGaName":506,"dataGaLocation":212},"/company/team/e-group/","leadership",{"text":508,"config":509},"Relações com investidores",{"href":510,"dataGaName":511,"dataGaLocation":212},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":513,"config":514},"Trust Center",{"href":515,"dataGaName":516,"dataGaLocation":212},"/pt-br/security/","trust center",{"text":518,"config":519},"AI Transparency Center",{"href":520,"dataGaName":521,"dataGaLocation":212},"/pt-br/ai-transparency-center/","ai transparency center",{"text":523,"config":524},"Boletim informativo",{"href":525,"dataGaName":526,"dataGaLocation":212},"/company/contact/#contact-forms","newsletter",{"text":528,"config":529,"menu":530},"Entre em contato",{"dataNavLevelOne":476},{"type":234,"columns":531},[532],{"items":533},[534,539,544],{"text":535,"config":536},"Fale com a equipe de vendas",{"href":537,"dataGaName":538,"dataGaLocation":212},"/pt-br/sales/","talk to sales",{"text":540,"config":541},"Portal de ajuda",{"href":542,"dataGaName":543,"dataGaLocation":212},"https://support.gitlab.com/hc/en-us","support portal",{"text":545,"config":546},"Portal de clientes",{"href":547,"dataGaName":548,"dataGaLocation":212},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":550,"login":551,"suggestions":558},"Fechar",{"text":552,"link":553},"Para pesquisar repositórios e projetos, faça login em",{"text":554,"config":555},"gitlab.com",{"href":226,"dataGaName":556,"dataGaLocation":557},"search login","search",{"text":559,"default":560},"Sugestões",[561,564,568,570,575,580],{"text":562,"config":563},"GitLab Duo Agent Platform",{"href":282,"dataGaName":562,"dataGaLocation":557},{"text":565,"config":566},"Sugestões de código (AI)",{"href":282,"dataGaName":567,"dataGaLocation":557},"Code Suggestions (AI)",{"text":244,"config":569},{"href":246,"dataGaName":244,"dataGaLocation":557},{"text":571,"config":572},"GitLab na AWS",{"href":573,"dataGaName":574,"dataGaLocation":557},"/pt-br/partners/technology-partners/aws/","GitLab on AWS",{"text":576,"config":577},"GitLab no Google Cloud",{"href":578,"dataGaName":579,"dataGaLocation":557},"/pt-br/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":298,"config":581},{"href":303,"dataGaName":582,"dataGaLocation":557},"Why GitLab?",{"freeTrial":584,"mobileIcon":589,"desktopIcon":594,"secondaryButton":597},{"text":585,"config":586},"Iniciar avaliação gratuita",{"href":587,"dataGaName":217,"dataGaLocation":588},"https://gitlab.com/-/trials/new/","nav",{"altText":590,"config":591},"Ícone do GitLab",{"src":592,"dataGaName":593,"dataGaLocation":588},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":590,"config":595},{"src":596,"dataGaName":593,"dataGaLocation":588},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":598,"config":599},"Primeiros passos",{"href":600,"dataGaName":601,"dataGaLocation":588},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br/get-started/","get started",{"freeTrial":603,"mobileIcon":607,"desktopIcon":609},{"text":604,"config":605},"Saiba mais sobre o GitLab Duo",{"href":282,"dataGaName":606,"dataGaLocation":588},"gitlab duo",{"altText":590,"config":608},{"src":592,"dataGaName":593,"dataGaLocation":588},{"altText":590,"config":610},{"src":596,"dataGaName":593,"dataGaLocation":588},{"button":612,"mobileIcon":617,"desktopIcon":619},{"text":613,"config":614},"/switch",{"href":615,"dataGaName":616,"dataGaLocation":588},"#contact","switch",{"altText":590,"config":618},{"src":592,"dataGaName":593,"dataGaLocation":588},{"altText":590,"config":620},{"src":621,"dataGaName":593,"dataGaLocation":588},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":623,"mobileIcon":628,"desktopIcon":630},{"text":624,"config":625},"Voltar para preços",{"href":396,"dataGaName":626,"dataGaLocation":588,"icon":627},"back to pricing","GoBack",{"altText":590,"config":629},{"src":592,"dataGaName":593,"dataGaLocation":588},{"altText":590,"config":631},{"src":596,"dataGaName":593,"dataGaLocation":588},{"title":633,"button":634,"config":637},"GitLab Orbit chegou: a camada de contexto para agentes de IA.",{"text":301,"config":635},{"href":287,"dataGaName":636,"dataGaLocation":212},"orbit",{"layout":638,"disabled":193},"release",{"data":640},{"text":641,"source":642,"edit":648,"contribute":653,"config":658,"items":663,"minimal":880},"Git é uma marca comercial da Software Freedom Conservancy e nosso uso do nome \"GitLab\" está sob licença",{"text":643,"config":644},"Ver a origem da página",{"href":645,"dataGaName":646,"dataGaLocation":647},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":649,"config":650},"Editar esta página",{"href":651,"dataGaName":652,"dataGaLocation":647},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":654,"config":655},"Contribua",{"href":656,"dataGaName":657,"dataGaLocation":647},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":659,"facebook":660,"youtube":661,"linkedin":662},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[664,710,765,806,847],{"title":394,"links":665,"subMenu":680},[666,670,675],{"text":667,"config":668},"Confira os planos",{"href":396,"dataGaName":669,"dataGaLocation":647},"view plans",{"text":671,"config":672},"Por que escolher o GitLab Premium?",{"href":673,"dataGaName":674,"dataGaLocation":647},"/pt-br/pricing/premium/","why premium",{"text":676,"config":677},"Por que escolher o GitLab Ultimate?",{"href":678,"dataGaName":679,"dataGaLocation":647},"/pt-br/pricing/ultimate/","why ultimate",[681],{"title":682,"links":683},"Entre em contato conosco",[684,686,688,690,695,700,705],{"text":535,"config":685},{"href":537,"dataGaName":222,"dataGaLocation":647},{"text":540,"config":687},{"href":542,"dataGaName":543,"dataGaLocation":647},{"text":545,"config":689},{"href":547,"dataGaName":548,"dataGaLocation":647},{"text":691,"config":692},"Status",{"href":693,"dataGaName":694,"dataGaLocation":647},"https://status.gitlab.com/","status",{"text":696,"config":697},"Termos de uso",{"href":698,"dataGaName":699,"dataGaLocation":647},"/terms/","terms of use",{"text":701,"config":702},"Aviso de privacidade",{"href":703,"dataGaName":704,"dataGaLocation":647},"/pt-br/privacy/","privacy statement",{"text":706,"config":707},"Preferências de cookies",{"dataGaName":708,"dataGaLocation":647,"id":709,"isOneTrustButton":196},"cookie preferences","ot-sdk-btn",{"title":230,"links":711,"subMenu":722},[712,714,716,718,720],{"text":236,"config":713},{"href":238,"dataGaName":232,"dataGaLocation":647},{"text":280,"config":715},{"href":282,"dataGaName":283,"dataGaLocation":647},{"text":244,"config":717},{"href":246,"dataGaName":247,"dataGaLocation":647},{"text":285,"config":719},{"href":287,"dataGaName":288,"dataGaLocation":647},{"text":298,"config":721},{"href":303,"dataGaName":304,"dataGaLocation":647},[723],{"title":724,"links":725},"Tópicos",[726,730,735,740,745,750,755,760],{"text":244,"config":727},{"href":728,"dataGaName":729,"dataGaLocation":647},"/pt-br/topics/ci-cd/","cicd",{"text":731,"config":732},"GitOps",{"href":733,"dataGaName":734,"dataGaLocation":647},"/pt-br/topics/gitops/","gitops",{"text":736,"config":737},"DevOps",{"href":738,"dataGaName":739,"dataGaLocation":647},"/pt-br/topics/devops/","devops",{"text":741,"config":742},"Controle de versão",{"href":743,"dataGaName":744,"dataGaLocation":647},"/pt-br/topics/version-control/","version control",{"text":746,"config":747},"DevSecOps",{"href":748,"dataGaName":749,"dataGaLocation":647},"/pt-br/topics/devsecops/","devsecops",{"text":751,"config":752},"De nuvem nativa",{"href":753,"dataGaName":754,"dataGaLocation":647},"/pt-br/topics/cloud-native/","cloud native",{"text":756,"config":757},"IA para programação",{"href":758,"dataGaName":759,"dataGaLocation":647},"/pt-br/topics/devops/ai-for-coding/","ai for coding",{"text":761,"config":762},"IA agêntica",{"href":763,"dataGaName":764,"dataGaLocation":647},"/pt-br/topics/agentic-ai/","agentic ai",{"title":306,"links":766},[767,769,771,773,775,777,779,781,783,785,787,789,791,794,798,802],{"text":319,"config":768},{"href":321,"dataGaName":322,"dataGaLocation":647},{"text":324,"config":770},{"href":326,"dataGaName":327,"dataGaLocation":647},{"text":329,"config":772},{"href":331,"dataGaName":332,"dataGaLocation":647},{"text":355,"config":774},{"href":357,"dataGaName":358,"dataGaLocation":647},{"text":360,"config":776},{"href":362,"dataGaName":363,"dataGaLocation":647},{"text":365,"config":778},{"href":367,"dataGaName":368,"dataGaLocation":647},{"text":370,"config":780},{"href":372,"dataGaName":373,"dataGaLocation":647},{"text":375,"config":782},{"href":377,"dataGaName":378,"dataGaLocation":647},{"text":380,"config":784},{"href":382,"dataGaName":383,"dataGaLocation":647},{"text":337,"config":786},{"href":339,"dataGaName":340,"dataGaLocation":647},{"text":342,"config":788},{"href":344,"dataGaName":345,"dataGaLocation":647},{"text":347,"config":790},{"href":349,"dataGaName":350,"dataGaLocation":647},{"text":731,"config":792},{"href":793,"dataGaName":734,"dataGaLocation":647},"/pt-br/solutions/gitops/",{"text":795,"config":796},"Análise de composição de software",{"href":274,"dataGaName":797,"dataGaLocation":647},"software composition analysis",{"text":799,"config":800},"Gestão de fluxo de valor do GitLab",{"href":292,"dataGaName":801,"dataGaLocation":647},"value stream management",{"text":803,"config":804},"Todas as soluções",{"href":313,"dataGaName":805,"dataGaLocation":647},"all solutions",{"title":399,"links":807},[808,813,818,820,822,824,826,828,830,832,834,836,838,840,843],{"text":809,"config":810},"Instalação",{"href":811,"dataGaName":812,"dataGaLocation":647},"/pt-br/install/","install",{"text":814,"config":815},"Guias de início rápido",{"href":816,"dataGaName":817,"dataGaLocation":647},"/pt-br/get-started/","quick setup checklists",{"text":412,"config":819},{"href":414,"dataGaName":415,"dataGaLocation":647},{"text":417,"config":821},{"href":419,"dataGaName":420,"dataGaLocation":647},{"text":422,"config":823},{"href":424,"dataGaName":425,"dataGaLocation":647},{"text":427,"config":825},{"href":429,"dataGaName":430,"dataGaLocation":647},{"text":432,"config":827},{"href":434,"dataGaName":435,"dataGaLocation":647},{"text":440,"config":829},{"href":442,"dataGaName":443,"dataGaLocation":647},{"text":445,"config":831},{"href":447,"dataGaName":448,"dataGaLocation":647},{"text":450,"config":833},{"href":452,"dataGaName":453,"dataGaLocation":647},{"text":455,"config":835},{"href":457,"dataGaName":458,"dataGaLocation":647},{"text":460,"config":837},{"href":462,"dataGaName":463,"dataGaLocation":647},{"text":523,"config":839},{"href":525,"dataGaName":526,"dataGaLocation":647},{"text":841,"config":842},"Novidades",{"href":471,"dataGaName":472,"dataGaLocation":647},{"text":844,"config":845},"Todos os recursos",{"href":406,"dataGaName":846,"dataGaLocation":647},"all resources",{"title":474,"links":848},[849,851,853,855,857,859,861,863,865,870,875],{"text":482,"config":850},{"href":484,"dataGaName":476,"dataGaLocation":647},{"text":487,"config":852},{"href":489,"dataGaName":490,"dataGaLocation":647},{"text":493,"config":854},{"href":495,"dataGaName":496,"dataGaLocation":647},{"text":498,"config":856},{"href":500,"dataGaName":501,"dataGaLocation":647},{"text":503,"config":858},{"href":505,"dataGaName":506,"dataGaLocation":647},{"text":508,"config":860},{"href":510,"dataGaName":511,"dataGaLocation":647},{"text":513,"config":862},{"href":515,"dataGaName":516,"dataGaLocation":647},{"text":518,"config":864},{"href":520,"dataGaName":521,"dataGaLocation":647},{"text":866,"config":867},"Sustentabilidade",{"href":868,"dataGaName":869,"dataGaLocation":647},"/sustainability/","Sustainability",{"text":871,"config":872},"Diversidade, inclusão e pertencimento (DIB)",{"href":873,"dataGaName":874,"dataGaLocation":647},"/pt-br/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":876,"config":877},"Declaração de Transparência da Lei da Escravidão Moderna",{"href":878,"dataGaName":879,"dataGaLocation":647},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":881},[882,885,888],{"text":883,"config":884},"Termos",{"href":698,"dataGaName":699,"dataGaLocation":647},{"text":886,"config":887},"Cookies",{"dataGaName":708,"dataGaLocation":647,"id":709,"isOneTrustButton":196},{"text":889,"config":890},"Privacidade",{"href":703,"dataGaName":704,"dataGaLocation":647},[892,905],{"id":893,"title":7,"body":192,"config":894,"content":896,"description":192,"extension":899,"meta":900,"navigation":196,"path":901,"seo":902,"stem":903,"__hash__":904},"blogAuthors/en-us/blog/authors/alisa-ho.yml",{"template":895},"BlogAuthor",{"name":7,"config":897},{"headshot":898},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1771440109/xcnydlisb91u4qiwdyw2.jpg","yml",{},"/en-us/blog/authors/alisa-ho",{},"en-us/blog/authors/alisa-ho","WU4QiU5Np9PQ8aLtvZXnH41_rF4JeUvaD9lOvDqkzYw",{"id":906,"title":8,"body":192,"config":907,"content":908,"description":192,"extension":899,"meta":911,"navigation":196,"path":912,"seo":913,"stem":914,"__hash__":915},"blogAuthors/en-us/blog/authors/amit-shalem.yml",{"template":895},{"name":8,"config":909},{"headshot":910},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1789051782/t66kjqncbzsznqsokogo.png",{},"/en-us/blog/authors/amit-shalem",{},"en-us/blog/authors/amit-shalem","myYkfCRRxt-YcE_B3aEI5IBr8ZsVXHZ7UdbKwEabo4I",[],{"header":918,"text":919,"button":923,"disclaimer":926},"Comece sua avaliação gratuita de\n\n30 dias do GitLab\n",[920,921,922],"Acesso à GitLab Duo Agent Platform","Experimente nossos recursos mais avançados","Automatize tarefas complexas com IA",{"text":214,"config":924},{"href":925,"dataGaName":217,"dataGaLocation":443},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/pt-br/blog/","Não é necessário cartão de crédito.",{"header":928,"blurb":929,"button":930,"secondaryButton":935},"Comece a desenvolver mais rápido hoje","Veja o que sua equipe pode fazer com a plataforma de orquestração inteligente para DevSecOps.\n",{"text":931,"config":932},"Obtenha sua avaliação gratuita",{"href":933,"dataGaName":217,"dataGaLocation":934},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/pt-br/","feature",{"text":535,"config":936},{"href":537,"dataGaName":222,"dataGaLocation":934},1791365516783]