Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
  1. Startseite
  2. Podcasts
  3. Engineering Kiosk Podcast
  4. #27 Sicherheit in der Dependency Hölle
Was haben die JavaScript Pakete left-pad, color, faker und
cross-env gemeinsam? Alle waren in npm Package
Sicherheits-Incidents involviert.

Wenn man sich die Anzahl von Javascript Abhängigkeiten bei
Mittelgroßen Projekten ansieht, ist eine dreistellige Anzahl an
JavaScript Paketen nicht unüblich. Das liegt primär an der
überschaubaren Größe der Pakete und somit der Funktionalität.
Alles nur, um Pakete verwaltbarer zu halten. Doch dieser Umstand
macht das JavaScript-Ecosystem so attraktiv für Angreifer oder
kann zu extremen Seiteneffekten führen. In dieser Episode
sprechen wir drei npm Package Incidents durch, was es damit
aufsich hatte, welche Attack-Möglichkeiten es noch gibt und wie
man sich als Software Entwickler dagegen schützen kann.

Bonus: Was Bademeister, Blubberwasser und eine
ASCII-Repräsentation von Uncle Sam und der amerikanischen Flagge
mit JavaScript zu tun haben.

Feedback an stehtisch@engineeringkiosk.dev oder via Twitter an
https://twitter.com/EngKiosk

Unsere aktuellen Werbepartner findest du auf
https://engineeringkiosk.dev/partners

 

Links

Film "Die Bademeister": https://www.imdb.com/title/tt0202806/

Open Source Studien:
https://t3n.de/news/wirtschaft-open-source-nutzt-5-1451923/ und
https://www.bitkom.org/Presse/Presseinformation/Open-Source-ist-in-der-deutschen-Wirtschaft-angekommen 

Media Tech Lab:
https://jump.engineeringkiosk.dev/media-tech-lab 

Buch "Working in Public: The Making and Maintenance of Open
Source Software":
https://www.amazon.de/Working-Public-Making-Maintenance-Software/dp/0578675862

Auch Python und PHP sind betroffen:
https://twitter.com/s0md3v/status/1529005758540808192 und
https://twitter.com/s0md3v/status/1529049336268869633

JavaScript left-pad: https://www.npmjs.com/package/left-pad

Messaging-App Kik: https://www.kik.com/

E-Mail-Verkehr zwsichen npm, Kik und Azer Koçulu zum left-pad
Paket:
https://medium.com/@mproberts/a-discussion-about-the-breaking-of-the-internet-3d4d2a83aa4d

Statement vom npm CTO "Laurie Voss" zur Wiederherstellung des
left-pads Paket:
https://twitter.com/seldo/status/712414588281552900

Zalgo Text: https://en.wikipedia.org/wiki/Zalgo_text

Dev corrupts NPM libs 'colors' and 'faker' breaking thousands
of apps:
https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/

node-ipc: Open Source Maintainer Sabotages Code to Wipe
Russian, Belarusian Computers:
https://www.vice.com/en/article/dypeek/open-source-sabotage-node-ipc-wipe-russia-belraus-computers

typosquatting-Attacke mit npm Paketen (u.a. cross-env):
https://snyk.io/blog/typosquatting-attacks/

Bank pushed privaten Code mit npm:
https://twitter.com/seldo/status/1105153287718723584

12 Factor App: https://12factor.net/de/

GitHub DMCA Takedowns: https://github.com/github/dmca

npm package scopes: https://docs.npmjs.com/about-scopes

Dependabot:
https://github.blog/2020-06-01-keep-all-your-packages-up-to-date-with-dependabot/ 

Harden GitHub Actions - Pin actions to a full length commit
SHA:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions

Weitere nicht behandelte Incidents

ua-parser.js (malicious code / account hijack):
https://github.com/advisories/GHSA-pjwm-rvh2-c87w

coa (malicious code):
https://github.com/advisories/GHSA-73qr-pfmq-6rp8

rc (malicious code):
https://github.com/advisories/GHSA-g2q5-5433-rhrf

purescript (malicious code by dependencies):
https://harry.garrood.me/blog/malicious-code-in-purescript-npm-installer/

event-stream (new maintainer injected code to steal bitcoins
/ social engineering):
https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident

getcookies (backdoor):
https://blog.npmjs.org/post/173526807575/reported-malicious-module-getcookies.html

Sprungmarken

(00:00:00) Intro

(00:00:35) Intro: 10.000 Downloads und Die Bademeister

(00:01:42) Wie viele Firmen setzen (bewusst) Open Source
ein?  

(00:04:09) Wie viele Firmen unterstützen Open Source finanziell?

(00:06:22) Open Source Funding via Media Tech Lab

(00:08:11) Das Management von Software-Dependencies anhand des
JavaScript-Ecosystems via npm

(00:08:59) Warum JavaScript als Beispiel genutzt wird und die
Theorie warum JavaScript Pakete so klein sind und viele
Abhängigkeiten haben

(00:15:06) npm Package Incident: Das Paket "left-pad" wurde aus
der npm Registry entfernt (unpublished)

(00:23:06) npm Package Incident: Die Pakete "color" und "faker"
geben Textmüll auf der Konsole aus

(00:27:29) npm Package Incident: Das Paket "cross-env" und der
typosquatting-Angriff mit "crossenv"

(00:33:01) Weitere Angriffs-Vektoren in Bezug auf Software
Dependencies: Böswilliger Maintainer, Schadcode in
Sub-Dependency, Account-Übernahme und die falsche Package
Registry

(00:40:23) Ein Lösungsweg: npm package scopes

(00:42:02) Weitere Lösungswege: Schadcode und frühere
Fraud-Detection auf Plattform-Seite, die Überwachung von direkten
Dependencies und Version-Pinning

(00:47:40) Dependabot: Versionen von Dependencies automatisch
updaten und auf neue Dependencies achten

(00:53:44) Der gesunde Streit: Zanken und Bierchen

(00:54:17) Outro

Hosts

Wolfgang Gassler (https://twitter.com/schafele)

Andy Grunwald (https://twitter.com/andygrunwald)

Engineering Kiosk Podcast: Anfragen an
stehtisch@engineeringkiosk.dev oder via Twitter an
https://twitter.com/EngKiosk
Episode melden

„#27 Sicherheit in der Dependency Hölle“

Worum geht es? Danach fragen wir noch nach dem Grund.

Abonnenten

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz