{"id":243188,"date":"2026-08-26T01:16:35","date_gmt":"2026-08-26T06:16:35","guid":{"rendered":"https:\/\/lifeboat.com\/blog\/2026\/08\/hackers-abuse-npm-mirrors-to-host-phishing-redirect-pages"},"modified":"2026-08-26T01:16:35","modified_gmt":"2026-08-26T06:16:35","slug":"hackers-abuse-npm-mirrors-to-host-phishing-redirect-pages","status":"publish","type":"post","link":"https:\/\/lifeboat.com\/blog\/2026\/08\/hackers-abuse-npm-mirrors-to-host-phishing-redirect-pages","title":{"rendered":"Hackers abuse npm mirrors to host phishing redirect pages"},"content":{"rendered":"<p><a class=\"aligncenter blog-photo\" href=\"https:\/\/lifeboat.com\/blog.images\/hackers-abuse-npm-mirrors-to-host-phishing-redirect-pages.jpg\"><\/a><\/p>\n<p>Threat actors are abusing npm and its mirrors to host malicious HTML pages that impersonate Cloudflare CAPTCHAs to redirect visitors to attacker-controlled websites.<\/p>\n<p>The technique was previously spotted in July by security researcher <a href=\"https:\/\/twitter.com\/inf0stache\/status\/2072889597491548203\" target=\"_blank\" rel=\"nofollow noopener\">inf0stache<\/a>, who found a \u2018china_airlines\u2019 npm package that used a fake Cloudflare verification page to redirect visitors to a malicious domain, and was also reported by <a href=\"https:\/\/www.intelfusions.com\/news\/china-airlines-npm-fake-cloudflare-clickfix-phishing\" target=\"_blank\" rel=\"nofollow noopener\">IntelFusions<\/a>.<\/p>\n<p>In a later report, OX Security discovered 24 npm packages containing the same malicious HTML page hosted on npm and various mirrors.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Threat actors are abusing npm and its mirrors to host malicious HTML pages that impersonate Cloudflare CAPTCHAs to redirect visitors to attacker-controlled websites. The technique was previously spotted in July by security researcher inf0stache, who found a \u2018china_airlines\u2019 npm package that used a fake Cloudflare verification page to redirect visitors to a malicious domain, and [\u2026]<\/p>\n","protected":false},"author":427,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-243188","post","type-post","status-publish","format-standard","hentry","category-cybercrime-malcode"],"_links":{"self":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts\/243188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/users\/427"}],"replies":[{"embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/comments?post=243188"}],"version-history":[{"count":0,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts\/243188\/revisions"}],"wp:attachment":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/media?parent=243188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/categories?post=243188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/tags?post=243188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}