
Windows Antimalware Scan Interface를 사용하여 문자열 또는 파일에서 악성코드를 검사합니다.
py-amsi는 Windows AMSI(Windows Antimalware Scan Interface) API를 사용하여 문자열이나 파일을 맬웨어 검사하는 라이브러리입니다. AMSI는 Windows에 기본 내장된 인터페이스로, 애플리케이션이 시스템에 설치된 안티바이러스에 파일/문자열 분석을 요청할 수 있게 합니다. AMSI는 Windows Defender에 종속되지 않습니다. 안티바이러스 공급업체는 AMSI 인터페이스를 구현하여 애플리케이션의 호출을 수신합니다. 이 라이브러리는 API를 활용하여 파이썬에서 안티바이러스 검사를 수행합니다. Windows AMSI API에 대한 자세한 내용은 여기를 참조하세요.
pip를 통해
pip install pyamsi
저장소 복제
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
# }
| 위험 수준 | 의미 |
|---|---|
| 0 | AMSI_RESULT_CLEAN (파일이 깨끗함) |
| 1 | AMSI_RESULT_NOT_DETECTED (위협이 감지되지 않음) |
| 16384 | AMSI_RESULT_BLOCKED_BY_ADMIN_START (관리자에 의해 차단된 위협) |
| 20479 | AMSI_RESULT_BLOCKED_BY_ADMIN_END (관리자에 의해 차단된 위협) |
| 32768 | AMSI_RESULT_DETECTED (파일이 맬웨어로 간주됨) |