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