[{"data":1,"prerenderedAt":477},["ShallowReactive",2],{"/es/the-source/authors/joel-krooswyk/":3,"footer-es":34,"the-source-navigation-es":342,"the-source-newsletter-es":369,"joel-krooswyk-articles-list-authors-es":381,"joel-krooswyk-articles-list-es":411,"joel-krooswyk-page-categories-es":476},{"_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},"/es/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/","Director de tecnología federal","Joel Krooswyk es el director de Tecnología federal en GitLab. Ha participado activamente en el crecimiento de GitLab desde 2017. Sus 25 años de experiencia en liderazgo abarcan no solo el sector público de Estados Unidos, sino también pequeñas, medianas y grandes empresas a nivel mundial. Joel combina una profunda experiencia en políticas gubernamentales con un amplio conocimiento en tecnología, desarrollo de software, inteligencia artificial y ciberseguridad. La industria y las agencias a menudo le piden sus comentarios y respuestas 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:es:the-source:authors:joel-krooswyk.yml","yaml","content","es/the-source/authors/joel-krooswyk.yml","es/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/es/main-footer","es",{"text":38,"source":39,"edit":45,"contribute":50,"config":55,"items":60,"minimal":330},"Git es una marca registrada de Software Freedom Conservancy, y nuestro uso de «GitLab» está bajo licencia",{"text":40,"config":41},"Ver fuente de la 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},"Contribuya",{"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 de DevSecOps",{"href":67,"dataGaName":68,"dataGaLocation":44},"/es/platform/","devsecops platform",[70],{"title":71,"links":72},"Precios",[73,78,83],{"text":74,"config":75},"Ver planes",{"href":76,"dataGaName":77,"dataGaLocation":44},"/es/pricing/","view plans",{"text":79,"config":80},"¿Por qué elegir GitLab Premium?",{"href":81,"dataGaName":82,"dataGaLocation":44},"/es/pricing/premium/","why premium",{"text":84,"config":85},"¿Por qué elegir GitLab Ultimate?",{"href":86,"dataGaName":87,"dataGaLocation":44},"/es/pricing/ultimate/","why ultimate",{"title":89,"links":90},"Soluciones",[91,96,101,106,111,116,121,126,131,136,141,146,151,156],{"text":92,"config":93},"Transformación digital",{"href":94,"dataGaName":95,"dataGaLocation":44},"/es/topics/digital-transformation/","digital transformation",{"text":97,"config":98},"Seguridad y cumplimiento",{"href":99,"dataGaName":100,"dataGaLocation":44},"/es/solutions/security-compliance/","security & compliance",{"text":102,"config":103},"Entrega de software automatizada",{"href":104,"dataGaName":105,"dataGaLocation":44},"/es/solutions/delivery-automation/","automated software delivery",{"text":107,"config":108},"Desarrollo ágil",{"href":109,"dataGaName":110,"dataGaLocation":44},"/es/solutions/agile-delivery/","agile delivery",{"text":112,"config":113},"Transformación en la nube",{"href":114,"dataGaName":115,"dataGaLocation":44},"/es/topics/cloud-native/","cloud transformation",{"text":117,"config":118},"Gestión del código fuente",{"href":119,"dataGaName":120,"dataGaLocation":44},"/es/solutions/source-code-management/","source code management",{"text":122,"config":123},"CI/CD",{"href":124,"dataGaName":125,"dataGaLocation":44},"/es/solutions/continuous-integration/","continuous integration & delivery",{"text":127,"config":128},"Gestión del flujo de valor",{"href":129,"dataGaName":130,"dataGaLocation":44},"/es/solutions/value-stream-management/","value stream management",{"text":132,"config":133},"GitOps",{"href":134,"dataGaName":135,"dataGaLocation":44},"/es/solutions/gitops/","gitops",{"text":137,"config":138},"Empresas",{"href":139,"dataGaName":140,"dataGaLocation":44},"/es/enterprise/","enterprise",{"text":142,"config":143},"Pequeñas empresas",{"href":144,"dataGaName":145,"dataGaLocation":44},"/es/small-business/","small business",{"text":147,"config":148},"Sector público",{"href":149,"dataGaName":150,"dataGaLocation":44},"/es/solutions/public-sector/","public sector",{"text":152,"config":153},"Educación",{"href":154,"dataGaName":155,"dataGaLocation":44},"/es/solutions/education/","education",{"text":157,"config":158},"Servicios financieros",{"href":159,"dataGaName":160,"dataGaLocation":44},"/es/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},"Instalar",{"href":167,"dataGaName":168,"dataGaLocation":44},"/es/install/","install",{"text":170,"config":171},"Guías de inicio rápido",{"href":172,"dataGaName":173,"dataGaLocation":44},"/es/get-started/","quick setup checklists",{"text":175,"config":176},"Aprender",{"href":177,"dataGaName":178,"dataGaLocation":44},"https://university.gitlab.com/","learn",{"text":180,"config":181},"Documentación del producto",{"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},"Historias de éxito del cliente",{"href":192,"dataGaName":193,"dataGaLocation":44},"/customers/","customer success stories",{"text":195,"config":196},"Remoto",{"href":197,"dataGaName":198,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":200,"config":201},"Servicios de GitLab",{"href":202,"dataGaName":203,"dataGaLocation":44},"/es/services/","services",{"text":205,"config":206},"TeamOps",{"href":207,"dataGaName":208,"dataGaLocation":44},"/es/teamops/","teamops",{"text":210,"config":211},"Comunidad",{"href":212,"dataGaName":213,"dataGaLocation":44},"/community/","community",{"text":215,"config":216},"Foro",{"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},"Socios",{"href":227,"dataGaName":228,"dataGaLocation":44},"/es/partners/","partners",{"title":230,"links":231},"Empresa",[232,237,242,247,252,257,262,266,271,276,281,286],{"text":233,"config":234},"Acerca de nosotros",{"href":235,"dataGaName":236,"dataGaLocation":44},"/es/company/","company",{"text":238,"config":239},"Jobs",{"href":240,"dataGaName":241,"dataGaLocation":44},"/jobs/","jobs",{"text":243,"config":244},"Liderazgo",{"href":245,"dataGaName":246,"dataGaLocation":44},"/company/team/e-group/","leadership",{"text":248,"config":249},"Equipo",{"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},"Relaciones con los inversores",{"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},"Diversidad, inclusión y pertenencia (DIB)",{"href":269,"dataGaName":270,"dataGaLocation":44},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":272,"config":273},"Centro de confianza",{"href":274,"dataGaName":275,"dataGaLocation":44},"/es/security/","trust center",{"text":277,"config":278},"Boletín",{"href":279,"dataGaName":280,"dataGaLocation":44},"/company/contact/","newsletter",{"text":282,"config":283},"Prensa",{"href":284,"dataGaName":285,"dataGaLocation":44},"/press/","press",{"text":287,"config":288},"Declaración de transparencia sobre la Ley de Esclavitud 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},"Comuníquese con nosotros",[294,299,304,309,314,319,324],{"text":295,"config":296},"Contactar con un experto",{"href":297,"dataGaName":298,"dataGaLocation":44},"/es/sales/","sales",{"text":300,"config":301},"Obtener ayuda",{"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},"Estado",{"href":312,"dataGaName":313,"dataGaLocation":44},"https://status.gitlab.com/","status",{"text":315,"config":316},"Términos de uso",{"href":317,"dataGaName":318,"dataGaLocation":44},"/terms/","terms of use",{"text":320,"config":321},"Declaración de privacidad",{"href":322,"dataGaName":323,"dataGaLocation":44},"/es/privacy/","privacy statement",{"text":325,"config":326},"Preferencias 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:es:main-footer.yml","Main Footer","shared/es/main-footer.yml","shared/es/main-footer",{"_path":343,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"logo":344,"subscribeLink":349,"navItems":353,"_id":365,"_type":29,"title":366,"_source":30,"_file":367,"_stem":368,"_extension":33},"/shared/es/the-source/navigation",{"altText":345,"config":346},"the source logo",{"src":347,"href":348},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750191004/t7wz1klfb2kxkezksv9t.svg","/es/the-source/",{"text":350,"config":351},"Suscribirse",{"href":352},"#subscribe",[354,358,361],{"text":355,"config":356},"Inteligencia artificial",{"href":357},"/es/the-source/ai/",{"text":97,"config":359},{"href":360},"/es/the-source/security/",{"text":362,"config":363},"Plataforma e infraestructura",{"href":364},"/es/the-source/platform/","content:shared:es:the-source:navigation.yml","Navigation","shared/es/the-source/navigation.yml","shared/es/the-source/navigation",{"_path":370,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"title":371,"description":372,"submitMessage":373,"formData":374,"_id":378,"_type":29,"_source":30,"_file":379,"_stem":380,"_extension":33},"/shared/es/the-source/newsletter","Boletín The Source","Manténgase al día con información sobre el futuro del desarrollo de software.","Se ha suscrito correctamente al boletín The Source.",{"config":375},{"formId":376,"formName":377,"hideRequiredLabel":329},28470,"thesourcenewsletter","content:shared:es:the-source:newsletter.yml","shared/es/the-source/newsletter.yml","shared/es/the-source/newsletter",{"amanda-rueda":382,"andre-michael-braun":383,"andrew-haschka":384,"ayoub-fandi":385,"brian-wald":386,"bryan-ross":387,"chandler-gibbons":388,"dave-steer":389,"ddesanto":390,"derek-debellis":391,"emilio-salvador":392,"erika-feldman":393,"george-kichukov":394,"gitlab":395,"grant-hickman":396,"haim-snir":397,"iganbaruch":398,"jlongo":399,"joel-krooswyk":11,"josh-lemos":400,"julie-griffin":401,"kristina-weis":402,"lee-faus":403,"ncregan":404,"rschulman":405,"sabrina-farmer":406,"sandra-gittlen":407,"sharon-gaudin":408,"stephen-walters":409,"taylor-mccaslin":410},"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",{"allArticles":412,"visibleArticles":475,"showAllBtn":329},[413,454],{"_path":414,"_dir":415,"_draft":6,"_partial":6,"_locale":7,"slug":416,"type":417,"category":415,"config":418,"seo":422,"content":426,"_id":451,"_type":29,"title":423,"_source":30,"_file":452,"_stem":453,"_extension":33,"keyTakeaways":427,"description":431,"heroImage":425,"date":432,"timeToRead":433,"articleBody":434,"faq":435},"/es/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":419,"featured":6,"articleType":420,"author":27,"gatedAsset":421,"isHighlighted":6,"authorName":11},"TheSourceArticle","Regular","source-lp-how-a-devsecops-platform-drives-business-success-the-complete-guide",{"title":423,"ogTitle":423,"description":424,"ogDescription":424,"ogImage":425,"noIndex":329},"Por qué el código heredado es un riesgo y cómo ayuda la IA","Descubra cómo la refactorización del código con IA moderniza sistemas heredados, refuerza protocolos de seguridad y lleva la organización al futuro.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463670/cdynzww9p2annh3mmbhl.png",{"keyTakeaways":427,"description":431,"heroImage":425,"title":423,"date":432,"timeToRead":433,"articleBody":434,"faq":435},[428,429,430],"Mantener código heredado es costoso y demandante. Además, si no es compatible con las herramientas de seguridad más recientes, puede representar una responsabilidad significativa para las organizaciones de todos los sectores.","La refactorización del código es una estrategia que permite mejorar la legibilidad del código, lo que fortalece la estabilidad de código base y aumenta la productividad y eficiencia de los desarrolladores.","Combinada con herramientas de seguridad preventivas, la refactorización del código con tecnología de IA puede ayudar a los equipos a modernizar su código heredado y, al mismo tiempo, reducir el riesgo de vulnerabilidades de seguridad durante el proceso.","Descubra cómo la refactorización del código con tecnología de IA puede modernizar sistemas heredados, reforzar sus protocolos de seguridad e impulsar a su organización hacia el futuro.","2025-01-15","Lectura de 6 min","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/2024/08/26/refactor-code-into-modern-languages-with-ai-powered-gitlab-duo/), too. For example, tools like [GitLab Duo](https://about.gitlab.com/blog/2024/04/18/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/2024/06/06/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/2022/10/25/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.",[436,439,442,445,448],{"header":437,"content":438},"¿Por qué el código heredado se considera un riesgo de seguridad?","El código heredado es arriesgado porque a menudo utiliza entornos de trabajo obsoletos o lenguajes de programación que carecen de medidas de seguridad modernas. Esto lo hace incompatible con las herramientas de seguridad más recientes, lo que incrementa el riesgo de vulnerabilidades. Además, los atacantes pueden explotar con facilidad el software sin soporte o al final de su vida útil, comprometiendo así la integridad y la seguridad de los datos.",{"header":440,"content":441},"¿Cómo puede la refactorización de código con tecnología de IA mejorar la seguridad del código heredado?","La refactorización del código con tecnología de IA moderniza los sistemas heredados mediante:\n- La identificación de patrones de codificación obsoletos o inseguros, y la sugerencia de alternativas más seguras.\n- La automatización de mejoras en el código sin modificar su comportamiento externo, lo que mejora la legibilidad y la capacidad de mantenimiento.\n- La generación de pruebas de seguridad y el análisis de causas raíz de vulnerabilidades, lo que permite una corrección más rápida,\nEste enfoque reduce el esfuerzo manual y acelera la transición a códigos base más seguros, eficientes y escalables.",{"header":443,"content":444},"¿Qué desafíos puede esperar al mantener el código heredado sin la ayuda de la IA?","Algunos de los principales desafíos incluyen:\n - __Falta de soporte para herramientas de seguridad modernas__: los escáneres de seguridad tradicionales pueden no ser compatibles con el código heredado.\n- __Entornos de trabajo complejos y obsoletos__: los desarrolladores pueden no tener la experiencia necesaria para mantener o actualizar el código antiguo.\n- __Altos costos de mantenimiento__: mantener sistemas heredados es costoso y demanda mucho tiempo, lo que desvía el foco de la innovación.\n- __Riesgos de seguridad__: el código obsoleto es más propenso a vulnerabilidades y ataques, lo que aumenta el riesgo de filtraciones de datos.",{"header":446,"content":447},"¿Cómo GitLab apoya la refactorización con tecnología de IA y la modernización del código heredado?","GitLab utiliza GitLab Duo para ayudar a los desarrolladores a comprender el código heredado, proporcionando explicaciones y generando código nuevo. También ofrece:\n - Análisis de seguridad con tecnología de IA para detectar vulnerabilidades en código heredado.\n- Pruebas y correcciones automatizadas para mejorar la seguridad del código.\n- Listas de materiales de software dinámicas (SBOM) para obtener visibilidad sobre las licencias y los riesgos de seguridad, incluidos los componentes heredados",{"header":449,"content":450},"¿Cuáles son los beneficios del uso de la IA para la refactorización de código heredado?","Estos son solo algunos de los beneficios:\n - __Mayor seguridad__: la IA identifica y mitiga vulnerabilidades, fortaleciendo la postura de seguridad.\n- __Mayor productividad__: la automatización de tareas repetitivas permite que los desarrolladores se centren en la innovación.\n- __Eficiencia de costos__: la modernización del código reduce los costos de mantenimiento al adaptarlo a entornos de trabajo y herramientas actuales.\n- __Modernización escalable__: la IA permite una refactorización escalable y consistente en códigos bases complejos, lo que prepara los activos de software de la organización para la perennidad.","content:es:the-source:security:why-legacy-code-is-a-security-risk-and-how-ai-can-help:index.yml","es/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help/index.yml","es/the-source/security/why-legacy-code-is-a-security-risk-and-how-ai-can-help/index",{"_path":455,"_dir":415,"_draft":6,"_partial":6,"_locale":7,"config":456,"seo":458,"content":462,"type":417,"category":415,"slug":471,"_id":472,"_type":29,"title":463,"_source":30,"_file":473,"_stem":474,"_extension":33,"date":464,"description":465,"timeToRead":433,"heroImage":461,"keyTakeaways":466,"articleBody":470},"/es/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design",{"layout":9,"template":419,"articleType":420,"author":27,"featured":6,"gatedAsset":457,"isHighlighted":6,"authorName":11},"source-lp-guide-to-dynamic-sboms",{"title":459,"description":460,"ogImage":461},"Refuerce su ciberseguridad con Secure by Design | GitLab","Consulte los principios de Secure by Design y conceptos relacionados, y descubra qué implementar para integrar la seguridad en el desarrollo de software.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463932/pnfdgovoaq5qd1yprxuc.png",{"title":463,"date":464,"description":465,"timeToRead":433,"heroImage":461,"keyTakeaways":466,"articleBody":470},"Fortalezca su estrategia de ciberseguridad con el concepto Secure by Design","2024-10-29","Eche un vistazo más de cerca a los principios de Secure by Design y a los conceptos relacionados, y descubra las medidas que puede implementar hoy para integrar la seguridad en sus procesos de desarrollo de software.",[467,468,469],"Secure by Design, Secure by Default y Secure by Demand previenen vulnerabilidades y ataques a la cadena de suministro de software, animando a fabricantes tecnológicos a integrar la seguridad en todos los aspectos del diseño y desarrollo de productos.","Adoptar un enfoque integral de DevSecOps y crear y mantener listas de materiales de software (SBOM) son medidas clave para cumplir con los principios de Secure by Design.","La integración de la IA en el ciclo de desarrollo de software también puede acelerar los procesos de desarrollo, fortalecer la seguridad y facilitar la resolución de vulnerabilidades.","El enfoque de una organización con respecto a la ciberseguridad debe evolucionar constantemente a medida que aumentan las superficies de ataque y se adquiere más conocimiento sobre las amenazas potenciales. Al comprender que las amenazas pueden provenir de cualquier punto de la cadena de suministro de software, el enfoque Secure by Design integra la seguridad en las fases de diseño, programación, prueba e implementación del desarrollo de software. Como estándar para las agencias federales de Estados Unidos, y para cualquier organización que utilice su software, el enfoque Secure by Design se ha convertido en un verdadero punto de referencia para integrar la seguridad en el ciclo de desarrollo de software.\n\nCon el tiempo, el concepto Secure by Design se ha diversificado en conceptos relacionados como _Secure by Default_ y _Secure by Demand_, que enfatizan diferentes estrategias para implementar los principios de Secure by Design:\n\n- [Secure by Default](#en-que-consiste-el-concepto-secure-by-default) se centra en garantizar que todos los productos de software sean seguros desde el primer momento.\n- [Secure by Demand](#en-que-consiste-el-concepto-secure-by-demand) amplía los principios del concepto Secure by Design al proceso de adquisiciones.\n\nA continuación, presentamos un análisis más detallado de los principios de Secure by Design y de estos enfoques relacionados, así como una [guía paso a paso](#desarrollar-una-estrategia-de-ciberseguridad-que-cumpla-con-los-principios-de-Secure-by-Design) sobre cómo las organizaciones pueden adaptar sus estrategias para prevenir vulnerabilidades explotables y ataques a la cadena de suministro de software.\n\n## ¿En qué consiste el concepto Secure by Design?\nLa Agencia de Ciberseguridad y Seguridad de Infraestructura (CISA) de los Estados Unidos presentó su [Iniciativa Secure by Design](https://www.cisa.gov/securebydesign) en abril de 2023, con un enfoque en tres principios clave de seguridad de software: \n\n1. Asumir la responsabilidad de los resultados de seguridad del cliente\n1. Adoptar la transparencia y la rendición de cuentas radicales\n1. Establecer una estructura organizativa y un liderazgo para lograr estos objetivos\n\nEl concepto Secure by Design integra principios y protocolos de seguridad en cada etapa del proceso de desarrollo de software. Esto significa que las medidas de seguridad se integran en las fases de diseño, programación, pruebas e implementación del desarrollo de software, en lugar de añadirse como un aspecto secundario.\n\nEl objetivo del concepto Secure by Design es crear una estructura segura para el software desde el principio, reduciendo así las vulnerabilidades y superficies de ataque potenciales.### ¿En qué consiste el concepto Secure by Default?\nSecure by Default es una rama de Secure by Design que se centra en garantizar que cualquier software o hardware se configure en su forma más segura sin que el usuario deba realizar ajustes adicionales. Los productos que implementan los principios de Secure by Default habilitan automáticamente los controles de seguridad más importantes necesarios para proteger a las organizaciones contra el acceso no autorizado por parte de actores malintencionados. Esto significa que significa que los usuarios no tienen tomar medidas adicionales para garantizar que un producto esté protegido contra las técnicas de explotación más comunes.\n\nLas políticas de Secure by Default incluyen la eliminación de contraseñas predeterminadas y la obligatoriedad de la autenticación multifactor y el inicio de sesión único para permitir que solo los usuarios autorizados accedan a los recursos. Este enfoque también incluye actualizaciones y parches automáticos, así como configuraciones seguras para todas las cuentas de usuario y dispositivos.\n\n### ¿En qué consiste el concepto Secure by Demand?\nEl concepto Secure by Demand combina los principios de Secure by Design con la planificación presupuestaria y los contratos de adquisición, con el fin de impulsar Secure by Design como un mandato tanto para proveedores como para contratistas. La [Guía Secure by Demand de CISA](https://www.cisa.gov/resources-tools/resources/secure-demand-guide) proporciona un conjunto de preguntas y recursos que los clientes de software y responsables de compras pueden utilizar para comprender mejor el enfoque de un proveedor potencial hacia la ciberseguridad. Incluye preguntas sobre las prácticas de autenticación del proveedor, la seguridad de la cadena de suministro de software y la divulgación y reporte de vulnerabilidades.\n\nAl exigir a los proveedores que se adhieran a los principios y protocolos de Secure by Design en sus productos y servicios, las organizaciones pueden ayudar a prevenir que vulnerabilidades potenciales ingresen a su cadena de suministro de software. El enfoque Secure by Demand también incentiva a los proveedores a mejorar continuamente su propia postura de ciberseguridad.\n\n## Desarrollar una estrategia de ciberseguridad que cumpla con los principios de Secure by Design\nA medida que las organizaciones priorizan la transición hacia un modelo Secure by Design, deben cumplir con determinados pasos que incluyen la implementación de prácticas efectivas de DevSecOps, el mantenimiento de una lista de materiales de software (SBOM) y la integración de IA para defenderse contra las amenazas que puedan surgir en cualquier etapa del ciclo de desarrollo de software.\n\n### Adoptar prácticas de DevSecOps\nUna de las primeras medidas para respaldar una postura Secure by Design es un proceso de desarrollo de software seguro: desarrollar, construir, proteger e implementar software utilizando un enfoque integral de DevSecOps.\n\nHoy en día, muchos desarrolladores utilizan herramientas complejas para crear nuevos programas. Según una [encuesta reciente de GitLab](https://about.gitlab.com/developer-survey/), el 62 % de los participantes utiliza 6 o más herramientas para el desarrollo de software, y un 20 % utiliza 11 o más. Esta situación genera ineficiencias que incrementan el riesgo al introducir posibles vulnerabilidades de seguridad.\n\nLos desarrolladores deberían poder acceder a todas las herramientas necesarias para los flujos de trabajo de DevSecOps en una interfaz única y fácil de usar. Con una solución de extremo a extremo, como una [plataforma de DevSecOps](/platform/), las organizaciones pueden implementar un enfoque Secure by Design sin aumentar la carga para los desarrolladores.\n\n### Crear y mantener SBOM\nAdoptar la transparencia es otro aspecto importante del concepto Secure by Design. Las organizaciones deben comprender qué contiene su software, especialmente cuando puede incluir componentes de múltiples fuentes.Las [SBOM son herramientas esenciales para lograr esta transparencia](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/). Proporcionan inventarios detallados de componentes de software, que incluye información sobre versiones, licencias y dependencias, lo que permite una mayor conciencia sobre posibles vulnerabilidades o código malicio. \n\nMantener este inventario permite a las organizaciones comprender plenamente las vulnerabilidades y riesgos potenciales que podrían surgir cuando se incorporan elementos de repositorios de código abierto y componentes de terceros con licencia. Una plataforma de DevSecOps puede ayudar a [generar y actualizar automáticamente SBOM](/solutions/security-compliance/), integrarlas en los flujos de trabajo existentes y vincularlas a las vulnerabilidades asociadas.\n\nSi bien muchas organizaciones ahora utilizan las SBOM, estas deben ser dinámicas, estar conectadas a herramientas de análisis de seguridad y actualizarse de manera constante para ser completamente efectivas. Cuando se integran con herramientas de análisis y con paneles de control, las SBOM pueden proporcionar una forma de identificar los riesgos asociados a una aplicación. Incluso cuando no son necesarias, las SBOM pueden respaldar el cumplimiento de las normas de seguridad al validar que el código sea seguro.\n\n### Uso de la IA en el desarrollo de software\nA medida que las organizaciones exploran formas de utilizar la IA, los flujos de trabajo de desarrollo de software proporcionan un punto de entrada valioso para esta tecnología, que tiene el potencial de acelerar los procesos de desarrollo y mejorar la seguridad.\n\nOrganizaciones de todos los sectores ya están comenzando a explorar estas aplicaciones: el 39 % de los participantes [de la encuesta de GitLab](https://about.gitlab.com/developer-survey/2024/ai/) afirmó que ya está utilizando la IA en el ciclo de desarrollo de software.\n\nAplicar la IA en todo el ciclo de desarrollo de software puede ayudar a las organizaciones a prevenir los silos y los retrasos basados en la IA dentro de los flujos de trabajo de desarrollo. La IA puede desempeñar funciones clave como:\n\n* Explicación del código y refactorización del código heredado a [lenguajes con memoria segura](https://about.gitlab.com/blog/memory-safe-vs-unsafe/).\n* [Análisis de causa raíz para pipelines de DevSecOps](https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/), que acelera la resolución de problemas complejos durante las fases de prueba.\n* [Resolución de vulnerabilidades](https://about.gitlab.com/es/the-source/ai/understand-and-resolve-vulnerabilities-with-ai-powered-gitlab-duo/) para ayudar a conciliar las vulnerabilidades conocidas, apoyando una corrección más exhaustiva\n\nAl integrar la inteligencia artificial en sus flujos de trabajo, es crucial que los líderes prioricen la privacidad y la seguridad de los datos. Un aspecto fundamental de la adopción de un enfoque Secure by Design es desarrollar una [estrategia de IA que proteja los datos confidenciales y los derechos de propiedad intelectual](https://about.gitlab.com/the-source/ai/building-a-transparency-first-ai-strategy-7-questions-to-ask-your-devops/).\n\n### Lo que sigue\nEs posible que el enfoque Secure by Design pronto se convierta en el predeterminado para crear un ecosistema de software más confiable. El [gobierno de Estados Unidos](https://about.gitlab.com/the-source/security/national-cybersecurity-strategy-a-wake-up-call-for-software-developers/) colabora actualmente con desarrolladores de software para establecer marcos que incentiven legalmente al sector privado a desarrollar y lanzar software Secure by Design, lo que impulsa a las empresas a realizar mayores inversiones en tecnologías y prácticas de seguridad.\n\nCon la seguridad integrada en el desarrollo de software desde el inicio, la transparencia lograda a través de SBOM efectivas, y la IA que optimiza el proceso de desarrollo, todos los involucrados en el ciclo de desarrollo de software estarán mejor posicionados para alcanzar el éxito.","strengthen-your-cybersecurity-strategy-with-secure-by-design","content:es:the-source:security:strengthen-your-cybersecurity-strategy-with-secure-by-design:index.yml","es/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design/index.yml","es/the-source/security/strengthen-your-cybersecurity-strategy-with-secure-by-design/index",[413,454],{"ai":355,"platform":362,"security":97},1754424533910]