+− THE DAILY DIFFdev & AI news
SHIP IT

ການເພີ່ມຂຶ້ນຂອງ Dependabot ໄດ້ເຜີຍແຜ່ worm. 22 packages.

ບັອດເປີດ pull request.

ບັອດເປີດ pull request. ມະນຸດລວມມັນພາຍຫຼັງ 24 ນາທີ. 95 ນາທີຫຼັງຈາກນັ້ນ, worm ໄດ້ເຜີຍແຜ່ 110 ລຸ້ນທີ່ເປັນອັນຕະລາຍຂອງ 22 npm packages ຂອງລາວ, ພາຍໃຕ້ຊື່ຂອງລາວ, ດ້ວຍ token ທີ່ມັນພົບໃນ CI ຂອງລາວ.

ອ່ານສະບັບລາຍລັກອັກສອນ (ພາສາອັງກິດ) ↗

ສິ່ງທີ່ວິດີໂອນີ້ກວມເອົາ

  • ບັອດ, ມະນຸດ, worm
  • ມັນເກີດຂຶ້ນໄດ້ແນວໃດ, ເປັນຫຍັງ npm ຈຶ່ງອະນຸຍາດ, ໃຜໄດ້ຮັບການຕໍານິ
  • ລຳດັບເວລາ: ແຄສທີ່ຖືກວາງຢາພິດ
  • 21:48 — ການເພີ່ມຂຶ້ນຂອງ Dependabot
  • ເປັນຫຍັງມັນຈຶ່ງເຮັດວຽກ

ບົດບັນທຶກທີ່ແປແລ້ວ

ແປຈາກຄຳບັນຍາຍຕົ້ນສະບັບພາສາອັງກິດ. ສຽງ ແລະ ຄຳບັນຍາຍທີ່ມີໃຫ້ແມ່ນຄວບຄຸມໂດຍ YouTube.

ບັອດ, ມະນຸດ, worm

0:00 ບັອດເປີດ pull request; ມະນຸດລວມມັນພາຍຫຼັງຊາວສີ່ນາທີ. ເກົ້າສິບຫ້ານາທີຕໍ່ມາ, worm ໄດ້ເຜີຍແຜ່ ໜຶ່ງຮ້ອຍສິບລຸ້ນຂອງລາວ packages, ໃນນາມຂອງລາວ. postmortem ຂອງ TanStack ມີ timestamp ຕົ້ນທາງ, ຂອງຜູ້ຮັກສາປາຍທາງ ມີສ່ວນທີ່ເຫຼືອ, ແລະ Hacker News ໃຫ້ມັນໜຶ່ງພັນໜຶ່ງຮ້ອຍຄະແນນ ແລະ ຊື່: Mini Shai-Hulud. ມັນເກີດຂຶ້ນໄດ້ແນວໃດ, ເປັນຫຍັງ npm ຈຶ່ງອະນຸຍາດ, ໃຜໄດ້ຮັບການຕໍານິ.

ມັນເກີດຂຶ້ນໄດ້ແນວໃດ, ເປັນຫຍັງ npm ຈຶ່ງອະນຸຍາດ, ໃຜໄດ້ຮັບການຕໍານິ

0:21 ນີ້ແມ່ນ The Daily Diff, postmortem. ວັນທີ 11 ພຶດສະພາ, ຕອນເຊົ້າ. fork ທີ່ປ່ຽນຊື່ເປີດ pull request ຕໍ່ກັບ TanStack Router. ມັນປິດພາຍໃນໜຶ່ງຊົ່ວໂມງ, ແຕ່ benchmark workflow ໄດ້ແລ່ນລະຫັດຂອງມັນແລ້ວ ແລະ

ລຳດັບເວລາ: ແຄສທີ່ຖືກວາງຢາພິດ

