用于misp的python api。

pymisp的Python项目详细描述


自述文件

Documentation StatusBuild StatusCoverage StatusPython 3.6PyPi versionNumber of PyPI downloads

pymisp-访问misp的python库

pymisp是一个通过rest api访问MISP平台的python库。

pymisp允许您获取事件、添加或更新事件/属性、添加或更新示例或搜索属性。

要求

从PIP安装

pip3 install pymisp

从repo安装最新版本

git clone https://github.com/MISP/PyMISP.git && cd PyMISP
git submodule update --init
pip3 install -I .[fileobjects,neo,openioc,virustotal]

使用virtualenv安装它

建议使用virtualenv来避免影响您的os python环境。

pip3 install virtualenv
git clone https://github.com/MISP/PyMISP.git && cd PyMISP
python3 -m venv ./
source venv/bin/activate
git submodule update --init
pip3 install -I .[fileobjects,neo,openioc,virustotal]

运行测试

pip3 install -U nose pip setuptools coveralls codecov requests-mock
pip3 install git+https://github.com/kbandla/pydeep.git

git clone https://github.com/viper-framework/viper-test-files.git tests/viper-test-files
nosetests-3.4 --with-coverage --cover-package=pymisp,tests --cover-tests tests/test_*.py

如果要测试misp实例,也可以运行活动实例:

note:需要将tests/testlive_comprehensive.py中的密钥更新为管理员帐户的自动密钥。

nosetests-3.4 --with-coverage --cover-package=pymisp,tests --cover-tests tests/testlive_comprehensive.py

示例和如何使用pymisp

各种示例和示例脚本都在examples/目录中。

在examples目录中,您需要更改keys.py.sample以输入您的misp url和api密钥。

cd examples
cp keys.py.sample keys.py
vim keys.py

misp的api键可以在misp web界面的automation部分找到。

要测试url和api键是否正确,可以使用examples/last.py to进行测试 获取在过去x个时间量中发布的事件(支持的时间指示器:天(d)、小时(h)和分钟(m))。 last.py

cd examples
python3 last.py -l 10h # 10 hours
python3 last.py -l 5d  #  5 days
python3 last.py -l 45m # 45 minutes

调试

您有两个选择:

  1. debug=True传递给PyMISP,它将在整个模块上启用对stderr的logging.debug

  2. 直接使用python日志模块:

importlogginglogger=logging.getLogger('pymisp')# Configure it as you whish, for example, enable DEBUG mode:logger.setLevel(logging.DEBUG)

或者如果要将调试输出写入文件而不是stderr:

importpymispimportlogginglogger=logging.getLogger('pymisp')logging.basicConfig(level=logging.DEBUG,filename="debug.log",filemode='w',format=pymisp.FORMAT)

文档

PyMISP API documentation is available

可以使用epydoc生成文档:

epydoc --url https://github.com/MISP/PyMISP --graph all --name PyMISP --pdf pymisp -o doc

Jupyter笔记本

存储库中提供了一系列Jupyter notebooks for PyMISP tutorial

一切都是可变映射

…或者至少可以从json blob导入/导出的所有内容

AbstractMISP是主类,继承collections.MutableMapping,这意味着 类可以表示为一个python字典。

抽象假设字典中不应该出现的每个属性前面都有一个_, 或者将其名称添加到私有列表__not_jsonable(可通过update_not_jsonableset_not_jsonable访问)。

这个master类有一些帮助程序,可以方便地加载和导出json字符串。

MISPEventMISPAttributeMISPObjectReferenceMISPObjectAttributeMISPObject 是abstractmisp的子类,这意味着它们可以作为python字典处理。

MISP对象

创建新的misp对象生成器应该使用预定义的模板并继承AbstractMISPObjectGenerator

新的mispobject生成器需要生成属性,并使用add_attribute将它们作为类属性添加。

当对象发送到misp时,所有类属性都将导出到json导出。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是安卓的子类。所容纳之物ClipData或ClipData。项目   毕加索中的java错误get()无法应用于(安卓.content.Context)   管道接受来自控制台和管道文本文件的Java输入   Java Windows文件权限   java如何在Selenium中找到此按钮?我尝试了partiallinktext并多次尝试cssSelector   java如何在spring jdbc模板中生成流式sql?   方法中的java全局值变为null   java设备“Mobile Intel(R)4 Series Express芯片组系列”(\\.\DISPLAY1)初始化失败:   java查找单独文件夹中的资源到类文件   java iCal4j添加会议说明   java如何处理InvalidTokenException?   oop如果Java不支持运算符重载,增量运算符如何在整数实例上工作?   java如何在Hibernate中获取<map>