
Microsofts NLWeb: Ein Überblick
Im Mai 2023 stellte Microsoft während der Build 2025-Konferenz eine innovative Initiative namens NLWeb vor, was für „Natural Language Web“ steht. Dieses Projekt zielte darauf ab, intelligente Interaktionen zwischen KI-Agenten und Websites zu ermöglichen und ihnen die Ausführung komplexer Aufgaben durch direkte Interaktion mit Onlinediensten zu ermöglichen.
Auswirkungen von NLWeb
Unter den beteiligten Unternehmen haben Shopify und TripAdvisor ihre Unterstützung für dieses Konzept zum Ausdruck gebracht und das NLWeb als Schlüsselkomponente in dem positioniert, was Microsoft als „Agentic Web“ bezeichnet. Diese Vision verspricht eine Zukunft, in der KI eine Reihe von Aufgaben online autonom ausführen und so das Benutzererlebnis erheblich optimieren kann.
Entdeckung von Sicherheitslücken
Es gibt jedoch erhebliche Bedenken hinsichtlich der Sicherheit des NLWeb-Frameworks. Sicherheitsforscher Aonan Guan und sein Kollege Lei Wang entdeckten eine Path-Traversal-Schwachstelle im Code-Repository des Open-Source-Projekts. Ihre Entdeckung beruhte auf einer Untersuchung des NLWeb-GitHub-Repositorys, insbesondere einer Datei namens. webserver/static_file_handler.py
Technische Analyse der Sicherheitslücke
Der identifizierte Fehler liegt in einem bestimmten Codesegment:
# The vulnerable code snippet safe_path = os.path.normpath(path.lstrip('/'))
possible_roots = [ APP_ROOT, os.path.join(APP_ROOT, ’site‘, ‚wwwroot‘), ‚/home/site/wwwroot‘, os.environ.get(‚HOME‘, “), ]
# Später im Code…full_path = os.path.join(root, safe_path)
Die erste Zeile dieses Snippets scheint harmlos; sie dient der Normalisierung von Pfaden durch die Beseitigung unnötiger Trennzeichen und Up-Level-Referenzen, ein Prozess, der in der offiziellen Python-Dokumentation dokumentiert ist. os.path.normpath()
Auswirkungen der Sicherheitsanfälligkeit
Diese Funktion ist zwar nützlich, führt aber zu einer Sicherheitslücke. Laut Guan verhindert sie nicht, dass Benutzer mithilfe von Verzeichnisdurchquerungstechniken wie Sequenzen über das vorgesehene Webverzeichnis hinaus navigieren. ../
Um das Problem zu bestätigen, richtete Guan eine lokale Serverkonfiguration auf ein. Durch Ausführen des Befehls konnte er erfolgreich den Inhalt von abrufen, wichtige Informationen zu UNIX-Systemen, die Benutzerkontodetails enthalten. 0.0.0.0:8000
curl "http://localhost:8000/static/..%2f..%2f..%2fetc/passwd"
/etc/passwd
Darüber hinaus konnte Guan auf andere vertrauliche Dateien zugreifen, darunter auch auf die Projektdatei, die aufgrund der darin enthaltenen sensiblen Anmeldeinformationen wie API-Schlüssel stets vertraulich bleiben sollte. Dies wurde durch die Ausführung des Befehls weiter demonstriert. .env
curl "http://localhost:8000/static/..%2f..%2f..%2fUsers//NLWeb/code/.env"
Antwort und Empfehlungen von Microsoft
Nach Guans Erkenntnissen, die am 28. Mai veröffentlicht wurden, erkannte Microsoft das Problem noch am selben Tag an und implementierte innerhalb von 48 Stunden eine Lösung. Die Lösung umfasste mehrere wichtige Maßnahmen:
- Erstes Filtern aller Instanzen im Pfad, um potenziellen Directory-Traversal-Versuchen entgegenzuwirken.
..
- Überprüfung, ob die angeforderte Datei eine akzeptable Erweiterung hat, einschließlich Formaten wie.html, .css und.json.
- Auflösung des absoluten Pfads, um zu bestätigen, dass er sich in einem autorisierten Stammverzeichnis befindet, wodurch unbefugter Zugriff verhindert wird.
Angesichts dieses Vorfalls betont Guan, wie wichtig es sei, alle NLWeb-Instanzen umgehend zu aktualisieren. Er betont, dass die Ausweitung des Konzepts des Agentic Web neue Schwachstellen aufdecke, insbesondere da die Verarbeitung natürlicher Sprache unbeabsichtigt schädliche Dateipfade oder Befehle interpretieren könne, wenn sie nicht mit äußerster Sorgfalt verwaltet werde.
Weitere Informationen zu diesem Problem und den vollständigen Schwachstellenbericht finden Sie auf Neowin.
Schreibe einen Kommentar