0:33 ບັນທຶກແຄສທີ່ຖືກວາງຢາພິດພາຍໃຕ້ຄີທີ່ release workflow ຈະໃຊ້. ສິບເກົ້າ-ຊາວ. ການລວມທີ່ຖືກຕ້ອງແລ່ນ release. ແຄສກັບຄືນມາ, binary ອ່ານໜ່ວຍຄວາມຈຳຂອງ runner, ຍົກ publish token ຂຶ້ນ, ແລະສົ່ງແປດສິບສີ່ລຸ້ນໃນສີ່ສິບສອງ packages, ດ້ວຍ provenance ທີ່ຖືກຕ້ອງ. ການທົດສອບລົ້ມເຫຼວ. ມັນເຜີຍແຜ່ຢູ່ດີ. ສິບເກົ້າສີ່ສິບຫົກ, ນັກຄົ້ນຄວ້າ StepSecurity ຍື່ນບັນຫາ; ຮອດເກົ້າ UTC ທຸກສິ່ງທຸກຢ່າງຖືກ deprecate ແລະ advisory ອອກມາແລ້ວ.

0:55 Deprecated ບໍ່ໄດ້ຫາຍໄປ: npm ປະຕິເສດທີ່ຈະ unpublish ສິ່ງໃດກໍຕາມທີ່ມີ dependents, ດັ່ງນັ້ນມັນຈຶ່ງຍັງສາມາດຕິດຕັ້ງໄດ້ເປັນເວລາຫຼາຍຊົ່ວໂມງ. ຊາວເອັດສີ່ສິບແປດ. ໃນໂຄງການຂໍ້ມູນການບິນເກົ້າດາວ, Dependabot ເປີດ pull request ປົກກະຕິຂອງມັນ: ເພີ່ມກຸ່ມ dev-dependencies, ສິບສາມການອັບເດດ. ສອງອັນແມ່ນ TanStack ລຸ້ນທີ່ຖືກວາງຢາພິດ. ຊາວສອງ-ສິບສອງ: ລວມ. publish workflow ແລ່ນ npm C-I ດ້ວຍ token ຢູ່ໃນ

21:48 — ການເພີ່ມຂຶ້ນຂອງ Dependabot

1:15 ຂອບເຂດ; prepare script ອ່ານມັນ, ແລະໃນຊາວສອງ-ສິບເຈັດ worm ເຜີຍແຜ່ ໃນນາມຂອງລາວ. ຫ້າລຸ້ນຂອງທຸກ package ທີ່ token ໄປເຖິງ, ແມ້ກະທັ້ງໂຄງການຂ້າງຄຽງເກົ່າ: token ຄລາດສິກໜຶ່ງອັນສຳລັບທຸກສິ່ງ. ໜຶ່ງຮ້ອຍສິບລຸ້ນໃນເກົ້າສິບຫ້ານາທີ. ລາວຮູ້ໂດຍອີເມວ, ຫຼັງທ່ຽງຄືນ. ເປັນຫຍັງມັນຈຶ່ງເຮັດວຽກ. ໜຶ່ງ: npm install ແລ່ນ lifecycle scripts ຂອງຄົນແປກໜ້າໂດຍຄ່າເລີ່ມຕົ້ນ, ແລະ prepare script ຂອງ git dependency ກໍນັບ.

1:39 ສອງ: worm ຕ້ອງການສິ່ງໜຶ່ງ: token ທີ່ເຜີຍແຜ່ໂດຍບໍ່ມີປັດໄຈທີສອງ. ຈາກນັ້ນມັນຖາມ registry ວ່າຜູ້ຮັກສານັ້ນເປັນເຈົ້າຂອງຫຍັງອີກ, ແລະເຜີຍແຜ່ຄືນທັງໝົດດ້ວຍຕົວມັນເອງຢູ່ພາຍໃນ. ສາມ: ບໍ່ມີສິ່ງໃດໃນຕ່ອງໂສ້ແມ່ນຄົນ.

