
NLWeb di Microsoft: una panoramica
Nel maggio 2023, durante la conferenza Build 2025, Microsoft ha presentato un’iniziativa innovativa nota come NLWeb, acronimo di “Natural Language Web”.Questo progetto mirava a facilitare le interazioni intelligenti tra agenti di intelligenza artificiale e siti web, consentendo loro di eseguire attività complesse interagendo direttamente con i servizi online.
Implicazioni di NLWeb
Tra le aziende coinvolte, Shopify e TripAdvisor hanno espresso il loro sostegno a questo concetto, posizionando NLWeb come componente chiave in quello che Microsoft definisce “agent web”.Questa visione promette un futuro in cui l’intelligenza artificiale può eseguire autonomamente una serie di attività online, semplificando notevolmente l’esperienza degli utenti.
Scoperta delle vulnerabilità di sicurezza
Tuttavia, sono emerse notevoli preoccupazioni in merito alla sicurezza del framework NLWeb. Aonan Guan, ricercatore in sicurezza, insieme al collaboratore Lei Wang, ha identificato una vulnerabilità di attraversamento del percorso all’interno del repository del codice del progetto open source. La loro scoperta è nata da un’analisi del repository GitHub di NLWeb, in particolare di un file denominato. webserver/static_file_handler.py
Analisi tecnica della vulnerabilità
Il difetto identificato si trova in un segmento specifico del codice:
# The vulnerable code snippet safe_path = os.path.normpath(path.lstrip('/'))
possible_roots = [ APP_ROOT, os.path.join(APP_ROOT, ‘sito’, ‘wwwroot’), ‘/home/sito/wwwroot’, os.environ.get(‘HOME’, ”), ]
# Più avanti nel codice…full_path = os.path.join(root, safe_path)
La prima riga di questo frammento sembra innocua; è progettata per normalizzare i percorsi eliminando i separatori non necessari e i riferimenti di livello superiore, un processo documentato nella documentazione ufficiale di Python. os.path.normpath()
Impatto della vulnerabilità
Sebbene questa funzione sia utile, introduce una falla nella sicurezza. Secondo Guan, non impedisce agli utenti di utilizzare tecniche di attraversamento delle directory, come le sequenze, per navigare oltre la directory web desiderata. ../
Per convalidare il problema, Guan ha configurato un server locale su. Eseguendo il comando, ha recuperato con successo il contenuto di, informazioni vitali sui sistemi UNIX che contengono i dettagli degli account utente. 0.0.0.0:8000
curl "http://localhost:8000/static/..%2f..%2f..%2fetc/passwd"
/etc/passwd
Inoltre, Guan è riuscito ad accedere ad altri file sensibili, tra cui il file del progetto, che dovrebbe sempre rimanere riservato perché contiene credenziali sensibili come le chiavi API. Ciò è stato ulteriormente dimostrato eseguendo il comando. .env
curl "http://localhost:8000/static/..%2f..%2f..%2fUsers//NLWeb/code/.env"
Risposta e raccomandazioni di Microsoft
In seguito alle scoperte di Guan, comunicate il 28 maggio, Microsoft ha riconosciuto il problema lo stesso giorno e ha implementato una soluzione entro 48 ore. La risoluzione ha comportato diverse misure critiche:
- Filtraggio iniziale per tutte le istanze di nel percorso per contrastare potenziali tentativi di attraversamento delle directory.
..
- Verifica che il file richiesto abbia un’estensione accettabile, inclusi formati come.html, .css e.json.
- Risoluzione del percorso assoluto per confermare che risiede all’interno di una directory radice autorizzata, impedendo così qualsiasi accesso non autorizzato.
Alla luce di questo incidente, Guan sottolinea l’importanza di aggiornare immediatamente qualsiasi istanza di NLWeb. Sottolinea che, con l’espansione del concetto di web agentico, emergono nuove vulnerabilità, in particolare perché l’elaborazione del linguaggio naturale può interpretare inavvertitamente percorsi di file o comandi dannosi se non gestita con la massima attenzione.
Puoi trovare maggiori informazioni su questo problema e il report completo sulla vulnerabilità su Neowin.
Lascia un commento