{"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\/pt\/blog\/news\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words","title":{"rendered":"Quatro contas foram interceptadas no PyPI e lan\u00e7amentos maliciosos do num2words foram liberados.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Foram divulgadas informa\u00e7\u00f5es sobre as v\u00edtimas de phishing, sobre as quais os administradores do reposit\u00f3rio de pacotes Python PyPI (Python Package Index) alertaram recentemente. Como resultado de uma campanha de mensagens solicitando a confirma\u00e7\u00e3o do email, que direcionavam para um site falso pypj.org (a letra &#171;j&#187; no lugar da &#171;i&#187;), contas de 4 mantenedores foram comprometidas.     <\/p>\n<p>Os criminosos geraram dois tokens de acesso \u00e0 API e publicaram duas vers\u00f5es do projeto num2words (0.5.15 e 0.5.16), contendo c\u00f3digo malicioso. O m\u00f3dulo num2words, que possui mais de 3 milh\u00f5es de downloads mensais, fornece fun\u00e7\u00f5es para converter n\u00fameros em representa\u00e7\u00e3o textual. As vers\u00f5es maliciosas do num2words foram removidas pelos administradores do PyPI uma hora ap\u00f3s a publica\u00e7\u00e3o.    <\/p>\n<p>Para contornar a prote\u00e7\u00e3o da conta usando autentica\u00e7\u00e3o de dois fatores, os atacantes usaram o proxy transparente do tr\u00e1fego do site de phishing pypj.org para o verdadeiro site pypi.org, levando o usu\u00e1rio a acreditar que estava trabalhando com o verdadeiro cat\u00e1logo do PyPI. A p\u00e1gina de login tamb\u00e9m foi proxyada, permitindo que os atacantes controlassem n\u00e3o apenas a senha inicialmente inserida, mas tamb\u00e9m a resposta \u00e0 verifica\u00e7\u00e3o do segundo fator de autentica\u00e7\u00e3o.     <\/p>\n<p>Para impedir futuros ataques atrav\u00e9s do proxy, os administradores do PyPI implementaram uma prote\u00e7\u00e3o que verifica o dom\u00ednio via JavaScript do lado do cliente e, em caso de diverg\u00eancia nos hashes, <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/domain\/\"   title=\"dom\u00ednios\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3189\">dom\u00ednios<\/a> emite um aviso (nada impede que o atacante filtre tal script no n\u00edvel do proxy ou troque o hash de verifica\u00e7\u00e3o).<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/news\/perehvacheny-4-uchyotnye-zapisi-v-pypi-i-vypushheny-vredonosnye-relizy-num2words\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd474 contas no PyPI foram interceptadas e vers\u00f5es maliciosas do num2words foram lan\u00e7adas | ProHoster","description":"Foi revelada informa\u00e7\u00f5es sobre as v\u00edtimas de phishing que os administradores do reposit\u00f3rio de pacotes Python PyPI (Python Package Index) alertaram recentemente.","canonical_url":"https:\/\/prohoster.info\/pt\/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":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/139864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=139864"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/139864\/revisions"}],"predecessor-version":[{"id":160582,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/139864\/revisions\/160582"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=139864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=139864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=139864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}