[{"data":1,"prerenderedAt":496},["ShallowReactive",2],{"/it-it/the-source/authors/joel-krooswyk":3,"footer-it-it":34,"the-source-banner-it-it":342,"the-source-navigation-it-it":354,"the-source-newsletter-it-it":381,"footer-source-/it-it/the-source/authors/joel-krooswyk/":392,"authors-it-it":402,"categories-it-it":432,"joel-krooswyk-articles-list-it-it":433},{"_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},"/it-it/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 federale","Joel Krooswyk è il CTO federale di GitLab. Joel è attivamente coinvolto nella crescita di GitLab dal 2017. Nei suoi 25 anni di esperienza in posizioni di responsabilità ha operato sia nel settore pubblico degli Stati Uniti, che in piccole e medie imprese a livello internazionale. Joel combina una profonda esperienza nelle politiche governative con una vasta esperienza nei settori tecnologia, sviluppo software, intelligenza artificiale e sicurezza informatica. Viene spesso interpellato dalle aziende del settore e dalle agenzie per fornire commenti e risposte sulle politiche adottate.",{"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:it-it:the-source:authors:joel-krooswyk.yml","yaml","content","it-it/the-source/authors/joel-krooswyk.yml","it-it/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/it-it/main-footer","it-it",{"text":38,"source":39,"edit":45,"contribute":50,"config":55,"items":60,"minimal":330},"Git è un marchio di Software Freedom Conservancy e l'uso del termine \"GitLab\" è regolato da un accordo di licenza",{"text":40,"config":41},"Visualizza origine pagina",{"href":42,"dataGaName":43,"dataGaLocation":44},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":46,"config":47},"Modifica questa pagina",{"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},"Contribuisci",{"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},"Piattaforma",[64],{"text":65,"config":66},"Piattaforma DevSecOps",{"href":67,"dataGaName":68,"dataGaLocation":44},"/it-it/platform/","devsecops platform",[70],{"title":71,"links":72},"Prezzi",[73,78,83],{"text":74,"config":75},"Visualizza i piani",{"href":76,"dataGaName":77,"dataGaLocation":44},"/it-it/pricing/","view plans",{"text":79,"config":80},"Perché passare a Premium?",{"href":81,"dataGaName":82,"dataGaLocation":44},"/it-it/pricing/premium/","why premium",{"text":84,"config":85},"Perché passare a Ultimate?",{"href":86,"dataGaName":87,"dataGaLocation":44},"/it-it/pricing/ultimate/","why ultimate",{"title":89,"links":90},"Soluzioni",[91,96,101,106,111,116,121,126,131,136,141,146,151,156],{"text":92,"config":93},"Trasformazione digitale",{"href":94,"dataGaName":95,"dataGaLocation":44},"/it-it/topics/digital-transformation/","digital transformation",{"text":97,"config":98},"Sicurezza e conformità",{"href":99,"dataGaName":100,"dataGaLocation":44},"/it-it/solutions/application-security-testing/","Application security testing",{"text":102,"config":103},"Distribuzione software automatizzata",{"href":104,"dataGaName":105,"dataGaLocation":44},"/it-it/solutions/delivery-automation/","automated software delivery",{"text":107,"config":108},"Sviluppo Agile",{"href":109,"dataGaName":110,"dataGaLocation":44},"/it-it/solutions/agile-delivery/","agile delivery",{"text":112,"config":113},"Trasformazione cloud",{"href":114,"dataGaName":115,"dataGaLocation":44},"/it-it/topics/cloud-native/","cloud transformation",{"text":117,"config":118},"SCM",{"href":119,"dataGaName":120,"dataGaLocation":44},"/it-it/solutions/source-code-management/","source code management",{"text":122,"config":123},"CI/CD",{"href":124,"dataGaName":125,"dataGaLocation":44},"/it-it/solutions/continuous-integration/","continuous integration & delivery",{"text":127,"config":128},"Gestione del flusso di valore",{"href":129,"dataGaName":130,"dataGaLocation":44},"/it-it/solutions/value-stream-management/","value stream management",{"text":132,"config":133},"GitOps",{"href":134,"dataGaName":135,"dataGaLocation":44},"/it-it/solutions/gitops/","gitops",{"text":137,"config":138},"Aziende",{"href":139,"dataGaName":140,"dataGaLocation":44},"/it-it/enterprise/","enterprise",{"text":142,"config":143},"Piccole imprese",{"href":144,"dataGaName":145,"dataGaLocation":44},"/it-it/small-business/","small business",{"text":147,"config":148},"Pubblica amministrazione",{"href":149,"dataGaName":150,"dataGaLocation":44},"/it-it/solutions/public-sector/","public sector",{"text":152,"config":153},"Istruzione",{"href":154,"dataGaName":155,"dataGaLocation":44},"/it-it/solutions/education/","education",{"text":157,"config":158},"Servizi finanziari",{"href":159,"dataGaName":160,"dataGaLocation":44},"/it-it/solutions/finance/","financial services",{"title":162,"links":163},"Risorse",[164,169,174,179,184,189,194,199,204,209,214,219,224],{"text":165,"config":166},"Installazione",{"href":167,"dataGaName":168,"dataGaLocation":44},"/it-it/install/","install",{"text":170,"config":171},"Guide rapide",{"href":172,"dataGaName":173,"dataGaLocation":44},"/it-it/get-started/","quick setup checklists",{"text":175,"config":176},"Formazione",{"href":177,"dataGaName":178,"dataGaLocation":44},"https://university.gitlab.com/","learn",{"text":180,"config":181},"Documentazione di prodotto",{"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},"Storie di successo dei clienti",{"href":192,"dataGaName":193,"dataGaLocation":44},"/it-it/customers/","customer success stories",{"text":195,"config":196},"Lavorare da remoto",{"href":197,"dataGaName":198,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":200,"config":201},"Servizi GitLab",{"href":202,"dataGaName":203,"dataGaLocation":44},"/it-it/services/","services",{"text":205,"config":206},"TeamOps",{"href":207,"dataGaName":208,"dataGaLocation":44},"/it-it/teamops/","teamops",{"text":210,"config":211},"Community",{"href":212,"dataGaName":213,"dataGaLocation":44},"/community/","community",{"text":215,"config":216},"Forum",{"href":217,"dataGaName":218,"dataGaLocation":44},"https://forum.gitlab.com/","forum",{"text":220,"config":221},"Eventi",{"href":222,"dataGaName":223,"dataGaLocation":44},"/events/","events",{"text":225,"config":226},"Partner",{"href":227,"dataGaName":228,"dataGaLocation":44},"/it-it/partners/","partners",{"title":230,"links":231},"Azienda",[232,237,242,247,252,257,262,266,271,276,281,286],{"text":233,"config":234},"Informazioni",{"href":235,"dataGaName":236,"dataGaLocation":44},"/it-it/company/","company",{"text":238,"config":239},"Opportunità di lavoro",{"href":240,"dataGaName":241,"dataGaLocation":44},"/jobs/","jobs",{"text":243,"config":244},"Leadership",{"href":245,"dataGaName":246,"dataGaLocation":44},"/company/team/e-group/","leadership",{"text":248,"config":249},"Team",{"href":250,"dataGaName":251,"dataGaLocation":44},"/company/team/","team",{"text":253,"config":254},"Manuale",{"href":255,"dataGaName":256,"dataGaLocation":44},"https://handbook.gitlab.com/","handbook",{"text":258,"config":259},"Rapporti con gli investitori",{"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},"Diversità, inclusione e appartenenza (DIB)",{"href":269,"dataGaName":270,"dataGaLocation":44},"/it-it/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":272,"config":273},"Trust Center",{"href":274,"dataGaName":275,"dataGaLocation":44},"/it-it/security/","trust center",{"text":277,"config":278},"Newsletter",{"href":279,"dataGaName":280,"dataGaLocation":44},"/company/contact/","newsletter",{"text":282,"config":283},"Rassegna stampa",{"href":284,"dataGaName":285,"dataGaLocation":44},"/press/","press",{"text":287,"config":288},"Dichiarazione di trasparenza sulla schiavitù 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},"Contattaci",[294,299,304,309,314,319,324],{"text":295,"config":296},"Contatta un esperto",{"href":297,"dataGaName":298,"dataGaLocation":44},"/it-it/sales/","sales",{"text":300,"config":301},"Richiedi assistenza",{"href":302,"dataGaName":303,"dataGaLocation":44},"/support/","get help",{"text":305,"config":306},"Portale clienti",{"href":307,"dataGaName":308,"dataGaLocation":44},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"text":310,"config":311},"Stato",{"href":312,"dataGaName":313,"dataGaLocation":44},"https://status.gitlab.com/","status",{"text":315,"config":316},"Termini di utilizzo",{"href":317,"dataGaName":318,"dataGaLocation":44},"/terms/","terms of use",{"text":320,"config":321},"Informativa sulla privacy",{"href":322,"dataGaName":323,"dataGaLocation":44},"/it-it/privacy/","privacy statement",{"text":325,"config":326},"Preferenze dei cookie",{"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:it-it:main-footer.yml","Main Footer","shared/it-it/main-footer.yml","shared/it-it/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/it-it/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:it-it:the-source:banner:the-economics-of-software-innovation-2025-08-18.yml","shared/it-it/the-source/banner/the-economics-of-software-innovation-2025-08-18.yml","shared/it-it/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/it-it/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","/it-it/the-source/",{"text":362,"config":363},"Iscriviti",{"href":364},"#subscribe",[366,370,373],{"text":367,"config":368},"Intelligenza artificiale",{"href":369},"/it-it/the-source/ai/",{"text":97,"config":371},{"href":372},"/it-it/the-source/security/",{"text":374,"config":375},"Piattaforma e infrastruttura",{"href":376},"/it-it/the-source/platform/","content:shared:it-it:the-source:navigation.yml","Navigation","shared/it-it/the-source/navigation.yml","shared/it-it/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/it-it/the-source/newsletter","Newsletter di The Source","Rimani al passo con le ultime tendenze dello sviluppo software grazie a preziosi approfondimenti.","Hai effettuato l'iscrizione alla newsletter di The Source.",{"config":387},{"formId":388,"formName":280,"hideRequiredLabel":329},28469,"content:shared:it-it:the-source:newsletter.yml","shared/it-it/the-source/newsletter.yml","shared/it-it/the-source/newsletter",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"config":393,"seo":394,"content":395,"type":26,"slug":27,"_id":28,"_type":29,"title":11,"_source":30,"_file":31,"_stem":32,"_extension":33},{"layout":9},{"title":11},[396,401],{"componentName":14,"componentContent":397},{"config":398,"name":11,"role":19,"bio":20,"headshot":399},{"gitlabHandle":17,"linkedInProfileUrl":18},{"altText":11,"config":400},{"src":23},{"componentName":25},{"amanda-rueda":403,"andre-michael-braun":404,"andrew-haschka":405,"ayoub-fandi":406,"brian-wald":407,"bryan-ross":408,"chandler-gibbons":409,"dave-steer":410,"ddesanto":411,"derek-debellis":412,"emilio-salvador":413,"erika-feldman":414,"george-kichukov":415,"gitlab":416,"grant-hickman":417,"haim-snir":418,"iganbaruch":419,"jlongo":420,"joel-krooswyk":11,"josh-lemos":421,"julie-griffin":422,"kristina-weis":423,"lee-faus":424,"ncregan":425,"rschulman":426,"sabrina-farmer":427,"sandra-gittlen":428,"sharon-gaudin":429,"stephen-walters":430,"taylor-mccaslin":431},"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},[434,475],{"_path":435,"_dir":436,"_draft":6,"_partial":6,"_locale":7,"slug":437,"type":438,"category":436,"config":439,"seo":442,"content":446,"_id":472,"_type":29,"title":447,"_source":30,"_file":473,"_stem":474,"_extension":33,"heroImage":444,"description":448,"timeToRead":449,"date":450,"keyTakeaways":451,"articleBody":455,"faq":456},"/it-it/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":440,"featured":6,"author":27,"sourceCTA":441,"isHighlighted":6,"authorName":11},"TheSourceArticle","source-lp-how-a-devsecops-platform-drives-business-success-the-complete-guide",{"description":443,"ogDescription":443,"ogImage":444,"title":445,"ogTitle":445,"noIndex":329},"Scopri come il refactoring del codice basato su IA può modernizzare i sistemi legacy, migliorare i protocolli di sicurezza e portare la tua azienda nel futuro.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463670/cdynzww9p2annh3mmbhl.png","Come proteggerti dal codice legacy rischioso con l'IA",{"heroImage":444,"title":447,"description":448,"timeToRead":449,"date":450,"keyTakeaways":451,"articleBody":455,"faq":456},"Perché il codice legacy è un rischio per la sicurezza e come proteggerti con l'IA","Scopri come il refactoring del codice basato sull'IA può modernizzare i sistemi legacy, migliorare i protocolli di sicurezza e traghettare la tua azienda verso il futuro.","Tempo di lettura: 6 minuti","2025-01-15T00:00:00.000Z",[452,453,454],"Il codice legacy è costoso e richiede tempo per la manutenzione. Inoltre, se non è compatibile con gli strumenti di sicurezza più recenti, può rappresentare un grave rischio per le aziende di tutti i settori.","Il refactoring può aiutare a rendere il codice più leggibile, migliorando la stabilità della codebase nonché la produttività e l'efficienza degli sviluppatori.","Insieme agli strumenti di sicurezza preventiva, il refactoring del codice basato sull'IA può contribuire a modernizzare il codice legacy, riducendo al contempo il rischio di vulnerabilità della sicurezza.","Today’s rapid acceleration of technology is exciting. It means new products and opportunities for growth and innovation are around every corner. And yet this speed of growth and change has its downsides, especially regarding security: just one bad actor can cause massive business disruption, reputation damage, and lost revenue.\n\nYou have likely heard industry leaders talk about their need for digital transformation and the worrisome dependency on outdated or “legacy” systems. While legacy code is not inherently problematic, it often isn’t compatible with modern security tools, leading to exploitable vulnerabilities. Coupled with open source code — which requires ongoing security vigilance — your code base may be putting your organization’s data, users, and reputation at risk.\n\nLegacy code is risky from a security and compliance perspective, and it’s also expensive and time-consuming for developers to maintain — if developers on your team even have the legacy knowledge to do the work.\n\nUltimately, this industry-wide reliance on legacy code is a concerning and costly practice. So, how do we work our way out of it?\n\nBelow, I’ll explore legacy code and how organizations can increase the security of their code base with AI-powered code refactoring. Together with AI-driven testing and security capabilities, code refactoring will propel your codebase into the future while empowering your whole team to look ahead, not behind.\n\n## What is legacy code?\n\nBroadly, legacy code refers to an existing code base that a team inherits from previous team members and continues to use and maintain. The code might work just fine, but several different developers have likely modified it over the years. The current team might struggle to identify which modifications are valuable and which are not. Additionally, the code might be written using an outdated framework or in a programming language that no one on the team knows (whether it’s simply old or completely obsolete).\n\nIt might seem strange that companies still rely on legacy code. While the reasons can vary, think of it like this: You live in an old house. It's cozy and familiar, but the plumbing's unreliable, the wiring is outdated, and every time you fix one thing, something else breaks. Sure, you could remodel, but that means a huge upheaval – contractors, permits, living in chaos for months, and costs that can spiral out of control.\n\nSo, you keep patching things up, hoping for the best. It's not ideal, but it works — for now. That's kind of what it's like with legacy code. It's the familiar, “working” solution, even if it's creaky and inefficient. Rewriting it from scratch is a daunting prospect with its own risks and costs. Plus, who has time for a massive overhaul when there are new features to build and urgent bugs to fix?\n\nWhen it comes to updating code, many companies decide to keep their legacy code because maintaining it can be less disruptive in the short term. Updating code involves a lot of developing and testing code. It can also involve training a team to ensure they have the skills to work with the outdated code language or framework. If there isn’t any documentation, it can be even more challenging to navigate.\n\n## What’s the problem with legacy code?\n\nIf your organization does decide to stick with your legacy code — and many do — you’re opening yourself up to a host of potential issues. Since this code wasn’t designed for newer tech, you might not be able to integrate it with the latest and greatest software (like AI tools, for example), which could also impact the performance and scalability of your products. This can hold you back and impact customer experience down the line.\n\nWhat’s most concerning about legacy code, whether it was written five years ago or 50, is that there may be no security scanners that work for this code. That means you can’t detect problems on your own while making updates. Moreover, developers making these updates may not understand the language or its structure well and might even accidentally create vulnerable code in the process. Finally, older applications are commonly written in C or C++, which are memory unsafe languages — proven to host [70% of identified vulnerabilities](https://www.cisa.gov/news-events/news/urgent-need-memory-safety-software-products).\n\nThese three issues — the fact that there may be no way to secure legacy code, there are fewer ways to safely update it, and that the end result is far more likely to be vulnerable — should be warning signs for organizations across industries.\n\nIn developing a catalog of bad practices that can put critical infrastructure at risk, the U.S. [Cybersecurity and Infrastructure Security Agency](https://www.cisa.gov/stopransomware/bad-practices) added the following:\n\n“Use of unsupported (or end-of-life) software in service of Critical Infrastructure and National Critical Functions is dangerous and significantly elevates risk to national security, national economic security, and national public health and safety. This dangerous practice is especially egregious in technologies accessible from the Internet.”\n\nEven if you aren’t working in national security or for national public health and safety, this warning is still applicable: Using old code is not a best practice. It’s a bad one.\n\n## The solution: Code refactoring\n\nAccording to software developer and author [Martin Fowler](https://www.martinfowler.com/), “Refactoring is a controlled technique for improving the design of an existing code base, a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.”\n\nIn other words, code refactoring allows you to secure and modernize your legacy code without obscuring its original functionality.\n\nThere are many refactoring techniques — from inline refactoring, which involves simplifying code by removing obsolete elements, to refactoring by abstraction, where duplicate code is deleted. What’s important to know is that code refactoring requires time and significant developer skills to do well. It also requires a lot of testing when developers are already busy working on other tasks.\n\nSo, while code refactoring is certainly the answer to bringing your legacy code into the future, making it readable, efficient, and secure, it is a project in and of itself, especially at scale.\n\n## How AI can help\n\nWe know that AI is already accelerating the software development lifecycle — and there’s a lot that [AI can do to help teams accelerate the refactoring process](https://about.gitlab.com/blog/refactor-code-into-modern-languages-with-ai-powered-gitlab-duo/), too. For example, tools like [GitLab Duo](https://about.gitlab.com/blog/gitlab-duo-chat-now-generally-available/) can help explain existing code and create new code, two of the biggest hurdles when modernizing legacy code. If a developer isn’t familiar with a language, AI can help fill in the blanks. Regarding testing and security, AI can also [analyze root causes, generate tests](https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/), and [help developers remediate vulnerabilities](https://about.gitlab.com/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/). With AI in your toolkit, code refactoring can finally be more accessible and achievable for organizations, so they can move this project off their backlog for good.\n\nAccording to [our research](https://about.gitlab.com/developer-survey/2024/ai/), 34% of all respondents using AI across the software development lifecycle already use AI to modernize legacy code. This is even higher in the financial services industry (46%).\n\nOf course, there are a few things to keep in mind as you start to implement AI in any of your practices.\n\nAI isn’t perfect. It still requires testing, guardrails, and human oversight. So, while it absolutely can facilitate and accelerate some of these critical, time-consuming manual tasks, it can’t do this work alone. Especially regarding security, you should implement other tools to keep your code as secure as possible. We recommend creating a [dynamic software bill of materials](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/) (also called an SBOM) to give you full visibility into the license and security risks associated with your software, including any legacy code you may have.\n\n## Bring your codebase into the future\n\nWhile the jump from legacy codebase maintenance to modernization might feel daunting, it is the best path forward if you want to keep your organization and user data secure. With the right tools and methods, it may be more efficient for your teams and cost-effective for your company.\n\nThe good news is that your teams don’t need to spend time and resources deciphering old languages and working with old frameworks — causing frustration, delays, and bottlenecks. By letting AI do the hard work of refactoring your code so that it’s safe, secure, and functioning as it should, developers can focus on what they do best: building new products and features and driving value for customers.",[457,460,463,466,469],{"header":458,"content":459},"Perché il codice legacy è considerato un rischio per la sicurezza?","Il codice legacy è rischioso perché spesso usa framework o linguaggi di programmazione obsoleti, privi di moderne misure di sicurezza. Per questo motivo è incompatibile con gli strumenti di sicurezza più recenti e aumenta il rischio di vulnerabilità. Inoltre, il software non supportato o a fine vita può essere facilmente sfruttato dai malintenzionati, compromettendo l'integrità e la sicurezza dei dati.",{"header":461,"content":462},"In che modo il refactoring del codice basato sull'IA può migliorare la sicurezza del codice legacy?","Il refactoring del codice basato sull'IA modernizza i sistemi legacy:\n - identificando pattern di programmazione obsoleti o non sicuri e suggerendo alternative sicure;\n - automatizzando i miglioramenti del codice senza alterare il comportamento esterno, migliorando la leggibilità e la manutenibilità;\n - generando test di sicurezza e analizzando le cause principali delle vulnerabilità, consentendo una correzione più rapida.\nQuesto approccio riduce il lavoro manuale e accelera la transizione verso codebase più sicure, efficienti e scalabili.",{"header":464,"content":465},"Perché è complesso eseguire la manutenzione del codice legacy senza l'IA?","Le difficoltà includono:\n - __Mancanza di un supporto di sicurezza moderno__: gli scanner di sicurezza tradizionali potrebbero non essere compatibili con il codice legacy.\n - __Framework complessi e obsoleti__: gli sviluppatori potrebbero non avere le competenze necessarie per mantenere o aggiornare il vecchio codice.\n - __Costi di manutenzione elevati__: la manutenzione dei sistemi legacy è costosa e richiede tempo, dirottando le risorse dall'innovazione.\n - __Rischi per la sicurezza__: il codice obsoleto è più soggetto a vulnerabilità e attacchi, aumentando il rischio di violazioni dei dati.",{"header":467,"content":468},"In che modo GitLab supporta il refactoring basato sull'IA e la modernizzazione del codice legacy?","GitLab usa GitLab Duo per aiutare gli sviluppatori a comprendere il codice legacy fornendo spiegazioni e generando nuovo codice. Inoltre, offre:\n - Analisi di sicurezza guidate dall'IA per rilevare vulnerabilità nel codice legacy\n - Test e correzioni automatici per migliorare la sicurezza del codice\n - Distinte base del software dinamiche (SBOM) per la visibilità dei rischi legati alle licenze e alla sicurezza, inclusi i componenti legacy",{"header":470,"content":471},"Quali sono i vantaggi dell'IA nel refactoring del codice legacy?","I vantaggi includono:\n - __Maggiore sicurezza__: l'IA identifica e mitiga le vulnerabilità, migliorando la security posture.\n - __Maggiore produttività__: l'automazione delle attività ripetitive consente agli sviluppatori di concentrarsi sull'innovazione.\n - __Risparmio di denaro__: i costi di manutenzione sono ridotti grazie alla modernizzazione del codice, per lavorare con i framework e gli strumenti attuali.\n - __Modernizzazione scalabile__: l'IA consente un refactoring scalabile e coerente su codebase complesse, garantendo risorse software aziendali sempre all'avanguardia.","content:it-it:the-source:security:why-legacy-code-is-a-security-risk-and-how-ai-can-help.yml","it-it/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help.yml","it-it/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help",{"_path":476,"_dir":436,"_draft":6,"_partial":6,"_locale":7,"config":477,"seo":479,"content":483,"type":438,"category":436,"slug":492,"_id":493,"_type":29,"title":484,"_source":30,"_file":494,"_stem":495,"_extension":33,"date":485,"description":486,"timeToRead":449,"heroImage":482,"keyTakeaways":487,"articleBody":491},"/it-it/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",{"layout":9,"template":440,"author":27,"featured":6,"sourceCTA":478,"isHighlighted":6,"authorName":11},"source-lp-guide-to-dynamic-sboms",{"title":480,"description":481,"ogImage":482},"Secure by Design nella strategia di sicurezza | GitLab","Approfondisci Secure by Design e i concetti correlati e scopri cosa puoi fare oggi per integrare la sicurezza nei tuoi processi di sviluppo software.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463932/pnfdgovoaq5qd1yprxuc.png",{"title":484,"date":485,"description":486,"timeToRead":449,"heroImage":482,"keyTakeaways":487,"articleBody":491},"Rafforzare la strategia di sicurezza informatica con Secure by Design","2024-10-29","Esamina meglio Secure by Design e i concetti correlati e scopri i passaggi che puoi intraprendere oggi per integrare la sicurezza nei tuoi processi di sviluppo software.",[488,489,490],"Secure by Design, Secure by Default e Secure by Demand prevengono vulnerabilità e attacchi alla catena di fornitura del software, spingendo i produttori a integrare la sicurezza in ogni aspetto della progettazione e sviluppo dei prodotti.","L'adozione di un approccio DevSecOps completo e la creazione e il mantenimento di distinte base software (SBOM) sono passaggi chiave per poter essere Secure by Design.","L'integrazione dell'intelligenza artificiale nel ciclo di sviluppo software può anche accelerare i processi di sviluppo, incrementare la sicurezza e aiutare a risolvere le vulnerabilità.","L'approccio di un'organizzazione alla sicurezza informatica deve evolversi costantemente man mano che le superfici di attacco si ampliano e che si hanno a disposizione ulteriori informazioni sulle potenziali minacce. Tenendo conto del fatto che le minacce possono entrare da qualsiasi punto della catena di fornitura del software, un approccio Secure by Design integra la sicurezza nelle fasi di progettazione, codifica, test e implementazione dello sviluppo software. Quale standard per le agenzie federali degli Stati Uniti e per qualsiasi organizzazione che tocchi il loro software, Secure by Design è diventato un benchmark di riferimento per integrare la sicurezza nel ciclo di sviluppo software.\n\nNel corso del tempo, Secure by Design si è ramificato in concetti correlati come _Secure by Default_ e _Secure by Demand_, che mettono in rilievo diversi modi di avvicinarsi a Secure by Design:\n\n- [Secure by Default](#what-is-secure-by-default) si concentra sul garantire che tutti i prodotti software siano sicuri fin da subito.\n- [Secure by Demand](#what-is-secure-by-demand) estende i principi Secure by Design al processo di approvvigionamento.\n\nEcco un'analisi più approfondita di Secure by Design e di questi approcci correlati, tra cui una [guida passo-passo](# building-a-secure-by-design-cybersecurity-strategy) su come le organizzazioni possono adattare le proprie strategie per prevenire vulnerabilità sfruttabili e attacchi alla catena di fornitura del software.\n\n## Cos'è Secure by Design?\nLa Cybersecurity and Infrastructure Security Agency (CISA) degli Stati Uniti ha introdotto la sua [Secure by Design Initiative](https://www.cisa.gov/securebydesign) nell'aprile 2023, concentrandosi su tre principi chiave di sicurezza del software:\n\n1. Assumersi la responsabilità dei risultati di sicurezza del cliente\n1. Adottare un atteggiamento di trasparenza e di responsabilità radicale\n1. Definire una struttura organizzativa e una leadership finalizzate al raggiungimento di questi obiettivi\n\nSecure by Design integra principi e protocolli di sicurezza in ogni fase del processo di sviluppo software. Di conseguenza, le misure di sicurezza sono integrate nelle fasi di progettazione, codifica, test e implementazione dello sviluppo software anziché essere aggiunte a valle.\n\nL'obiettivo di Secure by Design è creare una base sicura per il software fin dall'inizio, riducendo le vulnerabilità e le potenziali superfici di attacco.\n\n### Cos'è Secure by Default?\nSecure by Default è una derivazione di Secure by Design; l'obiettivo è quello di garantire la configurazione più sicura possibile per software o hardware, senza che sia necessaria la riconfigurazione da parte dell'utente. I prodotti Secure by Default abilitano automaticamente i controlli di sicurezza più importanti necessari per proteggere le aziende dall'accesso non autorizzato da parte di malintenzionati, senza che gli utenti debbano fare altro per garantire che un prodotto sia protetto dalle tecniche di sfruttamento prevalenti.\n\nLe tattiche Secure by Default includono l'eliminazione delle password predefinite e l'obbligo dell'autenticazione a più fattori e del Single Sign-On per consentire solo agli utenti autorizzati l'accesso alle risorse. Questo approccio include anche aggiornamenti e patch automatici, nonché configurazioni sicure per tutti gli account e i dispositivi dell'utente.\n\n### Cos'è Secure by Demand?\nSecure by Demand combina i principi Secure by Design con i contratti di budget e di approvvigionamento, per far sì che Secure by Design diventi un obbligo per i fornitori e gli appaltatori. [La guida a Secure by Demand della CISA](https://www.cisa.gov/resources-tools/resources/secure-demand-guide) fornisce una serie di domande e risorse che gli acquirenti, i buyer e i procacciatori di software possono utilizzare per comprendere meglio l'approccio di un potenziale fornitore alla sicurezza informatica, tra cui domande sulle pratiche di autenticazione del fornitore, sulla sicurezza della catena di fornitura del software e sulla divulgazione e la segnalazione delle vulnerabilità.\n\nRichiedendo ai fornitori di aderire ai principi e ai protocolli Secure by Design nei loro prodotti e servizi, le organizzazioni contribuiscono a prevenire potenziali vulnerabilità che entrano nella loro catena di fornitura del software. L'approccio Secure by Demand incentiva inoltre i fornitori a migliorare continuamente la propria posizione in materia di sicurezza informatica.\n\n## Costruire una strategia di sicurezza informatica Secure by Design\nLe organizzazioni che considerano prioritario l'approccio Secure by Design devono ad esempio utilizzare pratiche DevSecOps efficaci, mantenere una distinta base software (SBOM) e incorporare l'intelligenza artificiale per difendersi dalle minacce che entrano da qualsiasi punto del ciclo di sviluppo software.\n\n### Adottare pratiche DevSecOps\nUno dei primi passi per favorire l'adozione di un atteggiamento Secure by Design è seguire un processo di sviluppo software sicuro: sviluppo, creazione, protezione e implementazione del software devono basarsi su un approccio DevSecOps completo.\n\nOggi, molti sviluppatori utilizzano set di strumenti complessi per creare nuovi programmi. Un [recente sondaggio di GitLab](https://about.gitlab.com/developer-survey/) ha rilevato che il 62% degli intervistati utilizza 6 o più strumenti per lo sviluppo, mentre il 20% ne utilizza 11 o più: si tratta un'inefficienza che incrementa il rischio introducendo potenziali vulnerabilità della sicurezza.\n\nGli sviluppatori dovrebbero essere in grado di accedere a tutti gli strumenti necessari per i flussi di lavoro DevSecOps in un'unica interfaccia facile da usare. Con una soluzione end-to-end, come una [piattaforma DevSecOps](/platform/), le organizzazioni possono implementare un approccio Secure by Design senza aumentare l'onere per gli sviluppatori.\n\n### Creare e mantenere SBOM\nAdottare la trasparenza è un altro passaggio significativo verso il Secure by Design. Le organizzazioni devono capire cosa c'è nel loro software, soprattutto quando può includere componenti provenienti da più fonti.\n\n[Le SBOM sono strumenti essenziali per raggiungere questa trasparenza](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/). Offrono inventari dettagliati dei componenti software, inclusi i dettagli di versione, licenza e dipendenza, che consentono una maggiore consapevolezza delle potenziali vulnerabilità o del codice dannoso.\n\nIl mantenimento di questo inventario consente alle organizzazioni di comprendere appieno le possibili vulnerabilità e i potenziali rischi che potrebbero sorgere quando gli elementi vengono rimossi da repository open-source e componenti di terze parti concessi in licenza. Una piattaforma DevSecOps può aiutare a [generare e aggiornare automaticamente le SBOM](/solutions/application-security-testing/), integrarle nei flussi di lavoro esistenti e collegarle alle vulnerabilità associate.\n\nMolte organizzazioni utilizzano già le SBOM, che però devono essere dinamiche, collegate a strumenti di analisi della sicurezza e continuamente aggiornate per essere pienamente efficaci. Quando integrate con strumenti di scansione e dashboard, le SBOM possono fornire un modo per individuare i rischi associati a un'applicazione. Anche quando non richiesto, le SBOM possono supportare la conformità alle normative convalidando la sicurezza del codice.\n\n### Utilizzo dell'IA nello sviluppo software\nMentre le organizzazioni scoprono come poter utilizzare l'IA, i flussi di lavoro di sviluppo del software forniscono un prezioso punto di ingresso alla tecnologia, che ha il potenziale per accelerare i processi di sviluppo e migliorare la sicurezza.\n\nLe organizzazioni di tutti i settori stanno già iniziando a esplorare queste applicazioni: il 39% degli intervistati [nel sondaggio di GitLab](https://about.gitlab.com/developer-survey/2024/ai/) ha dichiarato di utilizzare già l'intelligenza artificiale nel ciclo di sviluppo software.\n\nL'uso dell'intelligenza artificiale durante tutto il ciclo di sviluppo software può aiutare le organizzazioni a evitare silos e backlog relativi all'IA all'interno dei flussi di lavoro di sviluppo. L'IA può svolgere funzioni chiave come:\n\n* Spiegazione del codice e refactoring del codice legacy in [linguaggi sicuri per la memoria](https://about.gitlab.com/blog/memory-safe-vs-unsafe/)\n* [Analisi delle cause principali per le pipeline di DevSecOps](https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/), che accelerano la soluzione di problemi complessi durante i test\n* [Risoluzione delle vulnerabilità](https://about.gitlab.com/it-it/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/) per contribuire a riconciliare le vulnerabilità note, supportando una correzione più approfondita\n\nMentre i leader integrano l'IA nei loro flussi di lavoro, è fondamentale dare priorità alla privacy e alla sicurezza dei dati. Un aspetto essenziale dell'adozione di un approccio Secure by Design è lo sviluppo di una [strategia di intelligenza artificiale che salvaguardi i dati sensibili e protegga i diritti di proprietà intellettuale](https://about.gitlab.com/the-source/ai/building-a-transparency-first-ai-strategy-7-questions-to-ask-your-devops/).\n\n### Cosa succederà\nSecure by Design potrebbe presto diventare l'approccio predefinito per creare un ecosistema software più affidabile. Il [governo degli Stati Uniti](https://about.gitlab.com/the-source/security/national-cybersecurity-strategy-a-wake-up-call-for-software-developers/) sta attualmente lavorando con gli sviluppatori di software alla creazione di framework che incentivino legalmente il settore privato a produrre e rilasciare software Secure by Design, spingendo le aziende a investire di più in tecnologie e pratiche sicure.\n\nGrazie alla sicurezza integrata fin dall'inizio nello sviluppo software, alla trasparenza offerta da SBOM efficaci e all'uso dell'intelligenza artificiale per migliorare il processo di sviluppo, chiunque contribuisca al ciclo di sviluppo software può contare su ottime premesse per il successo.","strengthen-your-cybersecurity-strategy-with-secure-by-design","content:it-it:the-source:security:strengthen-your-cybersecurity-strategy-with-secure-by-design.yml","it-it/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design.yml","it-it/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",1761814463008]