项目简介

Enterprise OSINT Platform 是一个专为企业安全团队、威胁猎手和情报分析师设计的开源情报(OSINT)调查平台。它采用现代Web技术和Kubernetes原生架构构建,提供全面的情报收集能力,并支持专业的报告和企业合规功能。平台的核心亮点是通过多个专门的 Model Context Protocol (MCP) 服务器提供各种情报服务,这些服务器能够以标准化的方式向客户端(包括潜在的LLM客户端)提供上下文信息和功能。

主要功能点

  • 多源情报收集:整合基础设施(WHOIS、DNS、SSL证书、子域名)、威胁情报(VirusTotal、Shodan等)、社交媒体(Twitter、Reddit等)、AI增强分析(GPT-4驱动)以及金融情报(SEC文件、财务分析)等多个来源的数据。
  • 调查管理与自动化:支持从规划、收集、分析到报告的多阶段工作流,实时跟踪调查进度,并生成专业级的PDF报告。
  • 企业级特性:提供JWT认证、基于角色的访问控制、合规框架集成(GDPR/CCPA)、API限流和全面的审计日志。
  • 模块化MCP服务器:通过多个独立部署的MCP服务器(如基础设施、威胁情报、AI分析、社交媒体、金融情报服务器),提供高度专业化和可扩展的情报服务。
  • 高性能与可观测性:基于Kubernetes实现高可用和自动扩缩容,通过Prometheus和Grafana提供全面的指标监控和可视化仪表盘。

安装步骤

该平台设计用于Kubernetes部署。本地开发和测试需要Docker Desktop(启用Kubernetes)、Python 3.11+ 和 Node.js 18+。

  1. 环境准备
    • 安装 Docker Desktop 并确保 Kubernetes 已启用。
    • 安装 Python 3.11+ 和 Node.js 18+。
    • 配置 'kubectl' 以连接到您的本地Kubernetes集群。
  2. 创建命名空间
    kubectl create namespace osint-platform
  3. 部署数据库及核心服务
    kubectl apply -f k8s/postgresql-deployment.yaml
    kubectl apply -f k8s/simple-backend-deployment.yaml
    kubectl apply -f k8s/simple-frontend-deployment.yaml
  4. 部署增强型MCP服务器
    kubectl apply -f k8s/enhanced-mcp-deployments.yaml
    # 如果需要部署所有单个增强型MCP服务器,请检查k8s目录下的具体yaml文件并部署。
    # 例如:kubectl apply -f k8s/mcp-infrastructure-enhanced-deployment.yaml
  5. 配置API密钥(可选但推荐): 外部API密钥(如OpenAI、VirusTotal)可以作为Kubernetes Secret进行管理。
    kubectl create secret generic osint-api-keys \
      --namespace=osint-platform \
      --from-literal=openai-api-key=your-key \
      --from-literal=virustotal-api-key=your-key \
      --from-literal=shodan-api-key=your-key
    这些密钥将在相应的MCP服务器启动时自动加载。

服务器配置 (MCP客户端使用)

MCP客户端(如LLM代理)需要知道如何连接这些MCP服务器。每个MCP服务器都通过HTTP POST请求处理其核心功能,并提供 '/health' 和 '/capabilities'(或 '/tools')接口进行服务发现。

以下是每个MCP服务器的配置信息(JSON格式),供MCP客户端集成参考:

[
  {
    "server_name": "Infrastructure Advanced",
    "command": "uvicorn",
    "args": ["app:app", "--host", "0.0.0.0", "--port", "8021"],
    "url": "http://mcp-infrastructure-enhanced:8021",
    "description": "提供DNS、WHOIS、SSL证书、子域名枚举等基础设施情报收集服务。客户端可调用其工具获取相关资源。",
    "capabilities_endpoint": "/capabilities",
    "health_endpoint": "/health",
    "execute_endpoint": "/mcp"
  },
  {
    "server_name": "Threat Intelligence Aggregator",
    "command": "uvicorn",
    "args": ["app:app", "--host", "0.0.0.0", "--port", "8020"],
    "url": "http://mcp-threat-enhanced:8020",
    "description": "聚合VirusTotal、Shodan等多源威胁情报,进行IP/域名信誉和文件哈希检查。提供多维度威胁分析工具。",
    "capabilities_endpoint": "/capabilities",
    "health_endpoint": "/health",
    "execute_endpoint": "/mcp"
  },
  {
    "server_name": "AI-Powered Analyzer",
    "command": "uvicorn",
    "args": ["app:app", "--host", "0.0.0.0", "--port", "8050"],
    "url": "http://mcp-ai-analyzer:8050",
    "description": "利用GPT-4进行威胁行为者分析、指标关联、执行摘要生成和攻击预测等。客户端可通过此服务器利用AI能力。",
    "capabilities_endpoint": "/capabilities",
    "health_endpoint": "/health",
    "execute_endpoint": "/mcp"
  },
  {
    "server_name": "Social Media Enhanced",
    "command": "flask",
    "args": ["run", "--host", "0.0.0.0", "--port", "8010", "--app", "app"],
    "url": "http://mcp-social-enhanced:8010",
    "description": "提供Twitter、Reddit等社交媒体的用户画像、活动分析和内容搜索工具。",
    "capabilities_endpoint": "/tools",
    "health_endpoint": "/health",
    "execute_endpoint": "/execute"
  },
  {
    "server_name": "Financial Intelligence",
    "command": "flask",
    "args": ["run", "--host", "0.0.0.0", "--port", "8040", "--app", "app"],
    "url": "http://mcp-financial-enhanced:8040",
    "description": "提供公司财务数据、SEC文件分析和公司结构情报。客户端可查询公司财务状况和相关文档。",
    "capabilities_endpoint": "/tools",
    "health_endpoint": "/health",
    "execute_endpoint": "/execute"
  }
]

基本使用方法

  1. 访问平台:部署完成后,通过端口转发在本地访问前端和后端API:
    kubectl port-forward -n osint-platform svc/osint-simple-frontend 8080:80
    kubectl port-forward -n osint-platform svc/osint-backend 5000:5000
    然后通过浏览器访问 'http://localhost:8080'。
  2. 登录:使用默认管理员账户(用户名:'admin',密码:'admin123')或注册新账户登录平台。
  3. 发起调查:在平台UI中输入调查目标(例如:'example.com')和调查类型(例如:'comprehensive'),然后启动调查。平台将自动调度MCP服务器进行情报收集和分析。
  4. 查看结果:调查完成后,您可以在UI中查看详细的情报结果、风险评估和生成的专业报告。
  5. API调用(作为MCP客户端示例):LLM客户端可以通过HTTP POST请求直接调用各个MCP服务器的 '/execute' 或 '/mcp' 接口来获取特定的情报数据或执行工具。例如,调用AI分析服务器的 'generate_executive_summary' 工具:
    POST http://mcp-ai-analyzer:8050/mcp
    Content-Type: application/json
    
    {
      "method": "ai/generate_executive_summary",
      "params": {
        "investigation_data": {
          "target": "example.com",
          "findings": {"infrastructure": {"dns": ["..."]}, "threat": {"reputation": "..."}}
        }
      }
    }
    服务器将返回包含执行摘要的JSON响应。

信息

分类

AI与计算