JMousqueton/IoCManager

GitHub: JMousqueton/IoCManager

一个面向SOC和威胁情报团队的Web版IOC管理平台,集成自动情报丰富化、多平台检测规则生成和STIX导出能力。

Stars: 14 | Forks: 1

# IOC Manager (作者:Julien Mousqueton) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![Flask](https://img.shields.io/badge/flask-3.0+-green.svg)](https://flask.palletsprojects.com/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 一个综合性的基于 Web 的平台,用于管理、丰富和分析失陷指标。专为安全运营中心、计算机应急响应小组 (CERT) 和威胁情报团队构建。 ## 🎬 演示 ![IOC Manager 演示](https://raw.githubusercontent.com/JMousqueton/IoCManager/main/.github/IoCManager.gif) ## 🌟 功能特性 ### 核心功能 - **IOC 管理**:支持多种指标类型的 IOC 创建、读取、更新和删除 - **支持的 IOC 类型**:IPv4、IPv6、Domain、URL、MD5、SHA1、SHA256、SHA512、SSDEEP、Email - **风险分类**:严重程度级别(低、中、高、严重)及置信度评分 - **TLP 支持**:用于信息共享的交通灯协议 (WHITE, GREEN, AMBER, RED) - **标签系统**:使用可自定义的彩色标签组织 IOC - **IOC 过期**:基于 TTL 的自动过期及可配置策略 - **协作审查**:标记 IOC 以供审查,允许任何用户进行协作编辑 - **生命周期管理**:完整的审批工作流,包含草稿 → 审核中 → 活跃 → 已归档 状态 - **操作系统标记**:为基于哈希的 IOC(MD5、SHA1、SHA256、SHA512、SSDEEP)标记目标操作系统(Windows x64/x86、Linux ELF、macOS、Android APK 等) - **IOC 共享**:为单个 IOC 生成匿名的可共享链接 ### 威胁情报丰富化 - **VirusTotal 集成**:针对哈希和 URL 的自动恶意软件分析、信誉评分及 MITRE ATT&CK 映射 - **URLScan.io 集成**:URL 截图、判定结果及页面分析 - **GeoIP 查询**:IP 地址的地理位置数据 (MaxMind GeoLite2) - **ASN 查询**:自治系统号和组织信息 - **域名丰富化**:WHOIS 数据、DNS 记录 (A, AAAA, MX, NS, TXT) 及 SSL/TLS 证书详情 - **URL 丰富化**:HTTP 头、服务器指纹识别、技术检测、安全头及 favicon 哈希 - **智能缓存**:基于服务的智能数据库缓存,以减少 API 调用 - **缓存刷新**:通过 **Refresh IOC Enrichment** 按钮强制刷新过时的丰富化数据 ### 协作与分析 - **IOC 关系**:链接相关指标(resolves_to、contains、communicates_with、downloads_from、drops、connects_to 等) - **关系图**:基于 Cytoscape.js 的 IOC 关系交互式多跳可视化(1-3 跳遍历、多种布局、支持深色模式) - **评论与讨论**:支持 @提及 和 Markdown 的主题评论 - **YARA 规则生成**:为所有 IOC 类型自动生成 YARA 和 YARA-X 检测规则 - **狩猎查询**:自动生成可用于 **Splunk**、**KQL (Microsoft Sentinel / Defender XDR)**、**Sigma** 和 **CrowdStrike Falcon** 的威胁狩猎查询 - **STIX 2.1 导出**:导出 STIX 格式的 IOC 用于 TAXII 共享 - **审计日志**:完整的审计跟踪,记录所有操作并追踪用户 - **变更追踪**:追踪每个 IOC 的创建者和最后更新者 ### 报告与自动化 - **邮件报告**:包含统计信息和趋势的自动日报和周报 - **生命周期摘要**:包含待审批、已审批、已拒绝和已归档内容的每日邮件摘要 - **仪表盘**:实时指标和可视化 - **搜索与过滤**:按类型、严重程度、标签、生命周期状态和日期范围进行高级过滤 - **批量导入**:一次导入多个 IOC ### 用户界面 - **深色模式**:在浅色和深色主题之间切换,偏好设置持久保存 - **响应式设计**:针对桌面和移动浏览器优化 - **关系图视图**:在 IOC 详情页面上,可视化图表与传统列表视图并存 ### 管理与配置 - **管理面板**:集中管理界面 - **报告配置**:基于 Web 的邮件/SMTP 配置,支持热重载 - **API 密钥管理**:安全的 API 密钥配置 (VirusTotal, URLScan.io 等) - **审计日志查看器**:搜索、过滤和清除审计日志,带有可点击的资源链接 - **用户管理**:创建、编辑和管理用户账户及权限 - **审查员管理**:按用户授予或撤销审查员标志(独立于角色) - **操作系统管理**:配置哈希 IOC 的目标操作系统选项 ### 安全与访问控制 - **基于角色的访问控制 (RBAC)**:Admin、User 和 Viewer 角色 - **多因素认证 (MFA)**:可选的每用户基于 TOTP 的 2FA,支持二维码设置、备用代码和速率限制 - **用户管理**:用户注册、认证和会话管理 - **注册控制**:启用/禁用公开注册 - **全面审计跟踪**:追踪所有用户操作、IOC 变更和系统事件 - **管理员审计查看器**:审计日志的高级搜索和过滤,带有智能资源链接 ## 📋 系统要求 - Python 3.8+ - SQLite (默认) 或 PostgreSQL/MySQL - SMTP 服务器 (用于邮件报告) - VirusTotal API 密钥 (可选) - URLScan.io API 密钥 (可选) - MaxMind GeoLite2 数据库 (可选,用于 GeoIP/ASN) ## 🚀 快速开始 ### 安装说明 1. **克隆仓库** git clone https://github.com/JMousqueton/IoCManager.git cd IoCManager 2. **创建虚拟环境** python3 -m venv venv source venv/bin/activate # 在 Windows 上: venv\Scripts\activate 3. **安装依赖** pip install -r requirements.txt 4. **配置环境** cp .env.example .env # 使用你的设置编辑 .env (API 密钥, SMTP 等) nano .env 5. **初始化数据库** python scripts/init_db.py 6. **下载 GeoIP 数据库** (可选) python scripts/download_asn_db.py 7. **启动应用** python run.py 8. **访问应用** - 打开浏览器:http://localhost:5000 - 默认管理员凭据:`admin` / `admin` (请立即修改!) ## ⚙️ 配置 ### 环境变量 可以通过以下方式进行配置: 1. **`.env` 文件** - 在初始设置时手动编辑 2. **管理面板** (推荐) - 基于 Web 的配置,支持以下功能的热重载: - API 密钥 (VirusTotal, URLScan.io) - 邮件/SMTP 设置 - 报告收件人 `.env` 中的主要配置选项: ``` # Flask 配置 SECRET_KEY=your-secret-key-here FLASK_ENV=development FLASK_DEBUG=True # Server Binding FLASK_HOST=127.0.0.1 FLASK_PORT=5000 # VirusTotal API VIRUSTOTAL_API_KEY=your-virustotal-api-key VIRUSTOTAL_CACHE_DAYS=7 # Cache duration (default: 7 days) VIRUSTOTAL_RATE_LIMIT=4 # Requests per minute (free tier: 4) # URLScan.io API URLSCAN_API_KEY=your-urlscan-api-key URLSCAN_CACHE_DAYS=7 URLSCAN_RATE_LIMIT=1 # Domain & URL Enrichment Cache DOMAIN_ENRICHMENT_CACHE_DAYS=30 URL_ENRICHMENT_CACHE_DAYS=7 # 电子邮件报告 REPORT_ENABLED=True DAILY_REPORT_RECIPIENTS=cert-team@example.com WEEKLY_REPORT_RECIPIENTS=cert-team@example.com,management@example.com # SMTP 配置 MAIL_SERVER=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=your-email@example.com MAIL_PASSWORD=your-app-password # IOC 过期 IOC_DEFAULT_TTL_DAYS=90 IOC_AUTO_EXPIRE_ENABLED=True # IOC 生命周期管理 DRAFT_RETENTION_DAYS=30 # Auto-archive drafts older than N days NOTIFICATION_RETENTION_DAYS=7 # Purge processed notifications after N days # 身份验证 REGISTRATION_ENABLED=False # Disable public registration ``` 有关所有可用选项,请参阅 `.env.example`。 ## 📖 使用指南 ### 创建 IOC 1. 从菜单导航至 **Add IOC** 2. 选择 IOC 类型(IPv4、Domain、Hash 等) 3. 输入 IOC 值 4. 设置严重程度、置信度和 TLP 级别 5. 添加描述和标签 6. 对于哈希类型(MD5、SHA1、SHA256 等),可选择 **目标操作系统** 7. 选择一个 **生命周期状态**:*To be reviewed* (默认)、*Active* 或 *Draft* 8. 点击 **Create IOC** ### 丰富化 IOC 在任何 IOC 详情页面点击 **Enrich IOC** 以自动获取威胁情报: - **IP 地址** — GeoIP 位置、ASN 和组织数据 - **哈希** — VirusTotal 恶意软件分析、检测率、MITRE ATT&CK 技术 - **URL** — URLScan.io 截图/判定、VirusTotal URL 分析、HTTP 头、服务器指纹识别、解析 IP 的 GeoIP - **域名** — WHOIS 注册数据、DNS 记录 (A, AAAA, MX, NS, TXT)、SSL/TLS 证书 丰富化完成后,按钮会变为 **Refresh IOC Enrichment** — 点击它会清除服务缓存并从每个来源重新获取最新数据。 ### 创建关系 将相关的 IOC 链接在一起: 1. 打开一个 IOC 详情页面 2. 在 Related IOCs 部分点击 **Add Relationship** 3. 搜索目标 IOC 4. 选择关系类型 (resolves_to、contains、downloads_from 等) 5. 添加可选备注 详情页面上的 **Graph View** 标签页可以可视化完整的关系网络,并支持可配置的跳数深度 (1-3)。 ### 生成 YARA 规则 1. 打开任意 IOC 详情页面 2. 点击 **Generate YARA** 3. 复制或下载规则 (`.yar`) 4. 如需要,切换到 YARA-X 语法 (`.yarax`) 支持所有 IOC 类型:哈希(使用 VT 丰富化获取额外哈希)、IP、域名、URL。 ### 生成狩猎查询 1. 打开任意 IOC 详情页面 2. 点击 **Hunting Queries** 3. 选择一个平台标签页:**Splunk**、**KQL / Sentinel**、**Sigma** 或 **CrowdStrike** 4. 复制到剪贴板或使用原生文件扩展名下载 (`.spl`、`.kql`、`.yml`、`.fql`) 查询会尽可能利用丰富化数据(例如 VirusTotal 中的所有已知哈希)。时间范围默认为过去 30 天 — 请根据您的环境调整索引名和表名。 ### 评论 为 IOC 添加评论以便协作: - 使用 **Markdown** 格化富文本 - **@mention** 用户以通知他们 - **回复** 以创建主题讨论 - **编辑/删除** 你自己的评论 ### 分享 IOC 在任何 IOC 详情页面点击 **Share** 以复制匿名的可分享链接。分享视图会去除敏感元数据,以便安全地对外分享。 ### IOC 生命周期管理 IOC 遵循结构化的审批工作流程,以确保质量和责任。 #### 状态 | 状态 | 描述 | |-------|-------------| | **Draft** | 进行中的工作 — 只有创建者和管理员可以查看和编辑 | | **In Review** | 已提交审批 — 审查员会收到通知并可批准或拒绝 | | **Active** | 已批准并生效 — 对所有用户可见 | | **Archived** | 已退役 — 保留作历史参考,不再生效 | #### 工作流 ``` Draft ──→ In Review ──→ Active ──→ Archived │ ↑ └─── (rejected) ──→ Draft └─── Restore ``` #### 对于 IOC 创建者 1. 创建一个 IOC — 它默认为 **In Review**,审查员会自动收到通知 2. 或者,保存为 **Draft** 以便在提交前继续编辑 3. 在草稿 IOC 上,准备好后点击 **Submit for Review** 4. 一旦批准,IOC 变为 **Active** 5. 如果被拒绝,IOC 返回 **Draft** 状态,并附上你可以处理的拒绝原因 #### 对于审查员 / 管理员 1. 导航栏中的徽章显示待审查的 IOC 数量 2. 导航到顶部菜单中的 **Approvals** 查看完整队列 3. 对于任何审查中的 IOC,点击 **Approve** 使其生效,或点击 **Reject** 并提供原因 4. 审查员还可以 **Archive** 活跃的 IOC 并 **Restore** 已归档的 IOC #### 标记以供审查 (快速路径) 在任何 **Active** IOC 详情页面上: 1. 切换 **"To be reviewed"** 开关 2. 生命周期状态自动移动到 **In Review**,审查员会收到通知 3. 关闭它会将状态恢复为 **Active** #### 审查员角色 审查员标志独立于用户的角色,可以授予任何用户: 1. 导航到 **Admin → Reviewers** 2. 点击任意用户旁的 **Grant** 授予他们审查员权限 3. 点击 **Revoke** 移除审查员访问权限 ### 多因素认证 (MFA) 使用可选的基于 TOTP 的双因素认证增强账户安全: **启用 MFA**: 1. 导航到你的个人资料页面 2. 在多因素认证部分点击 **"Enable MFA"** 3. 使用你的身份验证器应用(Google Authenticator、Authy、Microsoft Authenticator)扫描二维码 4. 输入 6 位验证码以确认设置 5. 将你的 10 个备用代码保存在安全的地方(每个只能使用一次) **使用 MFA 登录**: 1. 像往常一样输入你的用户名和密码 2. 你将被重定向到 MFA 验证页面 3. 输入来自身份验证器应用的 6 位代码 4. 或者,勾选 "Use a backup code instead" 并输入你的一个备用代码 **管理 MFA**: - **查看备用代码**:查看剩余的备用代码数量 - **重新生成代码**:如果你已使用大部分代码,生成新的备用代码(需要 MFA 验证) - **禁用 MFA**:关闭 MFA 保护(需要密码 + 当前 MFA 代码) **安全功能**: - 速率限制:每 15 分钟最多 10 次失败的验证尝试 - 会话超时:MFA 验证必须在 5 分钟内完成 - 备用代码:10 个一次性使用代码,用于设备丢失场景 - 审计日志:所有 MFA 事件(启用、禁用、登录尝试)都会被记录 - 管理员可见性:管理员可以查看哪些用户启用了 MFA **注意**:MFA 是可选的,并按用户配置。添加 MFA 系统时不会影响现有用户。 ### 管理面板 (仅限管理员) 访问综合管理功能: **API 密钥 标签页**: - 配置 VirusTotal API 密钥 - 配置 URLScan.io API 密钥 - 无需重启即可热重载配置 **报告 标签页**: - 配置 SMTP 服务器设置(服务器、端口、TLS/SSL) - 设置邮件凭据 - 配置报告收件人(日报/周报) - 启用/禁用自动报告 - 更改立即生效,无需重启 **审计日志 标签页**: - 搜索和过滤审计日志,可按: - 资源类型 (IOC、User、Tag、Configuration、Comment) - 操作 (CREATE、UPDATE、DELETE、LOGIN、ENRICH、EXPORT、SEARCH) - 用户 - 日期范围 - 智能过滤:选择 "IOC" 会包含 IOC、IOCRelationship 和 Comment 条目 - 点击资源查看详情(在新标签页中打开) - 清除 30 天前的日志 **用户 标签页**: - 创建、编辑和删除用户账户 - 分配角色 (Admin、User、Viewer) - 激活/停用账户 - 查看用户统计信息(创建的 IOC、审计日志) **审查员 标签页**: - 按用户授予或撤销审查员权限 - 独立于用户的角色 **操作系统 标签页**: - 管理哈希类型 IOC 显示的目标操作系统选项 - 自定义图标和描述 ## 🔧 高级功能 ### 邮件报告 在 `.env` 中配置自动报告: ``` REPORT_ENABLED=True DAILY_REPORT_RECIPIENTS=team@example.com WEEKLY_REPORT_RECIPIENTS=team@example.com,management@example.com ``` 使用 cron 调度: ``` # 每日上午 8 点报告 0 8 * * * cd /path/to/IoCManager && /path/to/venv/bin/python scripts/send_daily_report.py # 每周一上午 8 点报告 0 8 * * 1 cd /path/to/IoCManager && /path/to/venv/bin/python scripts/send_weekly_report.py ``` ### IOC 生命周期自动化 使用 cron 调度生命周期任务: ``` # 每日生命周期摘要邮件(通知审核者待处理的 IOC,通知创建者相关决策) 0 8 * * * cd /path/to/IoCManager && PYTHONPATH=. venv/bin/python3 scripts/send_daily_lifecycle_digest.py >> /var/log/iocmanager-digest.log 2>&1 # 保留策略执行(自动归档过期草稿和已过期的活动 IOC) 0 2 * * * cd /path/to/IoCManager && PYTHONPATH=. venv/bin/python3 scripts/enforce_retention_policies.py >> /var/log/iocmanager-retention.log 2>&1 ``` 在 `.env` 中配置保留策略: ``` DRAFT_RETENTION_DAYS=30 # Drafts untouched for 30 days → auto-archived NOTIFICATION_RETENTION_DAYS=7 # Processed notifications purged after 7 days ``` ### IOC 过期 自动使旧 IOC 过期: ``` # 在 .env 中配置 IOC_DEFAULT_TTL_DAYS=90 IOC_AUTO_EXPIRE_ENABLED=True # 计划过期检查 0 2 * * * cd /path/to/IoCManager && /path/to/venv/bin/python scripts/expire_iocs.py ``` ### 自动部署 使用 `update.sh` 进行生产部署: - Git 更新检查,包含代码和数据库备份 - 依赖管理和自动迁移运行 - Systemd 服务重启 (`iocmanager`) 和健康检查 - 失败时自动回滚 - 日志记录到 `/var/log/iocmanager-update.log` ### 审计日志与合规 **记录内容**: - 用户认证 (LOGIN, LOGOUT) - IOC 操作 (CREATE, UPDATE, DELETE, ENRICH, EXPORT) - 用户管理 (CREATE, UPDATE, DELETE users) - 配置变更 (API 密钥, 邮件设置) - 评论活动 - 审查和生命周期状态变更 **访问审计日志** (仅限管理员): 1. 导航到 **Admin → Audit Logs** 2. 使用过滤器查找特定事件 3. 点击资源查看详细视图 4. 使用清除按钮清理旧日志 ### STIX 2.1 导出 导出 IOC 用于 TAXII 共享: 1. 导航到 IOC 详情页面 2. 点击 **Export STIX** 3. 下载 STIX 2.1 JSON 包 ## 🎨 用户角色 | 角色 | 权限 | |------|-------------| | **Admin** | 完全访问权限:管理用户、删除任何内容、访问管理面板、配置系统设置。可以批准/拒绝/归档/恢复 IOC。 | | **User** | 创建和编辑自己的 IOC 和评论。可以提交 IOC 以供审查。可以编辑标记为审查的 IOC。 | | **Viewer** | 对 IOC 和评论的只读访问权限 | ### 审查员标志 **审查员** 标志是一个独立于用户角色的权限修饰符。它可以与任何角色结合使用: | 权限 | Viewer | User | Admin | 审查员 (任意角色) | |------------|:------:|:----:|:-----:|:-------------------:| | 查看 IOC | ✓ | ✓ | ✓ | ✓ | | 创建 IOC | | ✓ | ✓ | | | 编辑自己的 IOC | | ✓ | ✓ | | | 提交审查 | | ✓ | ✓ | | | **批准 / 拒绝** | | | ✓ | **✓** | | **归档 / 恢复** | | | ✓ | **✓** | | 管理面板 | | | ✓ | | 审查员访问权限在 **Admin → Reviewers** 中管理。 ## 📊 仪表盘指标 仪表盘提供: - IOC 总数 - 活跃 vs 非活跃指标 - 严重程度分布 - 最近添加的 IOC - 丰富化统计 - 用户活动 ## 🔒 安全性 - **CSRF 保护**:所有表单均受 CSRF 令牌保护 - **会话管理**:安全的会话处理,具有可配置的超时 - **密码哈希**:Werkzeug 密码哈希 - **SQL 注入防护**:使用参数化查询的 SQLAlchemy ORM - **XSS 防护**:使用 Bleach 进行 Markdown 净化 - **多因素认证 (MFA)**:可选的每用户基于 TOTP 的 2FA: - 使用标准身份验证器应用进行二维码设置 - 每用户 10 个一次性备用恢复代码 - 速率限制(15 分钟内 10 次尝试) - 使用 Fernet 对称加密的加密秘密存储 - 使用 bcrypt 哈希的备用代码 - 完整的 MFA 事件审计跟踪 - **全面审计日志**:所有用户操作、IOC 操作和配置变更 ## 🗂️ 项目结构 ``` IoCManager/ ├── app/ │ ├── __init__.py # Flask app factory │ ├── config.py # Configuration │ ├── models/ # Database models │ │ ├── ioc.py │ │ ├── user.py │ │ ├── comment.py │ │ ├── cache.py │ │ ├── notification.py │ │ ├── operating_system.py │ │ └── ... │ ├── routes/ # Flask blueprints │ │ ├── ioc.py │ │ ├── auth.py │ │ ├── admin.py │ │ ├── comment.py │ │ └── ... │ ├── services/ # Business logic │ │ ├── virustotal.py │ │ ├── urlscan.py │ │ ├── geoip.py │ │ ├── domain_enrichment.py │ │ ├── url_enrichment.py │ │ ├── yara_generator.py │ │ ├── hunting_query_generator.py │ │ ├── report_generator.py │ │ └── notification_service.py │ ├── utils/ # Utilities │ │ └── markdown.py │ └── templates/ # Jinja2 templates ├── scripts/ # Management & automation scripts │ ├── init_db.py │ ├── download_asn_db.py │ ├── send_daily_report.py │ ├── send_weekly_report.py │ ├── expire_iocs.py │ ├── send_daily_lifecycle_digest.py │ └── enforce_retention_policies.py ├── instance/ # Instance-specific files (DB, uploads) ├── update.sh # Automated deployment script ├── .env # Environment variables ├── requirements.txt # Python dependencies └── run.py # Application entry point ``` ## 🛠️ 开发 ### 在开发模式下运行 ``` export FLASK_ENV=development export FLASK_DEBUG=True python run.py ``` ## 🤝 贡献 欢迎贡献!请: 1. Fork 本仓库 2. 创建一个功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交你的更改 (`git commit -m 'Add amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开一个 Pull Request ### 开发指南 - 遵循 PEP 8 风格指南 - 为函数和类编写文档字符串 - 为新功能添加测试 - 根据需要更新文档 ## 🐛 故障排除 ### 常见问题 **问题**:邮件报告未发送 - **解决方案**:检查 `.env` 中的 SMTP 设置,验证 `REPORT_ENABLED=True` **问题**:VirusTotal 丰富化失败 - **解决方案**:验证 API 密钥,检查速率限制(免费层为 4 次请求/分钟) **问题**:GeoIP 数据不可用 - **解决方案**:运行 `python scripts/download_asn_db.py` 下载 MaxMind 数据库 **问题**:权限被拒绝错误 - **解决方案**:确保脚本可执行:`chmod +x scripts/*.py` ## 📄 许可证 本项目采用 MIT 许可证授权 - 详情请参见 [LICENSE](LICENSE) 文件。 ## 🙏 致谢 - [Flask](https://flask.palletsprojects.com/) - Web 框架 - [Bootstrap 5](https://getbootstrap.com/) - UI 框架 - [Cytoscape.js](https://cytoscape.org/) - 图可视化 - [VirusTotal](https://www.virustotal.com/) - 恶意软件分析 - [URLScan.io](https://urlscan.io/) - URL 分析 - [MaxMind](https://www.maxmind.com/) - GeoIP 数据 - [YARA](https://virustotal.github.io/yara/) - 恶意软件检测规则 - [STIX](https://oasis-open.github.io/cti-documentation/) - 威胁情报格式 - [Sigma](https://sigmahq.io/) - 通用 SIEM 检测格式 ## 📧 联系方式 - **项目链接**:https://github.com/JMousqueton/IoCManager - **问题反馈**:https://github.com/JMousqueton/IoCManager/issues ## 🌟 表示支持 如果这个项目对你有帮助,请给一个 ⭐️! **用 ❤️ 为网络安全社区构建**
标签:Ask搜索, ASN查询, CERT, Cloudflare, DAST, Flask, GeoIP, IOC管理, IP地址查询, MD5, MITRE ATT&CK, Python, SHA256, TLP, VirusTotal, Web安全, 入侵指标, 商业软件, 域名情报, 威胁情报, 威胁情报富化, 安全运营中心, 库, 应急响应, 开发者工具, 开源安全工具, 恶意软件分析, 无后门, 测试用例, 网络映射, 蓝队分析, 逆向工具, 逆向工程平台, 风险分类