Per un determinato buffer, AMSI potrebbe fornire un nome di file di backup corrispondente. L'ENS può utilizzare il nome del file per decidere se un determinato file o script deve essere escluso dalla scansione.
Gli attributi buffer forniti da AMSI sono fortemente specifici per l'applicazione. Ad esempio, i motori JavaScript e VBScript tendono a fornire un nome di file coerente e, di conseguenza, gli ENS possono spesso onorare le esclusioni. Tuttavia, gli attributi AMSI forniti per un buffer di PowerShell non sono coerenti nello stesso modo. A volte, un nome file viene restituito come un
AMSI_ATTRIBUTE , mentre a volte non lo è. Anche se una script di PowerShell non è stata eletta per essere sottoposta a scansione tramite un'esclusione programma di scansione all'accesso, ENS riceve una seconda richiesta di scansione che non contiene un nome file.
Quando il buffer viene fornito per la scansione, l'
AMSI_ATTRIBUTE_CONTENT_NAME attributo fornito con il buffer non sempre fornisce un nome file corrispondente. A volte, il nome del file corrisponde a un nome di script interno (ad esempio,
Microsoft.PowerShell.Utility.psd1 ). Di conseguenza, non è possibile correlare in modo affidabile il buffer con il nome del file. Microsoft considera questo comportamento in base alla progettazione, poiché la relativa documentazione per
AMSI_ATTRIBUTE l'enumerazione indica che il valore del nome del contenuto potrebbe contenere diversi identificatori, tra cui il nome del file è solo un'opzione.
PowerShell non tiene traccia dell'origine originale di tutti i script blocchi eseguiti. Ad esempio, un file script che contiene script di testo Invia i blocchi di testo script a AMSI. Tuttavia, PowerShell non contiene il nome file del file script in cui sono definiti i blocchi di testo script.
Questo comportamento è previsto in base alla progettazione di AMSI di Microsoft. Non è possibile per le esclusioni ENS correlare in modo affidabile il buffer con un nome di file.