
Analysez des chaînes ou des fichiers à la recherche de malwares à l'aide de l'interface Windows Antimalware Scan Interface.
py-amsi est une bibliothèque qui analyse des chaînes de caractères ou des fichiers à la recherche de logiciels malveillants en utilisant l'API Windows Antimalware Scan Interface (AMSI). AMSI est une interface native de Windows qui permet aux applications de demander à l'antivirus installé sur le système d'analyser un fichier/une chaîne. AMSI n'est pas lié à Windows Defender. Les fournisseurs d'antivirus implémentent l'interface AMSI pour recevoir des appels des applications. Cette bibliothèque tire parti de l'API pour effectuer des analyses antivirus en python. En savoir plus sur l'API Windows AMSI ici.
Via pip
pip install pyamsi
Cloner le dépôt
git clone https://github.com/Tomiwa-Ot/py-amsi.git
cd py-amsi/
python setup.py install
from pyamsi import Amsi
# Scan a file
Amsi.scan_file(file_path, debug=True) # debug is optional and False by default
# Scan string
Amsi.scan_string(string, string_name, debug=False) # debug is optional and False by default
# Both functions return a dictionary of the format
# {
# 'Sample Size' : 68, // The string/file size in bytes
# 'Risk Level' : 0, // The risk level as suggested by the antivirus
# 'Message' : 'File is clean' // Response message
# }
| Niveau de risque | Signification |
|---|---|
| 0 | AMSI_RESULT_CLEAN (Le fichier est propre) |
| 1 | AMSI_RESULT_NOT_DETECTED (Aucune menace détectée) |
| 16384 | AMSI_RESULT_BLOCKED_BY_ADMIN_START (La menace est bloquée par l'administrateur) |
| 20479 | AMSI_RESULT_BLOCKED_BY_ADMIN_END (La menace est bloquée par l'administrateur) |
| 32768 | AMSI_RESULT_DETECTED (Le fichier est considéré comme un logiciel malveillant) |