py-amsi:一款基于AMSI的恶意软件扫描与识别工具
创始人
2026-02-03 15:06:58
0

关于py-amsi

py-amsi是一款基于Windows反恶意软件接口(AMSI)实现的强大安全工具,该工具可以利用AMSI扫描恶意软件相关的字符串与文件信息,以检测目标系统是否感染了恶意软件。

AMSI是Windows的原生接口,允许应用程序要求系统上安装的防病毒软件分析文件/字符串。需要注意的是,AMSI与Windows Defender无关。

什么是AMSI

Windows反恶意软件扫描接口(AMSI)是一种通用的接口标准,允许我们的应用程序和服务与计算机上的任何反恶意软件产品集成。AMSI可以为最终用户及其数据、应用程序和工作负载提供增强的恶意软件保护。

AMSI可以为反恶意软件产品提供最常见的恶意软件扫描和保护技术,这些技术可以集成到应用程序中,并可以执行文件和内存或流扫描、内容源URL/IP信誉检查以及其他技术。

工具安装

由于该工具部分功能使用Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。

源码安装

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Tomiwa-Ot/py-amsi.git

然后切换到项目目录下,执行安装脚本即可:

cd py-amsi/

python setup.py install

pip安装

除此之外,我们还可以直接使用pip工具安装py-amsi:

pip install pyamsi

工具使用

from pyamsi import Amsi

 

# 扫描一个文件

Amsi.scan_file(file_path, debug=True) # debug is optional and False by default

 

# 扫描字符串

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 (文件与恶意软件有关)

函数子模块

pyamsi.Amsi.scan_file

pyamsi.Amsi.scan_file(path, debug=False)

 

参数

path (str): 要扫描的目标文件路径

debug (bool): 显示调试信息 (默认=False, 可选)

 

返回

字典:

Sample Size =  字符串大小 

Risk Level = AMSI 提供商标记的风险等级 

Message = AMSI响应

pyamsi.Amsi.scan_string

pyamsi.Amsi.scan_string(text, name, debug=False)

 

参数

text (str): 要扫描的字符串

name (str): 字符串名称 

debug (bool): 显示调试信息 (默认=False, 可选)

 

返回

字典:

Sample Size =  字符串大小 

Risk Level = AMSI 提供商标记的风险等级 

Message = AMSI响应

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

py-amsi:【GitHub传送门

参考资料

https://learn.microsoft.com/en-us/windows/win32/amsi/antimalware-scan-interface-portal

https://tomiwa-ot.github.io/py-amsi/genindex.html

https://pypi.org/project/pyamsi/

相关内容

热门资讯

2... 本文目录导航: 2016Revit如何下载装置注册激活? 你去问下哪个网站...
r... 本文目录导航: revit罕用快捷键有哪些? 敞开暗藏快捷键(revit敞...
亲... 本文目录导航: Revit2022中文版下载及装置教程(亲测可用) Rev...
w... 本文目录导航: win10系统如何装置AutodeskRevit|win10系统装置Aut...
R... 本文目录导航: REVIT2019关上后,不可初始化adlm失误代码6怎样处置,求大神指点...
r... 本文目录导航: 咱们公司要洽购一批正版的设计软件,sketch up,天正CAD,phot...
比... 本文目录导航: 比拟盛行的工业软件有哪些 【IDEA】钢节点导入:STAA...
钢... 本文目录导航: 钢结构课程设计论文 钢结构课程设计论文 钢结构课程设计论文 摘要 本...
r... 本文目录导航: revit2021密钥激活不了 revit序列号有效怎样办...
S... 本文目录导航: SUEZ公司应用数字DNA树立印度绿色发电 修建结构设计的...
I... 本文目录导航: 【IDEA】钢节点导入:STAAD.Pro → IDEA ...
乔... 本文目录导航: 乔爱科重要软件著述权 钢结构设计用什么软件 ...
C... 本文目录导航: 【BIM】和【CAD】的区别 ,初学者-内容尽量详细深刻易懂。。。001 ...
什... 本文目录导航: 什么软件能算悬挑梁 staad软件,有用staad pro...
工... 本文目录导航: 工程建模Bim软件适宜什么人学习(BIM系列软件具备弱小的建模) ...
怎... 本文目录导航: 怎么在MST中建模波浪型网壳? STAAD pro好学么 ...
b... 本文目录导航: bim必学的三个软件是 bim必学的三个软件是 ...
s... 本文目录导航: staad.pro可以联机建模吗 staad软件,有用st...
钢... 本文目录导航: 钢结构课程设计论文 钢结构课程设计论文 钢结构课程设计论文 摘要 本...
做... 本文目录导航: 做钢结构受力剖析的软件有哪些? 钢结构设计用什么软件 ...