seclytics/python-client
GitHub: seclytics/python-client
这是一个用于访问AugurSecurity威胁情报API的Python客户端,支持IP查询、威胁预测和布隆过滤器高效过滤。
Stars: 3 | Forks: 1
# Augur Python 客户端
用于通过 Augur 的布隆过滤器进行 IP 修补的 Python 模块。
## Python 2.7 安装说明
```
pip install enum pybloomfiltermmap
pip install git+git://github.com/seclytics/python-client.git --upgrade
```
## Python 3.7 - 3.12 安装说明
```
pip install cython
pip install pybloomfiltermmap3
pip install git+https://github.com/seclytics/python-client.git --upgrade
```
## 使用方法
```
from seclytics import Seclytics
access_token = 'YOUR_ACCESS_TOKEN'
client = Seclytics(access_token=access_token)
# 获取 IP 信息
report = client.ip('89.32.40.238')
# 检查是否预测
if report.predicted:
print(report.predictions)
# 获取被动 DNS
report.passive_dns
```
## 带代理的使用方法
通过 requests 会话设置代理。
```
import requests
from seclytics import Seclytics
session = requests.Session()
session.proxies = {'http': 'http://proxy', 'https': 'https://proxy'}
access_token = 'YOUR_ACCESS_TOKEN'
client = Seclytics(access_token=access_token, session=session)
```
## 布隆过滤器使用说明
**需要访问我们的布隆过滤器**
### 下载布隆过滤器
```
export SECLYTICS_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"
python -m seclytics.scripts.download_db --access_token $SECLYTICS_ACCESS_TOKEN --name predicted-ips.bloom,malicious-ips.bloom,ip-threat-intel.bloom --data-dir /tmp
```
### 命令行过滤器示例
从标准输入读取数据,并仅在匹配指定标志时进行输出。
```
$ echo '139.47.251.221' | python -m seclytics.scripts.ip_filter --suspicious --malicious --predicted
> 139.47.251.221
```
恶意但未被预测的 IP(无输出)
```
$ echo '91.195.240.82' | python -m seclytics.scripts.ip_filter --predicted
>
```
恶意 IP
```
$ echo '91.195.240.82' | python -m seclytics.scripts.ip_filter --malicious
> 91.195.240.82
```
检查我们是否拥有该 IP 的任何信息
```
$ echo '51.255.139.200' | python -m seclytics.scripts.ip_filter --suspicious --malicious --predicted
> 51.255.139.200
```
在 IP 列表中查找被预测的 IP。
```
$ curl http://www.malwaredomainlist.com/hostslist/ip.txt 2> /dev/null | python -m seclytics.scripts.ip_filter --predicted
```
在查询 API 获取更多信息前,使用布隆过滤器进行过滤。
```
export SECLYTICS_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"
curl http://www.malwaredomainlist.com/hostslist/ip.txt 2> /dev/null | python -m seclytics.scripts.ip_filter --predicted | python -m seclytics.scripts.ip_enrich --access_token $SECLYTICS_ACCESS_TOKEN | jq .context.source_urls
```
## 待办事项
* 添加文档
* 添加更多测试
* 为多个 IOC 查询添加方法
* 用对象封装被动 DNS 结果
* 用对象封装预测结果
* 创建 CLI 应用程序
标签:API集成, Bloom Filter, IP分析, IP威胁情报, Python客户端, Python模块, 代理支持, 可观测性, 告警, 威胁情报, 安全威胁检测, 开发者工具, 数据库下载, 网络威胁情报, 网络安全, 被动DNS, 访问令牌认证, 过滤脚本, 逆向工具, 隐私保护, 预测分析