Per Typosquatting untergeschobenes MCP-Paket

Per Typosquatting untergeschobenes MCP-Paket

Bei der Installation eines MCP-Servers wird dessen Code ausgeführt, bevor Sie ihn lesen.

Was ist Per Typosquatting untergeschobenes MCP-Paket?

Ein MCP-Server ist ein npm-Paket, und bei der Installation eines Pakets werden dessen Installationsskripte als aktueller Benutzer ausgeführt, bevor jemand seinen Code liest. Dadurch stellt ein Abhängigkeitsname eine Sicherheitsgrenze dar und ein Name ist keine Identität. Sie folgen einem Paket, das unter einem Namen veröffentlicht wurde, der nur um ein Zeichen von einer vertrauenswürdigen Abhängigkeit abweicht, und dessen Postinstall-Hook Umgebungsdateien und Dateien mit Zugangsdaten an einen Angreifer-Host sendet. Sie lesen die Registrierungswarnungen, die vor der Installation angezeigt wurden, und korrigieren dann den Namen in der Agent-Konfiguration und schreiben ihn auf eine exakt signierte Version fest.

Was Sie lernen in Per Typosquatting untergeschobenes MCP-Paket

Per Typosquatting untergeschobenes MCP-Paket — Trainingsschritte

  1. Ein lohnendes Vorbild

    Die Agenten von Sarnholt beziehen eine Batch-Schicht namens databridge-pro aus der öffentlichen Tessquay-Registrierung. Es ist beliebt, sodass ein ähnlich aussehendes Paket ohne einen zweiten Blick installiert wird. Bob wird das echte Paket nicht angreifen. Er wird ein Paket daneben veröffentlichen.

  2. Erst einmal in Ruhe ansehen

    Das ist das echte Paket, das Sarnholts Agenten tatsächlich beziehen. Sehen Sie es sich an, bevor auf etwas hingewiesen wird: die Version, das Veröffentlichungsdatum, den Betreuer und ob der Build signiert ist.

  3. Was es vertrauenswürdig macht

    Alles auf dieser Seite muss Bob genau genug nachahmen, damit niemand zweimal hinschaut. Die vertrauenswürdige Herkunft kann er jedoch nicht nachbilden.

  4. Auf die Nutzlast kommt es an

    Das Paket muss nichts Nützliches tun. Es benötigt nur eine Datei, die sofort nach der Installation ausgeführt wird.

  5. Es läuft, bevor es jemand liest

    Diese Datei ist mit dem Postinstallationsschritt des Pakets verbunden, sodass sie automatisch ausgeführt wird, sobald das Paket installiert ist – mit den Rechten des Benutzers, der die Installation gestartet hat, bevor eine einzige Zeile davon überprüft wird.

  6. Nur ein Buchstabe Unterschied

    Bob veröffentlicht es unter einem Namen, den ein müdes Auge für den echten hält: databrige-pro, bei dem ein einzelner Buchstabe fehlt. Die Registry lässt es zu. Niemand besitzt einen Namen, bis er ihn beansprucht.

  7. Nahe genug auf einen Blick

    Drei Tage später öffnet Bob seinen eigenen Eintrag. Neben dem echten ist er deutlich weniger umfangreich, aber niemand sieht beide nebeneinander. Sie sehen den Namen in einem Setup-Snippet und installieren ihn.

  8. Die verräterischen Anzeichen stehen alle auf der Seite

    Alle Anzeichen dafür, dass es sich hier nicht um das echte Paket handelt, liegen bereits vor, bevor irgendjemand den Namen eintippt.

  9. Der Hook funkt nach außen

    Bob muss nirgendwo einbrechen. Er wartet darauf, dass Sarnholts eigene Pipeline das Paket installiert, und liest, was der Hook an seinen Sammelserver gesendet hat.

  10. Warum es funktioniert hat

Abdeckung der Sicherheits-Frameworks

OWASP MCP Top 10

  • MCP04:2025 Supply Chain & Dependency Tampering

CWE

  • CWE-494 Download of Code Without Integrity Check
  • CWE-345 Insufficient Verification of Data Authenticity

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security