ເປັນຫຍັງມັນຈຶ່ງເຮັດວຽກ

1:51 ບັອດສະເໜີ, pipeline ຕິດຕັ້ງ, ແລະ worm ຕອບແທນ: ສາຂາ dead-drop ຂອງມັນ ຖືກຕັ້ງຊື່ວ່າ dependabot slash github-actions slash fremen. git blame. ໂມເດວການຕິດຕັ້ງຂອງ npm, ຫ້າສິບຫ້າເປີເຊັນ: scripts ແລ່ນໃນການຕິດຕັ້ງ, deprecated ຍັງສາມາດຕິດຕັ້ງໄດ້, token ທີ່ຂ້າມສອງປັດໄຈໄດ້ມີຢູ່. CI ຂອງ TanStack, ຊາວຫ້າ: unaudited pull request target workflow ແລ່ນ ລະຫັດ fork ດ້ວຍສິດທິຂຽນເຂົ້າເຖິງແຄສ. ນິໄສການເພີ່ມຂຶ້ນ, ສິບຫ້າ: ສິບສາມການອັບເດດລວມເຂົ້າກັນໃນຊາວສີ່ນາທີ, token ຢູ່ໃນຫ້ອງ.

2:17 Dependabot, ຫ້າ: ຖືກໄວ້ວາງໃຈຫຼາຍຈົນ worm ໃສ່ເຄື່ອງແບບຂອງມັນ.

git blame

2:20 ຂອບເຂດການລະເບີດ: ສີ່ສິບສອງ TanStack packages. ຊາວສອງ downstream, ຈາກໂຄງການທີ່ມີເກົ້າດາວ. ຫຼາຍກວ່າໜຶ່ງຮ້ອຍຫົກສິບລະບົບນິເວດທົ່ວໄປເມື່ອ worm ໄປເຖິງ Mistral. ທຸກລຸ້ນຕົ້ນທາງມີລາຍເຊັນທີ່ຖືກຕ້ອງ: ສ້າງໂດຍ official pipeline. ຖືກຕ້ອງ. ຄຳຕັດສິນ, postmortem: SHIP IT. ຜູ້ຮັກສາທັງສອງເຜີຍແຜ່ timestamped postmortems ພາຍໃນໜຶ່ງມື້; ພາຍໃນສາມ, downstream pipeline ຕິດຕັ້ງດ້ວຍ ignore-scripts, ແຍກ build ຈາກ publish, ແລະຖິ້ມ token ທີ່ຢູ່ໄດ້ດົນ.

ຂອບເຂດການລະເບີດ

2:47 ຄ່າເລີ່ມຕົ້ນຂອງ npm ຍັງບໍ່ທັນປ່ຽນແປງ. ວັນຈັນ: ignore-scripts ໃນການຕິດຕັ້ງ, ແລະ publish token ອອກຈາກວຽກທີ່ ແລ່ນມັນ. ສົ່ງເຫດການທີ່ທ່ານຍັງບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ເວົ້າເຖິງມາໃຫ້ຂ້ອຍ, ໃນຄໍາເຫັນ, ຫຼືທີ່ thedailydiff.dev. ແລະນັ້ນຄື diff ສໍາລັບມື້ນີ້.

ຄຳຕັດສິນ

3:00 ຂ້ອຍຄື Niko ຈາກ Axrisi. ລວມຢ່າງມີຄວາມຮັບຜິດຊອບ.

