[{"data":1,"prerenderedAt":908},["ShallowReactive",2],{"/pt-br/blog/categories/security":3,"navigation-pt-br":22,"banner-pt-br":447,"footer-pt-br":454,"security-category-page-total-items-pt-br":706,"security-category-page-featured-pt-br":707,"security-category-page-1-pt-br":907},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":11,"description":6,"extension":13,"meta":14,"navigation":15,"path":16,"seo":17,"slug":6,"stem":20,"testContent":6,"type":6,"__hash__":21},"blogCategories/pt-br/blog/categories/security.yml","Security",null,{"template":8,"slug":9,"hide":10},"BlogCategory","security",false,{"name":12},"Segurança","yml",{},true,"/pt-br/blog/categories/security",{"title":18,"description":19},"Segurança | Blog do GitLab","Navegue por artigos relacionados a segurança cibernética no Blog do Gitlab em português. Veja nossas últimas matérias.","pt-br/blog/categories/security","w-bei6A4zMlhLwYXxtdWC1MeHUNY_eGSExWwHvtvzaQ",{"logo":23,"freeTrial":28,"sales":33,"login":38,"items":43,"search":364,"minimal":398,"duo":417,"switchNav":426,"pricingDeployment":437},{"config":24},{"href":25,"dataGaName":26,"dataGaLocation":27},"/pt-br/","gitlab logo","header",{"text":29,"config":30},"Obtenha uma avaliação gratuita",{"href":31,"dataGaName":32,"dataGaLocation":27},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br&glm_content=default-saas-trial/","free trial",{"text":34,"config":35},"Solicite uma demonstração",{"href":36,"dataGaName":37,"dataGaLocation":27},"/pt-br/sales/?contact-topic=request-demo","sales",{"text":39,"config":40},"Fazer login",{"href":41,"dataGaName":42,"dataGaLocation":27},"https://gitlab.com/users/sign_in/","sign in",[44,120,208,213,288,342],{"text":45,"left":15,"config":46,"menu":48},"Plataforma",{"dataNavLevelOne":47},"platform",{"type":49,"link":50,"columns":54,"feature":109},"lists",{"text":51,"config":52},"Conheça a plataforma",{"href":53,"dataGaName":47,"dataGaLocation":27},"/pt-br/platform/",[55,73,91],{"title":56,"items":57},"Execução e fluxos de trabalho",[58,63,68],{"text":59,"config":60},"CI/CD",{"href":61,"dataGaLocation":27,"dataGaName":62},"/pt-br/solutions/continuous-integration/","ci/cd",{"text":64,"config":65},"Gerenciamento de código-fonte",{"href":66,"dataGaLocation":27,"dataGaName":67},"/pt-br/solutions/source-code-management/","source code management",{"text":69,"config":70},"Entrega ágil",{"href":71,"dataGaLocation":27,"dataGaName":72},"/pt-br/solutions/agile-delivery/","agile delivery",{"title":74,"items":75},"Segurança e governança",[76,81,86],{"text":77,"config":78},"Testes de segurança de aplicações",{"href":79,"dataGaLocation":27,"dataGaName":80},"/pt-br/solutions/application-security-testing/","application security testing",{"text":82,"config":83},"Governança e conformidade",{"href":84,"dataGaLocation":27,"dataGaName":85},"/pt-br/solutions/software-compliance/","governance and compliance",{"text":87,"config":88},"Segurança da cadeia de suprimentos",{"href":89,"dataGaLocation":27,"dataGaName":90},"/pt-br/solutions/supply-chain/","supply chain security",{"title":92,"items":93},"Contexto e IA",[94,99,104],{"text":95,"config":96},"Orquestração agêntica",{"href":97,"dataGaLocation":27,"dataGaName":98},"/pt-br/gitlab-duo-agent-platform/","agentic orchestration",{"text":100,"config":101},"Grafo de contexto",{"href":102,"dataGaLocation":27,"dataGaName":103},"/pt-br/gitlab-orbit/","context graph",{"text":105,"config":106},"Visibilidade e métricas",{"href":107,"dataGaLocation":27,"dataGaName":108},"/pt-br/solutions/visibility-measurement/","visibility and measurement",{"config":110,"title":113,"text":114,"link":115},{"background":111,"textColor":112},"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":116,"config":117},"Saiba mais",{"href":118,"dataGaName":119,"dataGaLocation":27},"/pt-br/why-gitlab/","why gitlab",{"text":121,"left":15,"config":122,"menu":124},"Soluções",{"dataNavLevelOne":123},"solutions",{"type":49,"link":125,"columns":129,"feature":199},{"text":126,"config":127},"Confira todas as soluções",{"href":128,"dataGaName":123,"dataGaLocation":27},"/pt-br/solutions/",[130,148,166],{"title":131,"items":132},"Resultados",[133,138,143],{"text":134,"config":135},"Modernização de DevOps",{"href":136,"dataGaLocation":27,"dataGaName":137},"/pt-br/assessments/devops-modernization-assessment/","devops modernization",{"text":139,"config":140},"Modernização da segurança",{"href":141,"dataGaLocation":27,"dataGaName":142},"/pt-br/assessments/security-modernization-assessment/","security modernization",{"text":144,"config":145},"Modernização da IA",{"href":146,"dataGaLocation":27,"dataGaName":147},"/pt-br/assessments/ai-modernization-assessment/","ai modernization",{"title":149,"items":150},"Por tamanho",[151,156,161],{"text":152,"config":153},"Enterprise",{"href":154,"dataGaLocation":27,"dataGaName":155},"/pt-br/enterprise/","enterprise",{"text":157,"config":158},"Pequenas empresas",{"href":159,"dataGaLocation":27,"dataGaName":160},"/pt-br/small-business/","small business",{"text":162,"config":163},"Start-ups",{"href":164,"dataGaLocation":27,"dataGaName":165},"/pt-br/solutions/startups/","startups",{"title":167,"items":168},"Indústrias",[169,174,179,184,189,194],{"text":170,"config":171},"Serviços financeiros",{"href":172,"dataGaLocation":27,"dataGaName":173},"/pt-br/solutions/finance/","financial services",{"text":175,"config":176},"Setor público",{"href":177,"dataGaLocation":27,"dataGaName":178},"/pt-br/solutions/public-sector/","public sector",{"text":180,"config":181},"Telecomunicações",{"href":182,"dataGaLocation":27,"dataGaName":183},"/pt-br/solutions/telecommunications/","telecommunications",{"text":185,"config":186},"Serviços automotivos",{"href":187,"dataGaLocation":27,"dataGaName":188},"/pt-br/solutions/automotive/","automotive",{"text":190,"config":191},"Educação",{"href":192,"dataGaLocation":27,"dataGaName":193},"/pt-br/solutions/education/","education",{"text":195,"config":196},"Setor aeroespacial",{"href":197,"dataGaLocation":27,"dataGaName":198},"/pt-br/solutions/aerospace/","aerospace",{"config":200,"title":201,"text":202,"link":203},{"background":111,"textColor":112},"GitLab Transcend","Confira nossas inovações mais recentes, anunciadas no último Transcend.",{"text":204,"config":205},"Acesse o blog",{"href":206,"dataGaName":207,"dataGaLocation":27},"/blog/gitlab-transcend-announcements/","gitlab transcend",{"text":209,"config":210},"Preços",{"href":211,"dataGaName":212,"dataGaLocation":27,"dataNavLevelOne":212},"/pt-br/pricing/","pricing",{"text":214,"config":215,"menu":217},"Recursos",{"dataNavLevelOne":216},"resources",{"type":49,"link":218,"columns":222,"feature":279},{"text":219,"config":220},"Confira todos os recursos",{"href":221,"dataGaName":216,"dataGaLocation":27},"/pt-br/resources/",[223,251],{"title":224,"items":225},"Descubra",[226,231,236,241,246],{"text":227,"config":228},"Documentação",{"href":229,"dataGaName":230,"dataGaLocation":27},"https://docs.gitlab.com/","docs",{"text":232,"config":233},"University",{"href":234,"dataGaName":235,"dataGaLocation":27},"https://university.gitlab.com/","university",{"text":237,"config":238},"Demo Series",{"href":239,"dataGaName":240,"dataGaLocation":27},"/pt-br/gitlab-technical-demo-series/","demo series",{"text":242,"config":243},"Demo Hub",{"href":244,"dataGaName":245,"dataGaLocation":27},"/pt-br/demo-hub/","demo hub",{"text":247,"config":248},"Serviços",{"href":249,"dataGaName":250,"dataGaLocation":27},"/pt-br/services/","services",{"title":252,"items":253},"Conecte-se",[254,259,264,269,274],{"text":255,"config":256},"Blog",{"href":257,"dataGaName":258,"dataGaLocation":27},"/pt-br/blog/","blog",{"text":260,"config":261},"Comunidade",{"href":262,"dataGaName":263,"dataGaLocation":27},"/community/","community",{"text":265,"config":266},"Clientes",{"href":267,"dataGaName":268,"dataGaLocation":27},"/pt-br/customers/","customers",{"text":270,"config":271},"Parceiros",{"href":272,"dataGaName":273,"dataGaLocation":27},"/pt-br/partners/","partners",{"text":275,"config":276},"Eventos",{"href":277,"dataGaName":278,"dataGaLocation":27},"/events/","events",{"config":280,"title":281,"text":282,"link":283},{"background":111,"textColor":112},"Novidades no GitLab","Acompanhe as melhorias e os recursos mais recentes.",{"text":284,"config":285},"Confira as novidades",{"href":286,"dataGaName":287,"dataGaLocation":27},"/pt-br/whats-new/","whats new",{"text":289,"config":290,"menu":292},"Empresa",{"dataNavLevelOne":291},"company",{"type":49,"columns":293},[294],{"items":295},[296,301,307,312,317,322,327,332,337],{"text":297,"config":298},"Sobre",{"href":299,"dataGaName":300,"dataGaLocation":27},"/pt-br/company/","about",{"text":302,"config":303,"footerGa":306},"Vagas",{"href":304,"dataGaName":305,"dataGaLocation":27},"/jobs/","jobs",{"dataGaName":305},{"text":308,"config":309},"Imprensa",{"href":310,"dataGaName":311,"dataGaLocation":27},"/press/","press",{"text":313,"config":314},"Manual",{"href":315,"dataGaName":316,"dataGaLocation":27},"https://handbook.gitlab.com/","handbook",{"text":318,"config":319},"Liderança",{"href":320,"dataGaName":321,"dataGaLocation":27},"/company/team/e-group/","leadership",{"text":323,"config":324},"Relações com investidores",{"href":325,"dataGaName":326,"dataGaLocation":27},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":328,"config":329},"Trust Center",{"href":330,"dataGaName":331,"dataGaLocation":27},"/pt-br/security/","trust center",{"text":333,"config":334},"AI Transparency Center",{"href":335,"dataGaName":336,"dataGaLocation":27},"/pt-br/ai-transparency-center/","ai transparency center",{"text":338,"config":339},"Boletim informativo",{"href":340,"dataGaName":341,"dataGaLocation":27},"/company/contact/#contact-forms","newsletter",{"text":343,"config":344,"menu":345},"Entre em contato",{"dataNavLevelOne":291},{"type":49,"columns":346},[347],{"items":348},[349,354,359],{"text":350,"config":351},"Fale com a equipe de vendas",{"href":352,"dataGaName":353,"dataGaLocation":27},"/pt-br/sales/","talk to sales",{"text":355,"config":356},"Portal de ajuda",{"href":357,"dataGaName":358,"dataGaLocation":27},"https://support.gitlab.com/hc/en-us","support portal",{"text":360,"config":361},"Portal de clientes",{"href":362,"dataGaName":363,"dataGaLocation":27},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":365,"login":366,"suggestions":373},"Fechar",{"text":367,"link":368},"Para pesquisar repositórios e projetos, faça login em",{"text":369,"config":370},"gitlab.com",{"href":41,"dataGaName":371,"dataGaLocation":372},"search login","search",{"text":374,"default":375},"Sugestões",[376,379,383,385,390,395],{"text":377,"config":378},"GitLab Duo Agent Platform",{"href":97,"dataGaName":377,"dataGaLocation":372},{"text":380,"config":381},"Sugestões de código (AI)",{"href":97,"dataGaName":382,"dataGaLocation":372},"Code Suggestions (AI)",{"text":59,"config":384},{"href":61,"dataGaName":59,"dataGaLocation":372},{"text":386,"config":387},"GitLab na AWS",{"href":388,"dataGaName":389,"dataGaLocation":372},"/pt-br/partners/technology-partners/aws/","GitLab on AWS",{"text":391,"config":392},"GitLab no Google Cloud",{"href":393,"dataGaName":394,"dataGaLocation":372},"/pt-br/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":113,"config":396},{"href":118,"dataGaName":397,"dataGaLocation":372},"Why GitLab?",{"freeTrial":399,"mobileIcon":404,"desktopIcon":409,"secondaryButton":412},{"text":400,"config":401},"Iniciar avaliação gratuita",{"href":402,"dataGaName":32,"dataGaLocation":403},"https://gitlab.com/-/trials/new/","nav",{"altText":405,"config":406},"Ícone do GitLab",{"src":407,"dataGaName":408,"dataGaLocation":403},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":405,"config":410},{"src":411,"dataGaName":408,"dataGaLocation":403},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":413,"config":414},"Primeiros passos",{"href":415,"dataGaName":416,"dataGaLocation":403},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/pt-br/get-started/","get started",{"freeTrial":418,"mobileIcon":422,"desktopIcon":424},{"text":419,"config":420},"Saiba mais sobre o GitLab Duo",{"href":97,"dataGaName":421,"dataGaLocation":403},"gitlab duo",{"altText":405,"config":423},{"src":407,"dataGaName":408,"dataGaLocation":403},{"altText":405,"config":425},{"src":411,"dataGaName":408,"dataGaLocation":403},{"button":427,"mobileIcon":432,"desktopIcon":434},{"text":428,"config":429},"/switch",{"href":430,"dataGaName":431,"dataGaLocation":403},"#contact","switch",{"altText":405,"config":433},{"src":407,"dataGaName":408,"dataGaLocation":403},{"altText":405,"config":435},{"src":436,"dataGaName":408,"dataGaLocation":403},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":438,"mobileIcon":443,"desktopIcon":445},{"text":439,"config":440},"Voltar para preços",{"href":211,"dataGaName":441,"dataGaLocation":403,"icon":442},"back to pricing","GoBack",{"altText":405,"config":444},{"src":407,"dataGaName":408,"dataGaLocation":403},{"altText":405,"config":446},{"src":411,"dataGaName":408,"dataGaLocation":403},{"title":448,"button":449,"config":452},"GitLab Orbit chegou: a camada de contexto para agentes de IA.",{"text":116,"config":450},{"href":102,"dataGaName":451,"dataGaLocation":27},"orbit",{"layout":453,"disabled":10},"release",{"data":455},{"text":456,"source":457,"edit":463,"contribute":468,"config":473,"items":478,"minimal":695},"Git é uma marca comercial da Software Freedom Conservancy e nosso uso do nome \"GitLab\" está sob licença",{"text":458,"config":459},"Ver a origem da página",{"href":460,"dataGaName":461,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":464,"config":465},"Editar esta página",{"href":466,"dataGaName":467,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":469,"config":470},"Contribua",{"href":471,"dataGaName":472,"dataGaLocation":462},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":474,"facebook":475,"youtube":476,"linkedin":477},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[479,525,580,621,662],{"title":209,"links":480,"subMenu":495},[481,485,490],{"text":482,"config":483},"Confira os planos",{"href":211,"dataGaName":484,"dataGaLocation":462},"view plans",{"text":486,"config":487},"Por que escolher o GitLab Premium?",{"href":488,"dataGaName":489,"dataGaLocation":462},"/pt-br/pricing/premium/","why premium",{"text":491,"config":492},"Por que escolher o GitLab Ultimate?",{"href":493,"dataGaName":494,"dataGaLocation":462},"/pt-br/pricing/ultimate/","why ultimate",[496],{"title":497,"links":498},"Entre em contato conosco",[499,501,503,505,510,515,520],{"text":350,"config":500},{"href":352,"dataGaName":37,"dataGaLocation":462},{"text":355,"config":502},{"href":357,"dataGaName":358,"dataGaLocation":462},{"text":360,"config":504},{"href":362,"dataGaName":363,"dataGaLocation":462},{"text":506,"config":507},"Status",{"href":508,"dataGaName":509,"dataGaLocation":462},"https://status.gitlab.com/","status",{"text":511,"config":512},"Termos de uso",{"href":513,"dataGaName":514,"dataGaLocation":462},"/terms/","terms of use",{"text":516,"config":517},"Aviso de privacidade",{"href":518,"dataGaName":519,"dataGaLocation":462},"/pt-br/privacy/","privacy statement",{"text":521,"config":522},"Preferências de cookies",{"dataGaName":523,"dataGaLocation":462,"id":524,"isOneTrustButton":15},"cookie preferences","ot-sdk-btn",{"title":45,"links":526,"subMenu":537},[527,529,531,533,535],{"text":51,"config":528},{"href":53,"dataGaName":47,"dataGaLocation":462},{"text":95,"config":530},{"href":97,"dataGaName":98,"dataGaLocation":462},{"text":59,"config":532},{"href":61,"dataGaName":62,"dataGaLocation":462},{"text":100,"config":534},{"href":102,"dataGaName":103,"dataGaLocation":462},{"text":113,"config":536},{"href":118,"dataGaName":119,"dataGaLocation":462},[538],{"title":539,"links":540},"Tópicos",[541,545,550,555,560,565,570,575],{"text":59,"config":542},{"href":543,"dataGaName":544,"dataGaLocation":462},"/pt-br/topics/ci-cd/","cicd",{"text":546,"config":547},"GitOps",{"href":548,"dataGaName":549,"dataGaLocation":462},"/pt-br/topics/gitops/","gitops",{"text":551,"config":552},"DevOps",{"href":553,"dataGaName":554,"dataGaLocation":462},"/pt-br/topics/devops/","devops",{"text":556,"config":557},"Controle de versão",{"href":558,"dataGaName":559,"dataGaLocation":462},"/pt-br/topics/version-control/","version control",{"text":561,"config":562},"DevSecOps",{"href":563,"dataGaName":564,"dataGaLocation":462},"/pt-br/topics/devsecops/","devsecops",{"text":566,"config":567},"De nuvem nativa",{"href":568,"dataGaName":569,"dataGaLocation":462},"/pt-br/topics/cloud-native/","cloud native",{"text":571,"config":572},"IA para programação",{"href":573,"dataGaName":574,"dataGaLocation":462},"/pt-br/topics/devops/ai-for-coding/","ai for coding",{"text":576,"config":577},"IA agêntica",{"href":578,"dataGaName":579,"dataGaLocation":462},"/pt-br/topics/agentic-ai/","agentic ai",{"title":121,"links":581},[582,584,586,588,590,592,594,596,598,600,602,604,606,609,613,617],{"text":134,"config":583},{"href":136,"dataGaName":137,"dataGaLocation":462},{"text":139,"config":585},{"href":141,"dataGaName":142,"dataGaLocation":462},{"text":144,"config":587},{"href":146,"dataGaName":147,"dataGaLocation":462},{"text":170,"config":589},{"href":172,"dataGaName":173,"dataGaLocation":462},{"text":175,"config":591},{"href":177,"dataGaName":178,"dataGaLocation":462},{"text":180,"config":593},{"href":182,"dataGaName":183,"dataGaLocation":462},{"text":185,"config":595},{"href":187,"dataGaName":188,"dataGaLocation":462},{"text":190,"config":597},{"href":192,"dataGaName":193,"dataGaLocation":462},{"text":195,"config":599},{"href":197,"dataGaName":198,"dataGaLocation":462},{"text":152,"config":601},{"href":154,"dataGaName":155,"dataGaLocation":462},{"text":157,"config":603},{"href":159,"dataGaName":160,"dataGaLocation":462},{"text":162,"config":605},{"href":164,"dataGaName":165,"dataGaLocation":462},{"text":546,"config":607},{"href":608,"dataGaName":549,"dataGaLocation":462},"/pt-br/solutions/gitops/",{"text":610,"config":611},"Análise de composição de software",{"href":89,"dataGaName":612,"dataGaLocation":462},"software composition analysis",{"text":614,"config":615},"Gestão de fluxo de valor do GitLab",{"href":107,"dataGaName":616,"dataGaLocation":462},"value stream management",{"text":618,"config":619},"Todas as soluções",{"href":128,"dataGaName":620,"dataGaLocation":462},"all solutions",{"title":214,"links":622},[623,628,633,635,637,639,641,643,645,647,649,651,653,655,658],{"text":624,"config":625},"Instalação",{"href":626,"dataGaName":627,"dataGaLocation":462},"/pt-br/install/","install",{"text":629,"config":630},"Guias de início rápido",{"href":631,"dataGaName":632,"dataGaLocation":462},"/pt-br/get-started/","quick setup checklists",{"text":227,"config":634},{"href":229,"dataGaName":230,"dataGaLocation":462},{"text":232,"config":636},{"href":234,"dataGaName":235,"dataGaLocation":462},{"text":237,"config":638},{"href":239,"dataGaName":240,"dataGaLocation":462},{"text":242,"config":640},{"href":244,"dataGaName":245,"dataGaLocation":462},{"text":247,"config":642},{"href":249,"dataGaName":250,"dataGaLocation":462},{"text":255,"config":644},{"href":257,"dataGaName":258,"dataGaLocation":462},{"text":260,"config":646},{"href":262,"dataGaName":263,"dataGaLocation":462},{"text":265,"config":648},{"href":267,"dataGaName":268,"dataGaLocation":462},{"text":270,"config":650},{"href":272,"dataGaName":273,"dataGaLocation":462},{"text":275,"config":652},{"href":277,"dataGaName":278,"dataGaLocation":462},{"text":338,"config":654},{"href":340,"dataGaName":341,"dataGaLocation":462},{"text":656,"config":657},"Novidades",{"href":286,"dataGaName":287,"dataGaLocation":462},{"text":659,"config":660},"Todos os recursos",{"href":221,"dataGaName":661,"dataGaLocation":462},"all resources",{"title":289,"links":663},[664,666,668,670,672,674,676,678,680,685,690],{"text":297,"config":665},{"href":299,"dataGaName":291,"dataGaLocation":462},{"text":302,"config":667},{"href":304,"dataGaName":305,"dataGaLocation":462},{"text":308,"config":669},{"href":310,"dataGaName":311,"dataGaLocation":462},{"text":313,"config":671},{"href":315,"dataGaName":316,"dataGaLocation":462},{"text":318,"config":673},{"href":320,"dataGaName":321,"dataGaLocation":462},{"text":323,"config":675},{"href":325,"dataGaName":326,"dataGaLocation":462},{"text":328,"config":677},{"href":330,"dataGaName":331,"dataGaLocation":462},{"text":333,"config":679},{"href":335,"dataGaName":336,"dataGaLocation":462},{"text":681,"config":682},"Sustentabilidade",{"href":683,"dataGaName":684,"dataGaLocation":462},"/sustainability/","Sustainability",{"text":686,"config":687},"Diversidade, inclusão e pertencimento (DIB)",{"href":688,"dataGaName":689,"dataGaLocation":462},"/pt-br/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":691,"config":692},"Declaração de Transparência da Lei da Escravidão Moderna",{"href":693,"dataGaName":694,"dataGaLocation":462},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":696},[697,700,703],{"text":698,"config":699},"Termos",{"href":513,"dataGaName":514,"dataGaLocation":462},{"text":701,"config":702},"Cookies",{"dataGaName":523,"dataGaLocation":462,"id":524,"isOneTrustButton":15},{"text":704,"config":705},"Privacidade",{"href":518,"dataGaName":519,"dataGaLocation":462},1,{"id":708,"title":709,"authors":710,"body":713,"category":9,"date":892,"description":893,"extension":894,"externalUrl":6,"faq":6,"featured":10,"heroImage":895,"meta":896,"navigation":15,"path":897,"seo":898,"slug":900,"stem":901,"tags":902,"template":905,"updatedDate":6,"__hash__":906},"blogPosts/pt-br/blog/transcend-dependency-firewall.md","Dependency Firewall: bloqueie pacotes arriscados antes do build",[711,712],"Alisa Ho","Amit Shalem",{"type":714,"value":715,"toc":883},"minimark",[716,727,730,739,751,756,759,762,796,799,802,809,813,816,819,822,828,832,835,838,841,847,851,854,857,860,866,870],[717,718,719,720,726],"p",{},"Pacotes maliciosos podem aparecer disfarçados como pacotes confiáveis. Por exemplo, em junho de 2026, ",[721,722,725],"a",{"href":723,"rel":724},"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.",[717,728,729],{},"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.",[717,731,732,733,738],{},"O ",[721,734,737],{"href":735,"rel":736},"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.",[740,741,742],"blockquote",{},[717,743,744,745,750],{},"Assista à ",[721,746,749],{"href":747,"rel":748},"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.",[752,753,755],"h2",{"id":754},"bloqueie-pacotes-maliciosos-sem-quebrar-o-seu-build","Bloqueie pacotes maliciosos sem quebrar o seu build",[717,757,758],{},"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.",[717,760,761],{},"Com o Dependency Firewall, você decide o que pode entrar nos seus builds antes mesmo da instalação, definindo políticas para:",[763,764,765,778,784,790],"ol",{},[766,767,768,772,773],"li",{},[769,770,771],"strong",{},"Status malicioso"," — pacotes sinalizados no ",[721,774,777],{"href":775,"rel":776},"https://docs.gitlab.com/user/application_security/gitlab_advisory_database/#gitlab-malware-advisories",[],"banco de dados de avisos de malware do GitLab",[766,779,780,783],{},[769,781,782],{},"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",[766,785,786,789],{},[769,787,788],{},"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",[766,791,792,795],{},[769,793,794],{},"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",[717,797,798],{},"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.",[717,800,801],{},"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.",[717,803,804],{},[805,806],"img",{"alt":807,"src":808,"title":807},"Aplicação de políticas de segurança","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198870/smilnde9xskkyon7rzyn.jpg",[752,810,812],{"id":811},"defina-a-política-uma-vez-ou-personalize-por-time","Defina a política uma vez ou personalize por time",[717,814,815],{},"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.",[717,817,818],{},"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.",[717,820,821],{},"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.",[717,823,824],{},[805,825],{"alt":826,"src":827,"title":826},"Nova política do dependency firewall","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198870/aykp66qb64pskauvzbmm.jpg",[752,829,831],{"id":830},"verifique-um-pacote-antes-de-trazê-lo-para-o-projeto","Verifique um pacote antes de trazê-lo para o projeto",[717,833,834],{},"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.",[717,836,837],{},"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.",[717,839,840],{},"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.",[717,842,843],{},[805,844],{"alt":845,"src":846,"title":845},"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",[752,848,850],{"id":849},"veja-e-comprove-cada-decisão","Veja e comprove cada decisão",[717,852,853],{},"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.",[717,855,856],{},"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.",[717,858,859],{},"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.",[717,861,862],{},[805,863],{"alt":864,"src":865,"title":864},"Dashboard do Dependency Firewall","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198871/oiieystaargq3ctrqfs1.jpg",[752,867,869],{"id":868},"tenha-acesso-antecipado-ao-gitlab-dependency-firewall","Tenha acesso antecipado ao GitLab Dependency Firewall",[717,871,872,873,878,879],{},"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 ",[721,874,877],{"href":875,"rel":876},"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. ",[721,880,882],{"href":735,"rel":881},[],"Solicite seu acesso antecipado agora mesmo!",{"title":884,"searchDepth":885,"depth":885,"links":886},"",2,[887,888,889,890,891],{"id":754,"depth":885,"text":755},{"id":811,"depth":885,"text":812},{"id":830,"depth":885,"text":831},{"id":849,"depth":885,"text":850},{"id":868,"depth":885,"text":869},"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","https://res.cloudinary.com/about-gitlab-com/image/upload/v1791198675/kmajkudog4fj3xc6qfyb.png",{},"/pt-br/blog/transcend-dependency-firewall",{"config":899,"title":709,"description":893},{"noIndex":10},"transcend-dependency-firewall","pt-br/blog/transcend-dependency-firewall",[903,904],"features","product","BlogPost","DOuJMRur-h-q172L-ChhTEkPIWvaJ41XADWl4s1nvgw",[],1791407678523]