Über eine offene Schnittstelle können Programme bei Bedarf den Virenscanner fragen, ob ein Datenstrom oder eine URL bösartig ist. Das kann Angriffe ausbremsen, die das Virenschutzprogramm nicht bemerkt hätte.
Mit dem Antimalware Scan Interface (AMSI) bietet Windows 10 eine offene Schnittstelle, über die Programme auf die Dienste der auf dem System installierten Virenschutz-Software zurückgreifen können. Ein Drittanbieter-Programm kann darüber etwa herausfinden, ob eine Datei oder ein Datenstrom potenziell Schadcode enthält. Zudem kann es fragen, ob eine URL oder eine IP-Adresse verdächtig ist.
Zwar bringen alle gängigen Virenjäger einen Echtzeitwächter mit, der aufgerufene Dateien auf Schadcode überprüft. Es gibt jedoch Situationen, in denen sich die zu verarbeiteten Daten nicht als Datei manifestieren und lediglich im RAM zwischengespeichert werden – etwa, wenn der Code zur Laufzeit generiert oder aus dem Netz nachgeladen wird. In solchen Fällen kann ein Programm den Virenscanner durch das AMSI aktiv zu Rate ziehen. Wolf im Skript-Pelz
Ein von Microsoft beschriebener Anwendungsfall sind Skript-Interpreter. In Skript-Sprachen gibt es sehr viele Möglichkeiten, Schadcode so zu verschleiern und verschlüsseln, dass ihn ein Virenscanner bei der statischen Analyse der Skript-Datei nicht entdecken kann. Erst beim Ausführen des Skripts wird der versteckte Code zu einem Klartext-String zusammengebaut und an eine Funktion wie Invoke-Expression (PowerShell) oder eval (JavaScript) übergeben, die ihn schließlich ausführt. An dieser Stelle kann der Interpreter das AMSI nutzen, um herauszufinden, ob der auszuführende Code sauber ist.
Als weiteren Anwendungsfall stellt sich Microsoft Kommunikations-Programme vor, die vor dem Absenden einer Chat-Nachricht überprüfen, ob sie bösartige URLs enthält – oder aber Spiele, die vor der Installation eines Plug-ins den Virenscanner fragen. Das AMSI ist nicht an den vorinstallierten Defender von Microsoft gebunden. Ist ein anderer Virenschutz installiert, befragt es auch diesen, sofern er das Interface unterstützt.