MitoNacho/sentinel-cli
GitHub: MitoNacho/sentinel-cli
Sentinel 是一款用 Python 开发的终端威胁情报工具,帮助 SOC 分析师便捷地调查 IP 等失陷指标。
Stars: 0 | Forks: 0
# Sentinel
Sentinel 是一个使用 Python 开发的个人项目,旨在方便从终端调查失陷指标 (IOC)。
目前它处于开发的初始阶段,旨在版本迭代中成为一款对 SOC 分析师日常工作真正有用的工具,同时始终保持简洁、模块化且易于扩展的架构。
╭────────────────────────────── Sentinel • v0.1.2 ──────────────────────────────╮
```
███████╗███████╗███╗ ██╗████████╗██╗███╗ ██╗███████╗██╗
██╔════╝██╔════╝████╗ ██║╚══██╔══╝██║████╗ ██║██╔════╝██║
███████╗█████╗ ██╔██╗ ██║ ██║ ██║██╔██╗ ██║█████╗ ██║
╚════██║██╔══╝ ██║╚██╗██║ ██║ ██║██║╚██╗██║██╔══╝ ██║
███████║███████╗██║ ╚████║ ██║ ██║██║ ╚████║███████╗███████╗
╚══════╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝
Threat Intelligence CLI for SOC Analysts
Created by Nacho Naves
```
╰───────────────────────────────────────────────────────────────────────────────╯
## 项目状态
**当前版本:** `0.1.2`
这第一个版本包含了项目的基础和架构,未来的功能将在此之上构建。
其目标不是与现有的专业工具竞争,而是开发一个自己的实用工具,随着新功能的增加而逐步演进,既可以作为学习工具,也可以用于实际使用。
# 当前功能
- 调查 IPv4 地址。
- 集成:
- VirusTotal
- AbuseIPDB
- AlienVault OTX
- 通过 Rich 在终端中提供丰富的输出。
- 用于自动化的 JSON 格式输出。
- 通过 `.env` 文件进行配置。
- 为扩展做好准备的模块化架构。
- 兼容 Windows 和 Kali Linux。
# 安装
## 要求
- Python **3.11** 或更高版本。
- Git。
- 互联网连接。
- 受支持服务的 API 密钥(可选,但推荐)。
# 在 Windows 上安装
克隆仓库:
```
git clone https://github.com/TU-USUARIO/sentinel-cli.git
cd sentinel-cli
```
创建虚拟环境:
```
python -m venv .venv
```
激活它:
**PowerShell**
```
.\.venv\Scripts\Activate.ps1
```
安装 Sentinel:
```
pip install -e .
```
检查安装:
```
sentinel --version
```
预期输出:
```
sentinel 0.1.2
```
# 在 Kali Linux 上安装
克隆仓库:
```
git clone https://github.com/TU-USUARIO/sentinel-cli.git
cd sentinel-cli
```
创建虚拟环境:
```
python3 -m venv .venv
```
激活它:
```
source .venv/bin/activate
```
安装 Sentinel:
```
pip install -e .
```
验证安装:
```
sentinel --version
```
# 配置
Sentinel 会自动从 `.env` 文件加载 API 密钥。
从示例创建文件:
```
cp .env.example .env
```
文件内容:
```
SENTINEL_VIRUSTOTAL_KEY=tu_api_key
SENTINEL_ABUSEIPDB_KEY=tu_api_key
SENTINEL_OTX_KEY=tu_api_key
```
无需修改任何其他配置文件。
如果操作系统中定义了环境变量,它们将优先于 `.env` 文件中定义的变量。
# 用法
调查 IP 地址:
```
sentinel ip 8.8.8.8
```
JSON 格式输出:
```
sentinel ip --json 8.8.8.8
```
将报告保存到文件中:
```
sentinel ip -o informe.txt 8.8.8.8
```
严格模式:
```
sentinel ip --strict 8.8.8.8
```
显示帮助:
```
sentinel --help
```
# 项目结构
```
src/
└── sentinel/
├── core/
├── formatters/
├── models/
├── modules/
├── services/
└── utils/
```
该架构遵循模块化的理念,每个组件都有单一的职责,从而简化了维护和新功能的引入。
# 未来的功能
目标是继续以渐进式的方式开发 Sentinel。
未来版本中计划实现的一些功能包括:
- 域名调查。
- 哈希 (MD5, SHA1, SHA256) 调查。
- WHOIS 丰富化。
- IOC 列表处理。
- Linux 日志监控。
- 分析 `/var/log/auth.log`。
- 新的 Threat Intelligence 提供商。
- 更完善的报告导出。
# 为什么选择 Sentinel?
这个项目的诞生有着双重目的。
一方面,通过应用良好的架构、模块化和可维护性实践,深化软件开发。
另一方面,构建一款对 SOC 分析师日常工作可能有所帮助的工具,并随着新功能的加入而不断发展。
Sentinel 不会从一开始就开发一个庞大的应用程序,而是会一步步成长,始终保持坚实且易于维护的基础。
# 许可证
该项目在 **MIT** 许可证下分发。
# 作者
**Nacho Naves**
Python 开发者和网络安全学生。
Sentinel 是一个持续开发的项目,欢迎任何建议或贡献。
标签:DInvoke, IOC调查, Python, SOC分析, 威胁情报, 实时处理, 开发者工具, 无后门, 逆向工具