~/talk

The Good, the Bad and NPX

TalkinRussianat HolyJS 2024 Spring · 2024-04-15..04-27· [javascript, open-source]
slides:none on file

Analyzes npm ecosystem collisions where many unrelated packages export the same CLI names by downloading 100+ GB of registry data and parsing about 2+ million packages. Runs reproducible experiments in GitHub Actions across npm, yarn, and pnpm to show divergent install/run behavior (including cases where a maliciously named binary wins), gives concrete counts (e.g., 45 packages exposing "node" and 33 exposing "npm"), demonstrates environment-injection proofs-of-concept, and presents a partial mitigation using npm exec / npx --package plus --ignore-scripts that is effective but awkward and conditional.

AI-written summary · about

  1. 0:00Welcome
  2. 1:45Speaker intro
  3. 3:11Dependency cleanup history
  4. 6:02Duplicate binaries in registry
  5. 7:51Binaries in packages
  6. 12:31Hypotheses and experiments
  7. 15:47Package manager experiments
  8. 20:32Global registry analysis
  9. 24:31Popular commands and binaries
  10. 27:51Security and code injection
  11. 28:56NPX solution and limits
  12. 33:54Binary vulnerabilities and threats
  13. 35:23Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.