[{"data":1,"prerenderedAt":487},["ShallowReactive",2],{"/pt-br/the-source/authors/joel-krooswyk/":3,"footer-pt-br":34,"the-source-banner-pt-br":342,"the-source-navigation-pt-br":354,"the-source-newsletter-pt-br":381,"authors-pt-br":392,"categories-pt-br":422,"joel-krooswyk-articles-list-pt-br":423},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"config":8,"seo":10,"content":12,"type":26,"slug":27,"_id":28,"_type":29,"title":11,"_source":30,"_file":31,"_stem":32,"_extension":33},"/pt-br/the-source/authors/joel-krooswyk","authors",false,"",{"layout":9},"the-source",{"title":11},"Joel Krooswyk",[13,24],{"componentName":14,"componentContent":15},"TheSourceAuthorHero",{"config":16,"name":11,"role":19,"bio":20,"headshot":21},{"gitlabHandle":17,"linkedInProfileUrl":18},"jkrooswyk","https://www.linkedin.com/in/joelrkrooswyk/","CTO Nacional","Joel Krooswyk é o Diretor de Tecnologia Nacional do GitLab. Ele colabora ativamente para o crescimento do GitLab desde 2017. Seus 25 anos de experiência em liderança abrangem não apenas o setor público dos EUA, mas também empresas pequenas e médias e empresas internacionais. Joel combina seu profundo conhecimento em políticas governamentais com uma vasta experiência em tecnologia, desenvolvimento de software, IA e cibersegurança. Com frequência, é convidado pelo setor e por agências a comentar e responder perguntas sobre políticas.",{"altText":11,"config":22},{"src":23},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463423/mkmdhuxsjggfvokdmdv7.jpg",{"componentName":25},"TheSourceArticlesList","author","joel-krooswyk","content:pt-br:the-source:authors:joel-krooswyk.yml","yaml","content","pt-br/the-source/authors/joel-krooswyk.yml","pt-br/the-source/authors/joel-krooswyk","yml",{"_path":35,"_dir":36,"_draft":6,"_partial":6,"_locale":7,"data":37,"_id":338,"_type":29,"title":339,"_source":30,"_file":340,"_stem":341,"_extension":33},"/shared/pt-br/main-footer","pt-br",{"text":38,"source":39,"edit":45,"contribute":50,"config":55,"items":60,"minimal":330},"Git é uma marca comercial da Software Freedom Conservancy e nosso uso do nome \"GitLab\" está sob licença",{"text":40,"config":41},"Acessar a origem da página",{"href":42,"dataGaName":43,"dataGaLocation":44},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":46,"config":47},"Editar esta página",{"href":48,"dataGaName":49,"dataGaLocation":44},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":51,"config":52},"Contribua",{"href":53,"dataGaName":54,"dataGaLocation":44},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":56,"facebook":57,"youtube":58,"linkedin":59},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[61,88,161,229,291],{"title":62,"links":63,"subMenu":69},"Plataforma",[64],{"text":65,"config":66},"Plataforma DevSecOps",{"href":67,"dataGaName":68,"dataGaLocation":44},"/pt-br/platform/","devsecops platform",[70],{"title":71,"links":72},"Preços",[73,78,83],{"text":74,"config":75},"Confira os planos",{"href":76,"dataGaName":77,"dataGaLocation":44},"/pt-br/pricing/","view plans",{"text":79,"config":80},"Por que escolher o GitLab Premium?",{"href":81,"dataGaName":82,"dataGaLocation":44},"/pt-br/pricing/premium/","why premium",{"text":84,"config":85},"Por que escolher o GitLab Ultimate?",{"href":86,"dataGaName":87,"dataGaLocation":44},"/pt-br/pricing/ultimate/","why ultimate",{"title":89,"links":90},"Soluções",[91,96,101,106,111,116,121,126,131,136,141,146,151,156],{"text":92,"config":93},"Transformação digital",{"href":94,"dataGaName":95,"dataGaLocation":44},"/pt-br/topics/digital-transformation/","digital transformation",{"text":97,"config":98},"Segurança e conformidade",{"href":99,"dataGaName":100,"dataGaLocation":44},"/solutions/application-security-testing/","Application security testing",{"text":102,"config":103},"Entrega de software automatizada",{"href":104,"dataGaName":105,"dataGaLocation":44},"/solutions/delivery-automation/","automated software delivery",{"text":107,"config":108},"Desenvolvimento ágil",{"href":109,"dataGaName":110,"dataGaLocation":44},"/pt-br/solutions/agile-delivery/","agile delivery",{"text":112,"config":113},"Migração para a nuvem",{"href":114,"dataGaName":115,"dataGaLocation":44},"/pt-br/topics/cloud-native/","cloud transformation",{"text":117,"config":118},"SCM",{"href":119,"dataGaName":120,"dataGaLocation":44},"/pt-br/solutions/source-code-management/","source code management",{"text":122,"config":123},"CI/CD",{"href":124,"dataGaName":125,"dataGaLocation":44},"/pt-br/solutions/continuous-integration/","continuous integration & delivery",{"text":127,"config":128},"Gestão de fluxo de valor",{"href":129,"dataGaName":130,"dataGaLocation":44},"/pt-br/solutions/value-stream-management/","value stream management",{"text":132,"config":133},"GitOps",{"href":134,"dataGaName":135,"dataGaLocation":44},"/pt-br/solutions/gitops/","gitops",{"text":137,"config":138},"Grandes empresas",{"href":139,"dataGaName":140,"dataGaLocation":44},"/pt-br/enterprise/","enterprise",{"text":142,"config":143},"Pequenas empresas",{"href":144,"dataGaName":145,"dataGaLocation":44},"/pt-br/small-business/","small business",{"text":147,"config":148},"Setor público",{"href":149,"dataGaName":150,"dataGaLocation":44},"/pt-br/solutions/public-sector/","public sector",{"text":152,"config":153},"Educação",{"href":154,"dataGaName":155,"dataGaLocation":44},"/pt-br/solutions/education/","education",{"text":157,"config":158},"Serviços financeiros",{"href":159,"dataGaName":160,"dataGaLocation":44},"/pt-br/solutions/finance/","financial services",{"title":162,"links":163},"Recursos",[164,169,174,179,184,189,194,199,204,209,214,219,224],{"text":165,"config":166},"Instalação",{"href":167,"dataGaName":168,"dataGaLocation":44},"/pt-br/install/","install",{"text":170,"config":171},"Guias de início rápido",{"href":172,"dataGaName":173,"dataGaLocation":44},"/pt-br/get-started/","quick setup checklists",{"text":175,"config":176},"Saiba mais",{"href":177,"dataGaName":178,"dataGaLocation":44},"https://university.gitlab.com/","learn",{"text":180,"config":181},"Documentação do produto",{"href":182,"dataGaName":183,"dataGaLocation":44},"https://docs.gitlab.com/","docs",{"text":185,"config":186},"Blog",{"href":187,"dataGaName":188,"dataGaLocation":44},"/blog/","blog",{"text":190,"config":191},"Histórias de sucesso de clientes",{"href":192,"dataGaName":193,"dataGaLocation":44},"/pt-br/customers/","customer success stories",{"text":195,"config":196},"Trabalho remoto",{"href":197,"dataGaName":198,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":200,"config":201},"Serviços do GitLab",{"href":202,"dataGaName":203,"dataGaLocation":44},"/pt-br/services/","services",{"text":205,"config":206},"TeamOps",{"href":207,"dataGaName":208,"dataGaLocation":44},"/pt-br/teamops/","teamops",{"text":210,"config":211},"Comunidade",{"href":212,"dataGaName":213,"dataGaLocation":44},"/community/","community",{"text":215,"config":216},"Fórum",{"href":217,"dataGaName":218,"dataGaLocation":44},"https://forum.gitlab.com/","forum",{"text":220,"config":221},"Eventos",{"href":222,"dataGaName":223,"dataGaLocation":44},"/events/","events",{"text":225,"config":226},"Parceiros",{"href":227,"dataGaName":228,"dataGaLocation":44},"/partners/","partners",{"title":230,"links":231},"Empresa",[232,237,242,247,252,257,262,266,271,276,281,286],{"text":233,"config":234},"Sobre",{"href":235,"dataGaName":236,"dataGaLocation":44},"/pt-br/company/","company",{"text":238,"config":239},"Vagas",{"href":240,"dataGaName":241,"dataGaLocation":44},"/jobs/","jobs",{"text":243,"config":244},"Liderança",{"href":245,"dataGaName":246,"dataGaLocation":44},"/company/team/e-group/","leadership",{"text":248,"config":249},"Equipe",{"href":250,"dataGaName":251,"dataGaLocation":44},"/company/team/","team",{"text":253,"config":254},"Manual",{"href":255,"dataGaName":256,"dataGaLocation":44},"https://handbook.gitlab.com/","handbook",{"text":258,"config":259},"Relacionamento com investidores",{"href":260,"dataGaName":261,"dataGaLocation":44},"https://ir.gitlab.com/","investor relations",{"text":263,"config":264},"Sustainability",{"href":265,"dataGaName":263,"dataGaLocation":44},"/sustainability/",{"text":267,"config":268},"Diversidade, inclusão e pertencimento (DIB)",{"href":269,"dataGaName":270,"dataGaLocation":44},"/pt-br/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":272,"config":273},"Trust Center",{"href":274,"dataGaName":275,"dataGaLocation":44},"/pt-br/security/","trust center",{"text":277,"config":278},"Boletim informativo",{"href":279,"dataGaName":280,"dataGaLocation":44},"/company/contact/","newsletter",{"text":282,"config":283},"Imprensa",{"href":284,"dataGaName":285,"dataGaLocation":44},"/press/","press",{"text":287,"config":288},"Declaração de Transparência da Lei da Escravidão Moderna",{"href":289,"dataGaName":290,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":292,"links":293},"Fale com a gente",[294,299,304,309,314,319,324],{"text":295,"config":296},"Fale com um especialista",{"href":297,"dataGaName":298,"dataGaLocation":44},"/pt-br/sales/","sales",{"text":300,"config":301},"Ajuda",{"href":302,"dataGaName":303,"dataGaLocation":44},"/support/","get help",{"text":305,"config":306},"Portal de clientes",{"href":307,"dataGaName":308,"dataGaLocation":44},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"text":310,"config":311},"Status",{"href":312,"dataGaName":313,"dataGaLocation":44},"https://status.gitlab.com/","status",{"text":315,"config":316},"Termos de uso",{"href":317,"dataGaName":318,"dataGaLocation":44},"/terms/","terms of use",{"text":320,"config":321},"Aviso de Privacidade",{"href":322,"dataGaName":323,"dataGaLocation":44},"/pt-br/privacy/","privacy statement",{"text":325,"config":326},"Preferências de cookies",{"dataGaName":327,"dataGaLocation":44,"id":328,"isOneTrustButton":329},"cookie preferences","ot-sdk-btn",true,{"items":331},[332,334,336],{"text":315,"config":333},{"href":317,"dataGaName":318,"dataGaLocation":44},{"text":320,"config":335},{"href":322,"dataGaName":323,"dataGaLocation":44},{"text":325,"config":337},{"dataGaName":327,"dataGaLocation":44,"id":328,"isOneTrustButton":329},"content:shared:pt-br:main-footer.yml","Main Footer","shared/pt-br/main-footer.yml","shared/pt-br/main-footer",{"_path":343,"_dir":344,"_draft":6,"_partial":6,"_locale":7,"id":345,"visibility":329,"title":346,"button":347,"_id":351,"_type":29,"_source":30,"_file":352,"_stem":353,"_extension":33},"/shared/pt-br/the-source/banner/the-economics-of-software-innovation-2025-08-18","banner","The Economics of Software Innovation","The Economics of Software Innovation—AI’s $750 Billion Opportunity",{"config":348,"text":350},{"href":349},"/software-innovation-report/","Get the research report","content:shared:pt-br:the-source:banner:the-economics-of-software-innovation-2025-08-18.yml","shared/pt-br/the-source/banner/the-economics-of-software-innovation-2025-08-18.yml","shared/pt-br/the-source/banner/the-economics-of-software-innovation-2025-08-18",{"_path":355,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"logo":356,"subscribeLink":361,"navItems":365,"_id":377,"_type":29,"title":378,"_source":30,"_file":379,"_stem":380,"_extension":33},"/shared/pt-br/the-source/navigation",{"altText":357,"config":358},"the source logo",{"src":359,"href":360},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750191004/t7wz1klfb2kxkezksv9t.svg","/pt-br/the-source/",{"text":362,"config":363},"Assinar",{"href":364},"#subscribe",[366,370,373],{"text":367,"config":368},"Inteligência artificial",{"href":369},"/pt-br/the-source/ai/",{"text":97,"config":371},{"href":372},"/pt-br/the-source/security/",{"text":374,"config":375},"Plataforma e infraestrutura",{"href":376},"/pt-br/the-source/platform/","content:shared:pt-br:the-source:navigation.yml","Navigation","shared/pt-br/the-source/navigation.yml","shared/pt-br/the-source/navigation",{"_path":382,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"title":383,"description":384,"submitMessage":385,"formData":386,"_id":389,"_type":29,"_source":30,"_file":390,"_stem":391,"_extension":33},"/shared/pt-br/the-source/newsletter","Boletim informativo The Source","Fique por dentro dos insights para o futuro do desenvolvimento de software.","Você se inscreveu com sucesso no boletim informativo The Source.",{"config":387},{"formId":388,"formName":280,"hideRequiredLabel":329},28471,"content:shared:pt-br:the-source:newsletter.yml","shared/pt-br/the-source/newsletter.yml","shared/pt-br/the-source/newsletter",{"amanda-rueda":393,"andre-michael-braun":394,"andrew-haschka":395,"ayoub-fandi":396,"brian-wald":397,"bryan-ross":398,"chandler-gibbons":399,"dave-steer":400,"ddesanto":401,"derek-debellis":402,"emilio-salvador":403,"erika-feldman":404,"george-kichukov":405,"gitlab":406,"grant-hickman":407,"haim-snir":408,"iganbaruch":409,"jlongo":410,"joel-krooswyk":11,"josh-lemos":411,"julie-griffin":412,"kristina-weis":413,"lee-faus":414,"ncregan":415,"rschulman":416,"sabrina-farmer":417,"sandra-gittlen":418,"sharon-gaudin":419,"stephen-walters":420,"taylor-mccaslin":421},"Amanda Rueda","Andre Michael Braun","Andrew Haschka","Ayoub Fandi","Brian Wald","Bryan Ross","Chandler Gibbons","Dave Steer","David DeSanto","Derek DeBellis","Emilio Salvador","Erika Feldman","George Kichukov","GitLab","Grant Hickman","Haim Snir","Itzik Gan Baruch","Joseph Longo","Josh Lemos","Julie Griffin","Kristina Weis","Lee Faus","Niall Cregan","Robin Schulman","Sabrina Farmer","Sandra Gittlen","Sharon Gaudin","Stephen Walters","Taylor McCaslin",{"ai":367,"platform":374,"security":97},{"allArticles":424,"visibleArticles":486,"showAllBtn":329},[425,466],{"_path":426,"_dir":427,"_draft":6,"_partial":6,"_locale":7,"slug":428,"type":429,"category":427,"config":430,"seo":433,"content":437,"_id":463,"_type":29,"title":438,"_source":30,"_file":464,"_stem":465,"_extension":33,"heroImage":436,"description":439,"timeToRead":440,"date":441,"articleBody":442,"keyTakeaways":443,"faq":447},"/pt-br/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help","security","why-legacy-code-is-a-security-risk-and-how-ai-can-help","article",{"layout":9,"template":431,"featured":6,"author":27,"sourceCTA":432,"isHighlighted":6,"authorName":11},"TheSourceArticle","source-lp-how-a-devsecops-platform-drives-business-success-the-complete-guide",{"title":434,"ogTitle":434,"description":435,"ogDescription":435,"ogImage":436,"noIndex":329},"Como a IA resolve problemas de segurança do código legado","Descubra como a refatoração de código com tecnologia de IA pode modernizar sistemas legados, reforçar a segurança e preparar sua empresa para o futuro.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463670/cdynzww9p2annh3mmbhl.png",{"heroImage":436,"title":438,"description":439,"timeToRead":440,"date":441,"articleBody":442,"keyTakeaways":443,"faq":447},"Por que o código legado compromete a segurança e como a IA pode ajudar a resolver o problema","Descubra como a refatoração de código com tecnologia de IA pode modernizar sistemas legados, aprimorar seus protocolos de segurança e alinhar sua empresa às demandas do futuro.","6 min de leitura","2025-01-15T00:00:00.000Z","O ritmo acelerado da tecnologia de hoje é incrível. Isso significa que novos produtos e oportunidades de crescimento e inovação estão por toda parte. Mas essa velocidade de crescimento e transformação também traz desafios, especialmente em relação à segurança: basta um agente mal-intencionado para causar grandes interrupções nos negócios, danos à reputação e perda de receita.\n\nVocê provavelmente já ouviu líderes do setor falarem sobre a necessidade de transformação digital e a preocupante dependência de sistemas desatualizados ou \"legados\". Embora o código legado não seja problemático por natureza, ele geralmente não é compatível com as ferramentas de segurança modernas, o que pode resultar em vulnerabilidades exploráveis. Somado ao uso de código aberto, que exige atenção constante à segurança, sua base de código pode estar colocando em risco os dados da sua empresa, seus usuários e sua reputação. \n\nDo ponto de vista da segurança e da conformidade, o código legado representa riscos. Mantê-lo também é caro e demorado, especialmente se a equipe já não conta com desenvolvedores que dominam esse conhecimento antigo. \n\nNo fim das contas, essa dependência generalizada de código legado no setor é uma prática preocupante e onerosa. Então, como sair desse cenário?  \n\nA seguir, vamos explorar o que é código legado e como as empresas podem aumentar a segurança do codebase com refatoração de código com tecnologia de IA. Combinada a recursos de testes e segurança orientados por IA, essa estratégia prepara seu codebase para o futuro e oferece à sua equipe inteira a confiança necessária para focar no que vem pela frente. \n\n## O que é código legado? \n\nDe forma geral, código legado se refere a um codebase atual herdado de membros anteriores da equipe e que continua sendo utilizado e mantido. O código pode até funcionar bem, mas é provável que diversos desenvolvedores o tenham modificado ao longo dos anos. A equipe atual pode ter dificuldade para identificar quais modificações são valiosas e quais não são. Além disso, o código pode ter sido escrito em uma estrutura desatualizada ou em uma linguagem de programação que ninguém da equipe conhece (seja por ser apenas antiga ou completamente obsoleta). \n\nPode parecer estranho que as empresas ainda dependam de código legado. Embora os motivos variem, pense da seguinte forma: você mora em uma casa antiga. Ela é aconchegante e familiar, mas o encanamento é instável, a fiação está ultrapassada e, sempre que você conserta uma coisa, outra quebra. Claro, você poderia reformá-la, mas isso significaria um trabalho enorme: empreiteiros, licenças, meses vivendo em meio ao caos e custos que podem sair do controle.\n\nEntão, você continua fazendo remendos, torcendo pelo melhor. Não é o ideal, mas funciona, por enquanto. É mais ou menos assim com o código legado. É a solução conhecida e \"funcional\", mesmo que seja instável e ineficiente. Reescrevê-lo do zero é uma perspectiva assustadora, com seus próprios riscos e custos. Além disso, quem tem tempo para uma reformulação completa quando há novos recursos a desenvolver e bugs urgentes para corrigir?\n\nAo atualizar o código, muitas empresas optam por manter o código legado porque isso costuma ser menos disruptivo no curto prazo. Uma atualização exige muito trabalho de desenvolvimento e testes. Também pode envolver o treinamento de equipes para garantir que tenham as habilidades necessárias para processar a linguagem de código ou a estrutura desatualizada. Quando não há documentação, navegar por esse processo pode ser ainda mais desafiador.   \n\n## Qual é o problema do código legado?\n\nSe a sua empresa decidir manter o código legado, como muitas fazem, estará se expondo a uma série de possíveis problemas. Como esse código não foi projetado para tecnologias mais recentes, talvez ele não seja compatível com tipos de software mais modernos (como ferramentas de IA, por exemplo), o que pode impactar o desempenho e a capacidade de ajuste de escala dos seus produtos. Isso pode gerar atrasos e prejudicar a experiência do usuário no futuro. \n\nO que mais preocupa em relação ao código legado, seja ele de cinco ou 50 anos atrás, é que talvez não existam scanners de segurança compatíveis com ele. Isso significa que você não conseguirá detectar falhas por conta própria ao fazer atualizações. Além disso, os desenvolvedores responsáveis por essas atualizações podem não conhecer bem a linguagem ou sua estrutura e, sem querer, acabar criando ainda mais vulnerabilidades no processo. Por fim, aplicações mais antigas costumam ser escritas em C ou C++, linguagens inseguras em relação à memória, responsáveis por cerca de [70% das vulnerabilidades identificadas]( https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products ).\n\nEsses três fatores (a dificuldade em proteger o código legado, as poucas opções seguras de atualização e o maior risco de vulnerabilidades) devem ser encarados como sinais de alerta para empresas de todos os setores. \n\nAo desenvolver um catálogo de práticas prejudiciais que colocam em risco a infraestrutura crítica, a [Agência de Segurança Cibernética e de Infraestrutura]( https://www.cisa.gov/stopransomware/bad-practices ) dos EUA incluiu a seguinte observação:\n\n“O uso de software descontinuado (ou fora do ciclo de vida) em serviços relacionados à infraestrutura crítica e às funções nacionais essenciais é perigoso e eleva significativamente o risco à segurança nacional, à segurança econômica nacional e à saúde e segurança públicas. Essa prática é especialmente grave em tecnologias acessíveis pela internet”.\n\nMesmo que você não atue com segurança nacional ou saúde pública, esse alerta continua válido: usar código antigo não é uma prática recomendada. É uma escolha ruim. \n\n## A solução: refatoração de código\n\nDe acordo com o desenvolvedor e autor de software [Martin Fowler]( https://www.martinfowler.com/ ), “Refatoração é uma técnica controlada para melhorar o design de um codebase atual, uma técnica disciplinada para reestruturar um corpo de código, alterando sua estrutura interna sem modificar seu comportamento externo”. \n\nEm outras palavras, a refatoração de código permite modernizar e proteger o código legado sem comprometer sua funcionalidade original. \n\nExistem várias técnicas de refatoração, como a refatoração inline, que simplifica o código ao remover elementos obsoletos, e a refatoração por abstração, que elimina trechos duplicados. O importante é saber que a refatoração de código exige tempo e um alto nível de conhecimento técnico por parte da equipe de desenvolvimento. Além disso, demanda muitos testes, o que pode ser um desafio quando a equipe já está ocupada com outras tarefas. \n\nPortanto, embora a refatoração de código seja, sem dúvida, o caminho para tornar seu código legado mais legível, eficiente e seguro, trata-se de um projeto por si só, especialmente quando aplicado em grande escala. \n\n## Como a IA pode ajudar\n\nSabemos que a IA já está acelerando o ciclo de vida do desenvolvimento de software. E [ela também pode ser uma grande aliada para acelerar o processo de refatoração]( https://about.gitlab.com/blog/2024/08/26/refactor-code-into-modern-languages-with-ai-powered-gitlab-duo/). Por exemplo, ferramentas como o [GitLab Duo](https://about.gitlab.com/blog/2024/04/18/gitlab-duo-chat-now-generally-available/) ajudam a explicar o código atual e a criar novos trechos de código, dois dos maiores obstáculos ao modernizar o codebase legado. Se um desenvolvedor não estiver familiarizado com determinada linguagem, a IA poderá preencher essas lacunas. Em relação a testes e segurança, a IA também pode [analisar as causas raiz, gerar testes](https://about.gitlab.com/blog/2024/06/06/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/) e [ajudar os desenvolvedores a remediar vulnerabilidades](https://about.gitlab.com/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/). Com IA no seu conjunto de ferramentas, a refatoração de código finalmente se torna mais viável e acessível, permitindo que esse projeto saia do backlog de uma vez por todas. \n\nDe acordo com [nossa pesquisa](https://about.gitlab.com/developer-survey/2024/ai/), 34% dos participantes que usam IA no ciclo de vida do desenvolvimento de software já a utilizam para modernizar código legado. No setor de serviços financeiros, esse número sobe para 46%. \n\nClaro que, ao começar a usar a IA em qualquer etapa do processo, é importante considerar alguns pontos. \n\nA IA não é perfeita. Ela ainda exige testes, parâmetros e supervisão humana. Ou seja, embora consiga facilitar e acelerar tarefas manuais críticas e demoradas, não pode realizar esse trabalho sozinha. Principalmente no que diz respeito à segurança, é essencial adotar outras ferramentas para manter seu código o mais protegido possível. Recomendamos a criação de uma [lista de materiais de software dinâmica]( https://about.gitlab.com/blog/2022/10/25/the-ultimate-guide-to-sboms/) (ou SBOM) para ter visibilidade total sobre riscos de licenças e segurança relacionados ao seu software, inclusive o código legado.\n\n## Transforme seu codebase em uma base segura para o futuro\n\nEmbora modernizar o codebase legado possa parecer uma tarefa assustadora, esse é o melhor caminho se você quiser manter os dados da sua empresa e dos usuários em segurança. Com as ferramentas e métodos certos, essa jornada pode ser mais eficiente para as equipes e mais econômica para a empresa. \n\nA boa notícia é que suas equipes não precisam gastar tempo e recursos tentando decifrar linguagens antigas ou lidar com estruturas obsoletas, o que costuma gerar frustração, atrasos e gargalos. Ao deixar que a IA assuma o trabalho pesado de refatorar o código, garantindo que ele esteja seguro e funcionando como deve, os desenvolvedores podem se concentrar no que fazem de melhor: criar novos produtos e recursos, além de gerar valor para os clientes.",[444,445,446],"Manter código legado é caro, consome tempo e, quando incompatível com as ferramentas de segurança mais recentes, pode representar um risco sério para empresas de diversos setores.","A refatoração de código é uma estratégia que ajuda a torná-lo mais legível, aumentando a estabilidade do codebase, bem como a produtividade e eficiência dos desenvolvedores.","Combinada a ferramentas de segurança preventiva, a refatoração de código com tecnologia de IA ajuda as equipes a modernizar código legado e, ao mesmo tempo, reduzir o risco de vulnerabilidades de segurança.",[448,451,454,457,460],{"header":449,"content":450},"Por que o código legado é considerado um risco à segurança?","O código legado representa um risco porque, muitas vezes, utiliza estruturas ou linguagens de programação obsoletas, sem as proteções modernas contra ameaças. Isso o torna incompatível com as ferramentas de segurança atuais, o que aumenta a chance de vulnerabilidades. Além disso, softwares descontinuados ou fora de ciclo de vida são mais fáceis de explorar por agentes mal-intencionados, comprometendo a integridade e a segurança dos dados.",{"header":452,"content":453},"Como a refatoração de código com tecnologia de IA pode aumentar a segurança do código legado?","A refatoração com IA moderniza sistemas legados ao:\n - Identificar padrões de código desatualizados ou inseguros e sugerir alternativas mais seguras\n - Automatizar melhorias no código sem alterar seu comportamento externo, o que facilita a leitura e a capacidade de manutenção\n - Gerar testes de segurança e analisar as causas de vulnerabilidades, acelerando a correção de falhas\nEssa abordagem reduz o esforço manual e agiliza a transição para um codebase mais seguro, eficiente e dimensionável.",{"header":455,"content":456},"Quais são os desafios de manter código legado sem o uso de IA?","Alguns dos principais desafios incluem:\n - __Incompatibilidade com práticas modernas de segurança__: os scanners de segurança tradicionais nem sempre são compatíveis com o código legado\n - __Estruturas complexas e desatualizadas__: as equipes de desenvolvedores podem não ter o conhecimento necessário para manter ou atualizar código legado\n - __Altos custos de manutenção__: o tempo e os recursos gastos com sistemas legados desviam o foco da inovação\n - __Riscos à segurança__: códigos desatualizados estão mais sujeitos a vulnerabilidades e ataques, aumentando o risco de violação de dados",{"header":458,"content":459},"Como o GitLab contribui para a modernização de código legado com refatoração baseada em IA?","O GitLab usa o GitLab Duo para ajudar desenvolvedores a compreenderem o código legado, oferecendo explicações e gerando novos trechos de código. A plataforma também inclui:\n - Análises de segurança orientadas por IA para identificar vulnerabilidades em código legado\n - Testes e correções automatizados para reforçar a segurança do código\n - Criação de listas de materiais de software (SBOMs) dinâmicas que oferecem visibilidade sobre riscos de licenças e segurança, inclusive em componentes legados",{"header":461,"content":462},"Quais são os benefícios de usar IA na refatoração de código legado?","Os benefícios incluem:\n - __Mais segurança__: a IA identifica e corrige vulnerabilidades, fortalecendo a proteção do codebase\n - __Maior produtividade__: a automatização de tarefas repetitivas permite que os desenvolvedores possam se concentrar em inovação\n - __Redução de custos__: a modernização do código diminui os custos de manutenção ao torná-lo compatível com estruturas e ferramentas atuais\n - __Modernização em grande escala__: a IA permite uma refatoração uniforme e dimensionável, garantindo o futuro dos ativos de software da empresa","content:pt-br:the-source:security:why-legacy-code-is-a-security-risk-and-how-ai-can-help.yml","pt-br/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help.yml","pt-br/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help",{"_path":467,"_dir":427,"_draft":6,"_partial":6,"_locale":7,"config":468,"seo":470,"content":475,"type":429,"category":427,"slug":482,"_id":483,"_type":29,"title":471,"_source":30,"_file":484,"_stem":485,"_extension":33,"date":476,"description":472,"timeToRead":440,"heroImage":473,"keyTakeaways":477,"articleBody":481},"/pt-br/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",{"layout":9,"template":431,"author":27,"featured":6,"sourceCTA":469,"isHighlighted":6,"authorName":11},"source-lp-guide-to-dynamic-sboms",{"title":471,"description":472,"ogImage":473,"config":474},"Fortaleça sua estratégia de cibersegurança com o Seguro por Design","Saiba mais sobre o Seguro por Design, conceitos relacionados e quais etapas seguir para integrar a segurança nos processos de desenvolvimento de software.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463932/pnfdgovoaq5qd1yprxuc.png",{"ignoreTitleCharLimit":329,"ignoreDescriptionCharLimit":329},{"title":471,"date":476,"description":472,"timeToRead":440,"heroImage":473,"keyTakeaways":477,"articleBody":481},"2024-10-29",[478,479,480],"Seguro por Design, Seguro por Padrão e Seguro por Demanda evitam vulnerabilidades e ataques à cadeia de suprimentos de software, incentivando fabricantes a incorporar segurança em todas as etapas do design e desenvolvimento de produtos.","Adotar uma abordagem abrangente de DevSecOps e criar e manter listas de materiais de software (SBOMs) são etapas essenciais para seguir os princípios de Seguro por Design.","Incorporar a IA ao ciclo de vida do desenvolvimento de software também pode agilizar os processos de desenvolvimento, aprimorar a segurança e ajudar na resolução de vulnerabilidades.","A abordagem de cibersegurança de uma empresa deve evoluir constantemente conforme as superfícies de ataque aumentam e sabe-se mais sobre possíveis ameaças. Ao compreender que as ameaças podem entrar em qualquer ponto da cadeia de suprimentos de software, uma abordagem com princípios de Seguro por Design integra segurança nas fases de design, programação, teste e implantação do desenvolvimento de software. Sendo este o padrão para agências federais nos EUA (e qualquer empresa que tenha contato com os softwares que elas usam), os princípios do Seguro por Design se tornaram um benchmark imprescindível para incorporar a segurança ao ciclo de vida do desenvolvimento de software.\n\nCom o tempo, o Seguro por Design se ramificou em conceitos relacionados, como _Seguro por Padrão_ e _Seguro por Demanda_, que focam em diferentes maneiras de abordar o Seguro por Design:\n\n- [Seguro por Padrão](#o-que-é-seguro-por-padrão) se concentra em garantir que todos os produtos de software sejam seguros quando estão prontos para uso.\n- [Seguro por Demanda](#o-que-é-seguro-por-demanda) estende os princípios de Seguro por Design ao processo de aquisição.\n\nSaiba mais sobre o Seguro por Design e essas abordagens relacionadas, incluindo um [guia passo a passo](#como-criar-uma-estratégia-de-cibersegurança-com-princípios-de-seguro-por-design) sobre como as empresas podem adaptar suas estratégias para evitar vulnerabilidades exploráveis e ataques à cadeia de suprimentos de software.\n\n## O que é o Seguro por Design?\nA Agência de Segurança Cibernética e de Infraestrutura dos EUA (CISA) apresentou sua [Iniciativa Seguro por Design](https://www.cisa.gov/securebydesign) em abril de 2023, com foco em três princípios fundamentais de segurança de software:\n\n1. Assumir a propriedade dos resultados de segurança do cliente\n1. Adotar transparência e responsabilidade radicais\n1. Construir a estrutura organizacional e a liderança para atingir esses objetivos\n\nO Seguro por Design integra princípios e protocolos de segurança em todas as etapas do processo de desenvolvimento de software. Isso significa que as medidas de segurança são incorporadas nas fases de design, programação, teste e implantação do desenvolvimento de software, em vez de serem adicionadas posteriormente.\n\nO objetivo do Seguro por Design é criar uma base segura para o software desde o princípio, reduzindo vulnerabilidades e possíveis superfícies de ataque.\n\n### O que é o Seguro por Padrão?\nSeguro por Padrão é um desdobramento do Seguro por Design que se concentra em garantir que qualquer software ou hardware esteja definido com a configuração mais segura sem exigir que o usuário faça sua reconfiguração. Os produtos que adotam os princípios do Seguro por Padrão ativam automaticamente os controles de segurança mais importantes necessários para proteger as empresas do acesso não autorizado de agentes mal-intencionados. Ou seja, os usuários não precisam executar outras etapas para garantir que o produto esteja protegido contra técnicas de exploração predominantes.\n\nAs táticas de Seguro por Padrão incluem eliminar senhas padrão e exigir autenticação multifator e logon único para que apenas usuários autorizados tenham acesso aos recursos. Essa abordagem também inclui atualizações e patches automáticos, assim como configurações seguras para todos os dispositivos e todas as contas do usuário.\n\n### O que é o Seguro por Demanda?\nSeguro por Demanda combina os princípios de Seguro por Design com contratos de orçamento e aquisição com o objetivo de impulsionar o Seguro por Design como uma exigência para fornecedores e terceirizados. O [Guia Seguro por Demanda da CISA](https://www.cisa.gov/resources-tools/resources/secure-demand-guide) fornece respostas e recursos que os compradores de software podem usar para entender melhor a abordagem de cibersegurança de um possível fornecedor. Ele inclui dúvidas sobre práticas de autenticação do fornecedor, segurança da cadeia de suprimentos de software e relatórios e divulgação de vulnerabilidades.\n\nAo exigir que os fornecedores sigam os princípios e protocolos de Seguro por Design em seus produtos e serviços, as empresas podem evitar que possíveis vulnerabilidades entrem em sua cadeia de suprimentos de software. A abordagem Seguro por Demanda também incentiva ainda mais os fornecedores a melhorar continuamente sua própria abordagem de cibersegurança.\n\n## Como construir uma estratégia de cibersegurança com os princípios do Seguro por Design\nConforme as empresas priorizam o Seguro por Design, as etapas incluem a utilização de práticas eficazes de DevSecOps, a manutenção de uma lista de materiais de software (SBOM) e a incorporação da IA para se defender contra ameaças que podem entrar em qualquer ponto do ciclo de vida do desenvolvimento de software.\n\n### Adoção de práticas de DevSecOps\nUm dos primeiros passos para dar sustentação a uma postura de Seguro por Design é ter um processo de desenvolvimento de software seguro: desenvolver, compilar, proteger e implantar software usando uma abordagem abrangente de DevSecOps.\n\nHoje em dia, muitos desenvolvedores utilizam conjuntos de ferramentas complexos para criar novos programas. Uma [pesquisa recente do GitLab](https://about.gitlab.com/developer-survey/) mostra que 62% dos participantes usam seis ou mais ferramentas de desenvolvimento e 20% usam 11 ou mais. Essa prática ineficiente aumenta os riscos de entrada de possíveis vulnerabilidades de segurança.\n\nOs desenvolvedores devem ter acesso a todas as ferramentas necessárias para os fluxos de trabalho do DevSecOps em uma única interface fácil de usar. Utilizando uma solução de ponta a ponta, como uma [plataforma DevSecOps](/platform/), as empresas podem implementar uma abordagem de Seguro por Design sem aumentar a carga dos desenvolvedores.\n\n### Como criar e manter SBOMs\nAdotar a transparência é outra parte significativa da integração dos princípios de Seguro por Design. As empresas devem entender o que compõe seu software, especialmente quando podem haver componentes de várias fontes.\n\n[SBOMs são ferramentas essenciais para alcançar essa transparência](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/). Essas ferramentas oferecem inventários detalhados de componentes de software, incluindo detalhes de versão, licença e dependência, que ampliam a visibilidade sobre possíveis vulnerabilidades ou códigos maliciosos.\n\nA manutenção desse inventário permite que as empresas entendam completamente as possíveis vulnerabilidades e riscos que podem surgir quando os elementos são retirados de repositórios de código aberto e componentes licenciados de terceiros. Uma plataforma DevSecOps pode ajudar a [gerar e atualizar automaticamente os SBOMs](/solutions/security-compliance/), integrá-los aos fluxos de trabalho e vinculá-los às vulnerabilidades associadas.\n\nEmbora muitas empresas usem SBOMs, eles devem ser dinâmicos, conectados a ferramentas de análise de segurança e atualizados continuamente para serem totalmente eficazes. Quando integrados a ferramentas de análise e painéis de controle, os SBOMs podem ser uma opção para identificar os riscos associados a uma aplicação. Mesmo quando não são necessários, os SBOMs podem auxiliar a conformidade com os regulamentos de segurança, validando que o código é seguro.\n\n### Como usar a IA no desenvolvimento de software\nConforme as empresas exploram maneiras de usar a IA, os fluxos de trabalho de desenvolvimento de software são um ponto de entrada valioso para essa tecnologia, que tem o potencial de acelerar os processos de desenvolvimento e aprimorar a segurança.\n\nEmpresas de todos os setores começaram a explorar essas aplicações: 39% dos participantes [da pesquisa do GitLab](https://about.gitlab.com/developer-survey/2024/ai/) afirmam já usar a IA no ciclo de vida do desenvolvimento de software.\n\nAplicar a IA a todo o ciclo de vida do desenvolvimento de software pode ajudar as empresas a evitar backlogs e silos orientados pela IA nos fluxos de trabalho de desenvolvimento. A IA pode executar funções importantes, como:\n\n* Explicação de código e refatoração de código legado em [linguagens seguras para memória](https://about.gitlab.com/blog/memory-safe-vs-unsafe/)\n* [Análise da causa raiz de pipelines DevSecOps](https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/), acelerando a resolução de problemas complexos durante os testes\n* [Resolução de vulnerabilidades](https://about.gitlab.com/pt-br/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/) para lidar com vulnerabilidades conhecidas, possibilitando uma remediação mais completa\n\nConforme os líderes integram a IA em seus fluxos de trabalho, é crucial priorizar a privacidade e a segurança dos dados. Um aspecto essencial da adoção de uma abordagem com princípios de Seguro por Design é desenvolver uma [estratégia de IA que proteja dados confidenciais e os direitos de propriedade intelectual](https://about.gitlab.com/the-source/ai/building-a-transparency-first-ai-strategy-7-questions-to-ask-your-devops/).\n\n### O que vem por aí\nEm breve, o Seguro por Design pode se tornar a abordagem padrão para criar um ecossistema de software mais confiável. O [governo dos EUA](https://about.gitlab.com/the-source/security/national-cybersecurity-strategy-a-wake-up-call-for-software-developers/) tem colaborado com desenvolvedores de software para criar estruturas que incentivem legalmente o setor privado a produzir e lançar software com os princípios de Seguro por Design, levando as empresas a investir mais em tecnologia e práticas de segurança.\n\nCom a segurança integrada ao desenvolvimento de software desde o princípio, a transparência por meio de SBOMs eficazes e a IA aprimorando o processo de desenvolvimento, todos os envolvidos no ciclo de vida do desenvolvimento de software estarão posicionados para ter bons resultados.","strengthen-your-cybersecurity-strategy-with-secure-by-design","content:pt-br:the-source:security:strengthen-your-cybersecurity-strategy-with-secure-by-design.yml","pt-br/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design.yml","pt-br/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",[425,466],1759347881096]