MaliciousCorgi: VS-Code „AI“-Extensions stehlen Quellcode – was Unternehmen jetzt prüfen müssen
Stand: 26. Januar 2026 – zuletzt aktualisiert
Zwei scheinbar legitime AI-Coding-Extensions für Visual Studio Code wurden als Spionage-Tool identifiziert: Sie funktionieren wie beworben, senden aber geöffnete Dateien und Code-Änderungen im Hintergrund an externe Server. Für Unternehmen ist das kritisch, weil Entwickler-Workspaces oft Secrets, interne Repos und Produkt-Quellcode enthalten. [News]
Die Kampagne wird als MaliciousCorgi beschrieben und betrifft
u. a. diese Extension-IDs: whensunset.chatgpt-china und zhukunpeng.chat-moss.
[Analyse]
Kurz erklärt
MaliciousCorgi ist eine Supply-Chain-/Spyware-Kampagne über den VS-Code Marketplace: Extensions lesen Dateien/Edits mit und exfiltrieren Inhalte – ohne transparentes Opt-in.
- Wenn Sie die betroffenen Extensions installiert haben: als kritisch behandeln – Quellcode/Secrets können abgeflossen sein.
- Wenn Sie VS Code nutzen, aber keine dieser Extensions: wahrscheinlich nicht direkt betroffen – dennoch Extension-Inventar & Policies prüfen.
TL;DR – die wichtigsten Schritte
- Betroffenheit prüfen: Installierte VS-Code-Extensions inventarisieren.
- Sofortmaßnahmen: Verdächtige Extensions deinstallieren, Secrets rotieren, Logs prüfen.
- Containment: Egress/DNS zu verdächtigen Zielen blocken/monitoren, DLP/Proxy-Rules ergänzen.
- Prävention: Extension-Allowlist + Freigabeprozess (Enterprise-Policy/Private Marketplace).
1. Ausgangslage
Developer-Tools sind Teil der Supply Chain: Eine Extension hat Zugriff auf Arbeitsbereiche, Dateien und teils indirekt auch auf Tokens (z. B. in lokalen Configs). Der VS-Code Marketplace hat Schutzmechanismen, aber diese ersetzen keine Unternehmens-Policies. [Hersteller-Doku]
2. Bin ich betroffen?
Prüfen Sie auf Entwickler-Maschinen (oder via Endpoint-Management), ob eine der folgenden Extensions installiert ist:
| Name (Marketplace) | Extension ID | Risiko |
|---|---|---|
| ChatGPT - 中文版 | whensunset.chatgpt-china | Exfiltration geöffneter Dateien/Edits |
| ChatGPT - ChatMoss(CodeMoss) | zhukunpeng.chat-moss | Exfiltration + Remote-Trigger für Workspace-Dateien |
Falls eine dieser Extensions installiert war, betrachten Sie Quellcode und ggf. darin enthaltene Secrets als potenziell kompromittiert. [News] [Analyse]
3. Sofortmaßnahmen (heute)
- Deinstallieren & VS Code neu starten: Entfernen Sie die Extensions und prüfen Sie, ob weitere „AI“-Forks vom gleichen Publisher installiert sind.
- Secrets rotieren: API Keys, PATs, Cloud-Creds, Signing
Keys – insbesondere, wenn sie jemals im Repo/Workspace sichtbar waren (auch
in
.env, CI-Files, IaC). - Proxy/DNS/EDR prüfen: Suchen Sie nach Auffälligkeiten im Egress (neue Domains, ungewöhnliche Upload-Spikes aus Developer-Netzen).
- Scope klären: Welche Repos/Verzeichnisse wurden geöffnet? Welche Branches/PRs enthalten sensitive Informationen?
3.1 Quick Check per CLI (PowerShell, Windows)
Quick Check für Entwickler: Ein One-Liner für schnelle Selbstprüfung in der PowerShell.
code --list-extensions | ? { $_ -in "whensunset.chatgpt-china","zhukunpeng.chat-moss" }
Wenn eine Zeile ausgegeben wird, ist die entsprechende Extension installiert.
Intune-ready Detection & Remediation Script
Für IT-Administratoren: Vollständiges PowerShell-Script für Microsoft Intune-Verteilung. Prüft automatisiert, ob bekannte MaliciousCorgi-VS-Code-Extensions installiert sind und kann optional automatisch deinstallieren. Das Script ist für Intune-Proactive Remediations oder Detection Scripts optimiert.
Wichtiger Hinweis
Dieses Script wurde für die Verwendung in Microsoft Intune konzipiert, wurde jedoch noch nicht in einer produktiven Intune-Umgebung getestet. Bitte testen Sie das Script zunächst in einer Test-Umgebung oder mit einer Pilot-Gruppe, bevor Sie es flächendeckend ausrollen. Überprüfen Sie insbesondere die Exit-Codes und das Logging-Verhalten in Ihrem Intune-Setup.
<#
MaliciousCorgi – VS Code Extension Detection & Remediation (Intune-ready)
Exit-Codes (für Intune Detection):
0 = nicht gefunden (Compliant)
1 = gefunden (Non-Compliant, betroffen)
2 = VS Code CLI fehlt (Not Applicable)
Für Intune Proactive Remediations:
Detection Script: Prüft nur (kein -Uninstall)
Remediation Script: Führt automatische Deinstallation durch (-Uninstall)
Verwendung in Intune:
- Detection: Script ohne Parameter ausführen
- Remediation: Script mit -Uninstall Parameter ausführen
#>
[CmdletBinding()]
param(
[switch]$Uninstall,
[string]$LogPath = "$env:TEMP\MaliciousCorgi-Check.log"
)
$Ext1 = "whensunset.chatgpt-china"
$Ext2 = "zhukunpeng.chat-moss"
$Targets = @($Ext1, $Ext2)
function Write-Log {
param($Level, $Message)
$Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$LogEntry = "[$Timestamp] [$Level] $Message"
# Logging für Intune (kann in Intune-Logs eingesehen werden)
Add-Content -Path $LogPath -Value $LogEntry -ErrorAction SilentlyContinue
# Console-Output für manuelle Ausführung
switch ($Level) {
"INFO" { Write-Host "[INFO] $Message" }
"OK" { Write-Host "[OK] $Message" }
"ALERT" { Write-Host "[ALERT] $Message" }
"ERROR" { Write-Host "[ERROR] $Message" }
default { Write-Host "[INFO] $Message" }
}
}
# Prüfen, ob VS Code CLI verfügbar ist
if (-not (Get-Command code -ErrorAction SilentlyContinue)) {
Write-Log "ERROR" "VS Code CLI ('code') nicht gefunden. Script nicht anwendbar."
exit 2
}
Write-Log "INFO" "Starte MaliciousCorgi Extension Check..."
$Installed = code --list-extensions 2>$null
if ($null -eq $Installed) {
Write-Log "ERROR" "Konnte VS Code Extensions nicht auflisten."
exit 2
}
$Found = @()
foreach ($Ext in $Targets) {
if ($Installed -contains $Ext) {
Write-Log "ALERT" "Gefunden: $Ext"
$Found += $Ext
} else {
Write-Log "OK" "Nicht gefunden: $Ext"
}
}
if ($Found.Count -gt 0) {
Write-Log "ALERT" "Betroffenheit bestätigt: $($Found.Count) Extension(s) gefunden"
Write-Log "INFO" "Empfohlene Sofortmaßnahmen: Secrets rotieren, Egress-Logs prüfen, Scope klären"
if ($Uninstall) {
Write-Log "INFO" "Starte automatische Deinstallation..."
foreach ($Ext in $Found) {
try {
code --uninstall-extension $Ext 2>&1 | Out-Null
Write-Log "OK" "Deinstalliert: $Ext"
} catch {
Write-Log "ERROR" "Fehler beim Deinstallieren von $Ext : $_"
}
}
Write-Log "INFO" "Deinstallation abgeschlossen. VS Code sollte neu gestartet werden."
}
exit 1
}
Write-Log "INFO" "Keine der bekannten MaliciousCorgi-Extensions installiert. System ist compliant."
exit 0
Intune-Konfiguration: Exit-Code 0 = Compliant · 1 = Non-Compliant (betroffen) ·
2 = Not Applicable (VS Code CLI fehlt). Log-Datei wird unter $env:TEMP\MaliciousCorgi-Check.log gespeichert.
4. Prävention: so härten Sie VS Code im Unternehmen
Für Unternehmen ist das Ziel nicht „keine Extensions“, sondern kontrollierte Extensions: Allowlist statt Wildwuchs. Microsoft unterstützt zentrale Policies und Private Marketplace-/Rehosting-Modelle für geprüfte VSIX-Pakete. [Best Practice]
| Kontrolle | Empfehlung (pragmatisch) | Wirkung |
|---|---|---|
| Extension-Allowlist | Nur definierte Publisher/Extensions erlauben, alles andere blocken | Reduziert Marketplace-Risiko massiv |
| Private Marketplace / Rehosting | Öffentliche Extensions intern spiegeln & prüfen (VSIX) | Bessere Kontrolle über Updates/Versionen |
| Workspace Trust | Unbekannte Workspaces nur im eingeschränkten Modus | Weniger Risiko durch fremden Code |
5. Warum das (auch) Build-Systeme betrifft: PackageGate
Parallel zeigt die Diskussion um PackageGate, dass selbst etablierte Schutzrezepte nicht immer die erwartete Wirkung entfalten. Für JS-Stacks heißt das: Policies, Scanning und kontrollierte Installationspfade kombinieren. [Analyse]
Beispiel: Für pnpm wurde ein Bypass als CVE-2025-69264 dokumentiert; betroffen sind Versionen 10.0.0 bis 10.25 (laut Advisory), Fix via Update. [Advisory] [CVE]
6. Häufige Fragen aus der Praxis
6.1 Muss ich von Datenabfluss ausgehen?
Wenn die betroffenen Extensions installiert waren: ja – zumindest für Workspaces/Dateien, die geöffnet oder bearbeitet wurden. Deshalb ist die Rotation von Secrets in der Praxis fast immer der erste sinnvolle Schritt.
6.2 Reicht „Marketplace schützt uns“ als Argument?
Der Marketplace hat Schutzmechanismen, aber Unternehmen brauchen zusätzlich Governance: Allowlisting, Freigaben, Endpoint-Audits und ggf. einen privaten Marketplace für geprüfte Versionen. [Hersteller-Doku] [Best Practice]
7. Quellen & weiterführende Links
Offizielle Hersteller-Infos und technische Analysen:
Malicious VS Code AI Extensions with 1.5 Million Installs Steal Developer Source Code
The Hacker News, 26.01.2026
MaliciousCorgi: AI Extensions leaking code from 1.5M developers
Koi Security Research, 22.01.2026
VS Code: Extension runtime security (Marketplace-Protections, Vertrauensindikatoren)
Microsoft VS Code Docs, aktualisiert 08.01.2026
VS Code: Manage extensions in enterprise environments (Allowlist, Policies, Private Marketplace)
Microsoft VS Code Docs, aktualisiert 08.01.2026
pnpm v10+ Git Dependency Script Execution Bypass (CVE-2025-69264)
GitHub Advisory Database, 07.01.2026
NVD: CVE-2025-69264 (pnpm 10.0.0–10.25)
NIST NVD, 07.01.2026
PackageGate: 6 Zero-Days in JS Package Managers But NPM Won't Act
Koi Security Research, 26.01.2026
Stand: 26.01.2026
Dieser Artikel wird bei neuen Entwicklungen aktualisiert. Für aktuelle Informationen prüfen Sie bitte die offiziellen Quellen.
Wie wir helfen können
Wenn Sie Betroffenheit sauber prüfen (Developer-Endpunkte, Egress, Secrets) und eine pragmatische Extension-Governance etablieren wollen: Wir unterstützen schnell – ohne Over-Engineering.
Sie möchten diese Schritte auf Ihr Unternehmen übertragen?
In einem kurzen Gespräch klären wir, welche Maßnahmen für Sie konkret sinnvoll sind – ohne Over-Engineering.