Nakakita ng nakakahamak na code sa installer ng purescript npm

npm purescript

Ilang araw na nakalipas nakitang nakakahamak na code sa mga dependency ng npm package kasama ang PureScript installer, na ipinakita kapag sinusubukang i-install ang purescript package.

Nakakahamak na code naka-embed sa pamamagitan ng mga dependency ng load-from-cwd-o-npm at mga dependency ng map na bilis. Dapat pansinin na ang orihinal na may-akda ng pakete ng npm kasama ang installer ng PureScript, na hanggang ngayon ay kasangkot sa pagpapanatili ng paketeng ito ng npm, ngunit ang pakete ay ipinadala sa iba pang mga nagpapanatili, ay responsable para sa mga kasamang pakete sa mga dependensyang ito.

Tungkol sa problema

Ang problema ay natuklasan ng isa sa mga bagong analista ng package, kanino inilipat ang mga karapatan sa pagpapanatili pagkatapos ng maraming hindi pagkakasundo at pangit na talakayan sa orihinal na may-akda ng paketeng npm purescript.

Ang mga bagong nagpapanatili responsable para sa tagatala ng PureScript at iginiit nila na ang pakete ng NPM kasama ang installer nito ay dapat na maayos ng mga tagapangalaga mismo, hindi ng isang developer sa labas ng proyekto.

Ang may-akda ng pakete ng npm na may installer ng PureScript ay hindi sumang-ayon sa mahabang panahon, ngunit pagkatapos ay sumuko at nagbigay ng pag-access sa imbakan. Gayunpaman, ang ilang mga dependency ay naiwan sa ilalim ng kanyang kontrol.

Noong nakaraang linggo, ang pagpapalabas ng tagatala ng PureScript 0.13.2 ay inihayag at inihanda ng mga bagong nagpapanatili ang kaukulang pag-update ng paketeng npm kasama ang installer, kung saan napansin ang nakakahamak na code.

Ang nakakahamak na code ay unang ipinasok sa npm na package na "load-from-cwd-o-npm" sa bersyon 3.0.2 at pagkatapos ay sa rate-map package mula sa bersyon 1.0.3. Sa mga huling araw maraming mga bersyon ng parehong mga pakete ang na-publish.

Inilipat mula sa post na kasama ang may-akda ng npm package kasama ang installer ng PureScript, sinabi niya na ang kanyang account ay nakompromiso ng hindi kilalang mga umaatake.

Gayunpaman, sa kasalukuyang form, ang mga pagkilos ng nakakahamak na code ay limitado lamang sa pamamagitan ng pagsabotahe sa pag-install ng package, na kung saan ay ang unang bersyon ng mga bagong nagpapanatili. Ang mga nakakahamak na pagkilos ay na-loop out kapag sinusubukang mag-install ng isang pakete na may utos na "npm i -g purescript" nang hindi nagsasagawa ng anumang malinaw na nakakasamang aktibidad.

Nakilala ang dalawang pag-atake

Sa madaling sabi, sinasabotahe ng code ang installer ng purescript npm upang maiwasan ang pagkumpleto ng pag-download, na nagiging sanhi ng pag-install ng installer sa panahon ng hakbang na "Suriin kung ang isang precompiled binary ay ibinigay para sa iyong platform" na hakbang.

Ginawa ito ng unang pagsasamantala sa pamamagitan ng pagwawasak sa load-from-cwd-o-npm package upang ang anumang tawag sa loadFromCwdOrNpm () ay magbabalik ng isang pass-through na pagkakasunud-sunod sa halip na ang inaasahang pakete (sa kasong ito, ang pakete ng kahilingan, na ginagamit namin upang i-download ang mga binary ng tagatala). Ang pangalawang pag-ulit ng pagsasamantala ay ginawa ito sa pamamagitan ng pagbabago ng isang mapagkukunang file upang maiwasan ang isang pag-download ng callback mula sa pagpapaputok.

4 araw mamaya naunawaan ng mga developer ang mapagkukunan ng mga kamalian at naghahanda upang palabasin ang isang pag-update upang maibukod ang load-from-cwd-o-npm mula sa mga dependency, nagpalabas ang mga umaatake ng isa pang pag-update ng load-from-cwd-o-npm 3.0.4, kung saan inalis ang nakakahamak na code.

Gayunpaman, ang isang pag-update sa isa pang dependency ng Rate-Map 1.0.3 ay pinakawalan agad, kung saan idinagdag ang isang pag-aayos na hinaharangan ang callback call para ma-download.

Iyon ay, sa parehong mga kaso, ang mga pagbabago sa mga bagong bersyon ng load-from-cwd-o-npm at ang rate ng mapa ay nasa likas na katangian ng isang maliwanag na paglihis.

Gayundin, sa nakakahamak na code mayroong isang tseke na nagpalitaw lamang sa mga nabigong pagkilos kapag na-install ang bersyon ng mga bagong nagpapanatili at hindi ito lumitaw sa lahat kapag nag-install ng nakaraang mga bersyon.

Nalutas ng mga developer ang problema sa pamamagitan ng paglabas ng isang pag-update kung saan inalis ang mga may problemang dependency.

Upang maiwasang mai-install ang nakompromisong code sa mga system ng mga gumagamit pagkatapos subukang i-install ang may problemang bersyon ng PureScript.

Sa wakas inirekomenda ng developer sa lahat na mayroong mga nasabing bersyon ng package sa kanilang system alisin ang mga nilalaman ng mga direktoryo ng node_modules at ang mga file na package-lock.json at pagkatapos ay itakda ang bersyon ng purescript 0.13.2.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.