{"id":139864,"date":"2025-07-31T23:11:58","date_gmt":"2025-07-31T21:11:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words"},"modified":"2025-07-31T23:11:58","modified_gmt":"2025-07-31T21:11:58","slug":"perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words","title":{"rendered":"Se han interceptado 4 cuentas en PyPI y se han lanzado versiones maliciosas de num2words","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Se ha revelado informaci\u00f3n sobre las v\u00edctimas de phishing, sobre el cual los administradores del repositorio de paquetes de Python PyPI (Python Package Index) advirtieron recientemente. Como resultado del env\u00edo de mensajes notificando la necesidad de confirmar su correo electr\u00f3nico, que enlazaban a un sitio falso pypj.org (la letra &#171;j&#187; en lugar de &#171;i&#187;), se lograron secuestrar las cuentas de 4 mantenedores.     <\/p>\n<p>En consecuencia, los atacantes generaron dos tokens para acceder a la API y publicaron dos versiones del proyecto num2words (0.5.15 y 0.5.16), que conten\u00edan c\u00f3digo malicioso. El m\u00f3dulo num2words, que tiene m\u00e1s de 3 millones de descargas al mes, proporciona funciones para convertir n\u00fameros en texto. Las versiones maliciosas de num2words fueron eliminadas por los administradores de PyPI una hora despu\u00e9s de su publicaci\u00f3n.    <\/p>\n<p>Para eludir la protecci\u00f3n de la cuenta mediante la autenticaci\u00f3n de dos factores, los atacantes utilizaron un proxy transparente para redirigir el tr\u00e1fico desde el sitio de phishing pypj.org al sitio real pypi.org, lo que gener\u00f3 en el usuario la impresi\u00f3n de estar trabajando con el verdadero cat\u00e1logo de PyPI. La p\u00e1gina de inicio de sesi\u00f3n tambi\u00e9n fue proxyada y los atacantes controlaban no solo la contrase\u00f1a ingresada inicialmente, sino tambi\u00e9n la respuesta a la solicitud de verificaci\u00f3n del segundo factor de autenticaci\u00f3n.     <\/p>\n<p>Para contrarrestar ataques futuros a trav\u00e9s del proxy, los administradores de PyPI implementaron una protecci\u00f3n que verifica el dominio mediante JavaScript del lado del cliente y, en caso de discrepancia en los hashes, <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/domain\/\"   title=\"dominios\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3189\">dominios<\/a> emite una advertencia (nada impide al atacante filtrar este script o reemplazar el hash de verificaci\u00f3n en el nivel del proxy).<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63656\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0441\u043a\u0440\u044b\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0436\u0435\u0440\u0442\u0432\u0430\u0445 \u0444\u0438\u0448\u0438\u043d\u0433\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430 \u0434\u043d\u044f\u0445 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u043b\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index). \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0441 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435\u043c \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0441\u0432\u043e\u0439 email, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0441\u044b\u043b\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 pypj.org (\u0431\u0443\u043a\u0432\u0430 &#171;j&#187; \u0432\u043c\u0435\u0441\u0442\u043e &#171;i&#187;), \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 4 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0445. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430\u043c\u0438 \u0431\u044b\u043b\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u0432\u0430 \u0442\u043e\u043a\u0435\u043d\u0430 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a API [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-139864","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0441\u043a\u0440\u044b\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0436\u0435\u0440\u0442\u0432\u0430\u0445 \u0444\u0438\u0448\u0438\u043d\u0433\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430 \u0434\u043d\u044f\u0445 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u043b\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/news\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u044b 4 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 PyPI \u0438 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b num2words | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0441\u043a\u0440\u044b\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0436\u0435\u0440\u0442\u0432\u0430\u0445 \u0444\u0438\u0448\u0438\u043d\u0433\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430 \u0434\u043d\u044f\u0445 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u043b\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-07-31T21:11:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-07-31T21:11:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Se interceptaron 4 cuentas en PyPI y se publicaron versiones maliciosas de num2words | ProHoster","description":"Se ha revelado informaci\u00f3n sobre las v\u00edctimas de phishing, de las cuales advirtieron recientemente los administradores del repositorio de paquetes de Python PyPI (Python Package Index).","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u044b 4 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 PyPI \u0438 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b num2words | ProHoster","og:description":"\u0420\u0430\u0441\u043a\u0440\u044b\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0436\u0435\u0440\u0442\u0432\u0430\u0445 \u0444\u0438\u0448\u0438\u043d\u0433\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430 \u0434\u043d\u044f\u0445 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u043b\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index).","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-07-31T21:11:58+00:00","article:modified_time":"2025-07-31T21:11:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"139864","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-11 11:16:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 14:03:23","updated":"2026-02-11 11:16:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/139864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=139864"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/139864\/revisions"}],"predecessor-version":[{"id":160582,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/139864\/revisions\/160582"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=139864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=139864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=139864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}