ແຫຼ່ງຂໍ້ມູນ

  1. TanStack postmortem (Tanner Linsley, May 11, refined May 15)tanstack.com
  2. TanStack "Hardening TanStack After the npm Compromise" (May 12)tanstack.com
  3. TanStack/router#7383 — the StepSecurity detection issuegithub.com
  4. Downstream incident post, @squawk/* (May 12)github.com
  5. Downstream hardening post (May 14)github.com
  6. The Dependabot PR #246 (opened 21:48 UTC, merged 22:12)github.com
  7. @tan_stack advisory post, 21:19 UTCx.com
  8. StepSecurity — worm internals, bypass_2fa search, Dependabot-style branch nameswww.stepsecurity.io
  9. Socketsocket.dev
  10. Aikido — "over 160 packages, including Mistral"www.aikido.dev
  11. Hacker News (1,097 points)news.ycombinator.com

ວິດີໂອທີ່ກ່ຽວຂ້ອງ

postmortem · lo · 13 ກ.ຍ. 2026

ສິບເອັດແຖວຂອງ JavaScript ເຮັດໃຫ້ອິນເຕີເນັດລົ້ມ. ການຍົກເລີກການເຜີຍແຜ່ຄັ້ງດຽວ.

ວັນທີ 22 ມີນາ 2016, 21:30 UTC: ນັກພັດທະນາໄດ້ຍົກເລີກການເຜີຍແຜ່ npm packages ທັງໝົດ 273 ອັນຂອງລາວ ຫຼັງຈາກທີ່ npm ໄດ້ມອບຊື່ package "kik" ໃຫ້ Kik, ແອັບສົ່ງຂໍ້ຄວາມ, ເຊິ່ງຕົວແທນສິດທິບັດຂອງພວກເຂົາໄດ້ສັນຍາວ່

2:52 ↗
postmortem · lo · 15 ກ.ຍ. 2026

A Rust crate ran malware at compile time. 86 ນາທີ.

Rust crate ສີ່ມາກໂຄທີ່ມີການດາວໂຫຼດ 260 ລ້ານເທື່ອໄດ້ເພີ່ມການເພິ່ງພາອາໄສໜຶ່ງ, ແລະ `cargo build` ໄດ້ດໍາເນີນການໄບນາຣີຂອງຄົນແປກໜ້າໃນເຄື່ອງຂອງທ່ານ. ວັນທີ 20 ສິງຫາ 2026: arrayref 0.3.10 ມາຮອດ crates.io ໂດຍເພ

3:09 ↗
postmortem · lo · 25 ກ.ຍ. 2026

ຂໍ້ຜິດພາດໜຶ່ງມິນລິວິນາທີ ໄດ້ຢຸດຕິການຈະລາຈອນທາງອາກາດຂອງອັງກິດ. ຫົກຊົ່ວໂມງ.

ເວລາ 10:00 ໂມງ ຂອງວັນອັງຄານທີ 8 ກັນຍາ, ການຮ້ອງຂໍລະຫັດ squawk ປົກກະຕິອັນໜຶ່ງພາຍໃນລະບົບນ່ານຟ້າແຫ່ງຊາດ (NAS) ຂອງ NATS ຖືກຂັດຂວາງໂດຍຂໍ້ຄວາມທີ່ມີຄວາມສຳຄັນສູງກວ່າໃນຂະນະທີ່ມັນກຳລັງອັບເດດຄ່າໜຶ່ງຢູ່. ໄລຍະເວລາສ

3:06 ↗
postmortem · lo · 22 ກ.ຍ. 2026

ການຣີບູດເຮັດໃຫ້ Telstra ກັບຄືນສູ່ປີ 2006. ໂທລະສັບເກົ້າລ້ານເຄື່ອງ.

ວິສະວະກອນຢູ່ Melbourne ເປີດເຄື່ອງຈັບເວລາຄືນໃໝ່ໃນເວລາ 2:50 ໂມງເຊົ້າ, ແລະເມື່ອຮອດຕອນເຊົ້າເຄືອຂ່າຍໂທລະສັບມືຖືທີ່ໃຫຍ່ທີ່ສຸດຂອງອົດສະຕາລີກໍຕົກລົງວ່າມັນແມ່ນເດືອນພະຈິກ 2006. ວັນທີ 8 ກໍລະກົດ 2026: ບັດ GPS ໃນເຄ

3:15 ↗