{"id":1140907,"date":"2024-01-18T14:55:32","date_gmt":"2024-01-18T14:55:32","guid":{"rendered":"https:\/\/teknomers.com\/es\/una-falla-de-tensorflow-ci-cd-expuso-la-cadena-de-suministro-a-ataques-de-envenenamiento\/"},"modified":"2024-01-18T14:55:36","modified_gmt":"2024-01-18T14:55:36","slug":"una-falla-de-tensorflow-ci-cd-expuso-la-cadena-de-suministro-a-ataques-de-envenenamiento","status":"publish","type":"post","link":"https:\/\/teknomers.com\/es\/una-falla-de-tensorflow-ci-cd-expuso-la-cadena-de-suministro-a-ataques-de-envenenamiento\/","title":{"rendered":"Una falla de TensorFlow CI\/CD expuso la cadena de suministro a ataques de envenenamiento"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p><span class=\"p-author\"><i class=\"icon-font icon-calendar\">\ue802<\/i><span class=\"author\">18 de enero de 2024<\/span><i class=\"icon-font icon-user\">\ue804<\/i><span class=\"author\">Sala de redacci\u00f3n<\/span><\/span><span class=\"p-tags\">Ataques a la cadena de suministro \/ Seguridad de la IA<\/span><\/p>\n<\/div>\n<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both;\"><a rel=\"nofollow\" href=\"https:\/\/teknomers.com\/es\/wp-content\/uploads\/2024\/01\/Una-falla-de-TensorFlow-CICD-expuso-la-cadena-de-suministro.jpg\" style=\"clear: left; display: block; float: left; text-align: center;\"><\/a><\/div>\n<p>Configuraciones err\u00f3neas de integraci\u00f3n continua y entrega continua (CI\/CD) descubiertas en el c\u00f3digo abierto <a rel=\"nofollow noopener\" href=\"https:\/\/github.com\/tensorflow\/tensorflow\" target=\"_blank\">TensorFlow<\/a> El marco de aprendizaje autom\u00e1tico podr\u00eda haberse aprovechado para orquestar <a rel=\"nofollow noopener\" href=\"https:\/\/www.reversinglabs.com\/blog\/a-partial-history-of-software-supply-chain-attacks\" target=\"_blank\">ataques a la cadena de suministro<\/a>.<\/p>\n<p>Un atacante podr\u00eda abusar de las configuraciones err\u00f3neas para &#8220;llevar a cabo un compromiso de la cadena de suministro de las versiones de TensorFlow en GitHub y PyPi al comprometer los agentes de compilaci\u00f3n de TensorFlow a trav\u00e9s de una solicitud de extracci\u00f3n maliciosa&#8221;, dijeron los investigadores de Praetorian Adnan Khan y John Stawinski. <a rel=\"nofollow noopener\" href=\"https:\/\/www.praetorian.com\/blog\/tensorflow-supply-chain-compromise-via-self-hosted-runner-attack\/\" target=\"_blank\">dicho<\/a> en un informe publicado esta semana.<\/p>\n<p>La explotaci\u00f3n exitosa de estos problemas podr\u00eda permitir a un atacante externo cargar versiones maliciosas en el repositorio de GitHub, obtener la ejecuci\u00f3n remota de c\u00f3digo en el ejecutor de GitHub autohospedado e incluso recuperar un token de acceso personal (PAT) de GitHub para el <a rel=\"nofollow noopener\" href=\"https:\/\/github.com\/tensorflow-jenkins\" target=\"_blank\">usuario tensorflow-jenkins<\/a>.<\/p>\n<p>TensorFlow utiliza GitHub Actions para automatizar el proceso de creaci\u00f3n, prueba e implementaci\u00f3n de software.  Los ejecutores, que se refieren a m\u00e1quinas que ejecutan trabajos en un flujo de trabajo de GitHub Actions, pueden ser autohospedados o alojados en GitHub.<\/p>\n<div class=\"check_two clear babsi\"><center class=\"cf\"><a rel=\"nofollow noopener\" href=\"https:\/\/thn.news\/tl_d2\" target=\"_blank\" title=\"Cybersecurity\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"La seguridad cibern\u00e9tica\" src=\"https:\/\/teknomers.com\/es\/wp-content\/uploads\/2024\/01\/1705323196_227_Balada-Injector-infecta-mas-de-7100-sitios-de-WordPress-utilizando.jpg\" width=\"727\" height=\"90\"\/><\/a><\/center><\/div>\n<p>&#8220;Recomendamos que utilice \u00fanicamente ejecutores autohospedados con repositorios privados&#8221;, GitHub <a rel=\"nofollow noopener\" href=\"https:\/\/docs.github.com\/en\/actions\/hosting-your-own-runners\/managing-self-hosted-runners\/about-self-hosted-runners#self-hosted-runner-security\" target=\"_blank\">notas<\/a> en su documentaci\u00f3n.  &#8220;Esto se debe a que las bifurcaciones de su repositorio p\u00fablico pueden potencialmente ejecutar c\u00f3digo peligroso en su m\u00e1quina ejecutora autohospedada al crear una solicitud de extracci\u00f3n que ejecuta el c\u00f3digo en un flujo de trabajo&#8221;.<\/p>\n<p>Dicho de otra manera, esto permite a cualquier colaborador ejecutar c\u00f3digo arbitrario en el ejecutor autohospedado enviando una solicitud de extracci\u00f3n maliciosa.<\/p>\n<p>Sin embargo, esto no plantea ning\u00fan problema de seguridad con los ejecutores alojados en GitHub, ya que cada ejecutor es ef\u00edmero y es una m\u00e1quina virtual limpia y aislada que se destruye al final de la ejecuci\u00f3n del trabajo.<\/p>\n<p>Praetorian dijo que pudo identificar flujos de trabajo de TensorFlow que se ejecutaron en ejecutores autohospedados y posteriormente encontr\u00f3 <a rel=\"nofollow noopener\" href=\"https:\/\/docs.github.com\/en\/pull-requests\/collaborating-with-pull-requests\/proposing-changes-to-your-work-with-pull-requests\/creating-a-pull-request-from-a-fork\" target=\"_blank\">solicitudes de extracci\u00f3n de bifurcaci\u00f3n<\/a> de colaboradores anteriores que activaron autom\u00e1ticamente los flujos de trabajo de CI\/CD apropiados sin requerir aprobaci\u00f3n.<\/p>\n<p>Por lo tanto, un adversario que busque trojanizar un repositorio de destino podr\u00eda corregir un error tipogr\u00e1fico o realizar un peque\u00f1o pero leg\u00edtimo cambio de c\u00f3digo, crear una solicitud de extracci\u00f3n para ello y luego esperar hasta que la solicitud de extracci\u00f3n se fusione para convertirse en colaborador.  Esto les permitir\u00eda ejecutar c\u00f3digo en el corredor sin generar ninguna se\u00f1al de alerta mediante la creaci\u00f3n de una solicitud de extracci\u00f3n no autorizada.<\/p>\n<p>Un examen m\u00e1s detenido de los registros de flujo de trabajo revel\u00f3 que el ejecutor autohospedado no s\u00f3lo era no ef\u00edmero (abriendo as\u00ed la puerta a la persistencia), sino que tambi\u00e9n <a rel=\"nofollow noopener\" href=\"https:\/\/docs.github.com\/en\/actions\/security-guides\/automatic-token-authentication\" target=\"_blank\">GITHUB_TOKEN<\/a> Los permisos asociados con el flujo de trabajo inclu\u00edan amplios permisos de escritura.<\/p>\n<p>&#8220;Porque el GITHUB_TOKEN ten\u00eda la <a rel=\"nofollow noopener\" href=\"https:\/\/docs.github.com\/en\/actions\/using-jobs\/assigning-permissions-to-jobs\" target=\"_blank\">Contenido:permiso de escritura<\/a>podr\u00eda cargar lanzamientos en https:\/\/github[.]com\/tensorflow\/tensorflow\/releases\/&#8221;, dijeron los investigadores. &#8220;Un atacante que comprometiera uno de estos `GITHUB_TOKEN podr\u00eda agregar sus propios archivos a los Activos de lanzamiento&#8221;.<\/p>\n<p>Adem\u00e1s de eso, los permisos de contenido:escritura podr\u00edan usarse como arma para enviar c\u00f3digo directamente al repositorio de TensorFlow inyectando de forma encubierta el c\u00f3digo malicioso en un <a rel=\"nofollow noopener\" href=\"https:\/\/docs.github.com\/en\/pull-requests\/collaborating-with-pull-requests\/proposing-changes-to-your-work-with-pull-requests\/about-branches\" target=\"_blank\">rama caracter\u00edstica<\/a> y fusionarlo con la rama principal.<\/p>\n<p>Eso no es todo.  Un actor de amenazas podr\u00eda robar el AWS_PYPI_ACCOUNT_TOKEN utilizado en el flujo de trabajo de lanzamiento para autenticarse en el registro del \u00cdndice de paquetes de Python (PyPI) y cargar un archivo Python .whl malicioso, envenenando efectivamente el paquete.<\/p>\n<p>&#8220;Un atacante tambi\u00e9n podr\u00eda usar los permisos de GITHUB_TOKEN para comprometer el secreto del repositorio JENKINS_TOKEN, aunque este secreto no se us\u00f3 dentro de los flujos de trabajo que se ejecutaron en los corredores autohospedados&#8221;, dijeron los investigadores.<\/p>\n<div class=\"check_two clear babsi\"><center class=\"cf\"><a rel=\"nofollow noopener\" href=\"https:\/\/thn.news\/3UvK59NV\" target=\"_blank\" title=\"Cybersecurity\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"La seguridad cibern\u00e9tica\" src=\"https:\/\/teknomers.com\/es\/wp-content\/uploads\/2024\/01\/Nuevo-JinxLoader-dirigido-a-usuarios-con-malware-Formbook-y-XLoader.png\" width=\"727\" height=\"90\"\/><\/a><\/center><\/div>\n<p>Tras la divulgaci\u00f3n responsable el 1 de agosto de 2023, los mantenedores del proyecto abordaron las deficiencias a partir del 20 de diciembre de 2023, exigiendo la aprobaci\u00f3n de los flujos de trabajo enviados desde todas las solicitudes de extracci\u00f3n de bifurcaciones y cambiando los permisos GITHUB_TOKEN a solo lectura para los flujos de trabajo que se ejecutaron en corredores autohospedados.<\/p>\n<p>&#8220;Los ataques CI\/CD similares est\u00e1n aumentando a medida que m\u00e1s organizaciones automatizan sus procesos CI\/CD&#8221;, dijeron los investigadores.<\/p>\n<p>&#8220;Las empresas de IA\/ML son particularmente vulnerables ya que muchos de sus flujos de trabajo requieren una potencia inform\u00e1tica significativa que no est\u00e1 disponible en los ejecutores alojados en GitHub, de ah\u00ed la prevalencia de los ejecutores autohospedados&#8221;.<\/p>\n<p>La divulgaci\u00f3n se produce cuando ambos investigadores revelaron que varios <a rel=\"nofollow noopener\" href=\"https:\/\/adnanthekhan.com\/2023\/12\/20\/one-supply-chain-attack-to-rule-them-all\/\" target=\"_blank\">repositorios p\u00fablicos de GitHub<\/a>incluidos aquellos asociados con <a rel=\"nofollow noopener\" href=\"https:\/\/johnstawinski.com\/2024\/01\/05\/worse-than-solarwinds-three-steps-to-hack-blockchains-github-and-ml-through-github-actions\/\" target=\"_blank\">Redes de ch\u00eda, Microsoft DeepSpeed<\/a>y <a rel=\"nofollow noopener\" href=\"https:\/\/johnstawinski.com\/2024\/01\/11\/playing-with-fire-how-we-executed-a-critical-supply-chain-attack-on-pytorch\/\" target=\"_blank\">PyTorch<\/a>son susceptibles a la inyecci\u00f3n de c\u00f3digo malicioso a trav\u00e9s de ejecutores de GitHub Actions autohospedados.<\/p>\n<p><\/p>\n<div class=\"cf note-b\">\u00bfEncontr\u00f3 interesante este art\u00edculo?  Siga con nosotros <a rel=\"nofollow noopener\" href=\"https:\/\/twitter.com\/thehackersnews\" target=\"_blank\">Gorjeo <i class=\"icon-font icon-twitter\">\uf099<\/i><\/a>  y <a rel=\"nofollow noopener\" href=\"https:\/\/www.linkedin.com\/company\/thehackernews\/\" target=\"_blank\">LinkedIn<\/a> para leer m\u00e1s contenido exclusivo que publicamos.<\/div>\n<\/div>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\n<br \/><br \/>\n<br \/><a href=\"https:\/\/thehackernews.com\/2024\/01\/tensorflow-cicd-flaw-exposed-supply.html\" rel=\"nofollow noopener\" target=\"_blank\">ttn-es-57<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ue80218 de enero de 2024\ue804Sala de redacci\u00f3nAtaques a la cadena de suministro \/ Seguridad de la IA Configuraciones<\/p>\n","protected":false},"author":1,"featured_media":1140908,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[4657,4656,2346,4661,3580,215735,4664,37774,86995,2503,4662,4668,201033,4654,201031,4659,4653,4655,4666,4665,201032,2751,226161,158,4660],"class_list":["post-1140907","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia","tag-actualizaciones-ciberneticas","tag-actualizaciones-de-seguridad-cibernetica","tag-ataques","tag-ataques-ciberneticos","tag-cadena","tag-cicd","tag-como-hackear","tag-envenenamiento","tag-expuso","tag-falla","tag-filtracion-de-datos","tag-la-seguridad-informatica","tag-las-noticias-de-los-piratas-informaticos","tag-noticias-ciberneticas","tag-noticias-de-piratas-informaticos","tag-noticias-de-pirateria","tag-noticias-de-seguridad-cibernetica","tag-noticias-de-seguridad-cibernetica-hoy","tag-seguridad-de-informacion","tag-seguridad-de-la-red","tag-software-malicioso-ransomware","tag-suministro","tag-tensorflow","tag-una","tag-vulnerabilidad-de-software"],"_links":{"self":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/posts\/1140907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/comments?post=1140907"}],"version-history":[{"count":0,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/posts\/1140907\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/media\/1140908"}],"wp:attachment":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/media?parent=1140907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/categories?post=1140907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/tags?post=1140907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}