Vit9borzenko/PALIMPSEST

GitHub: Vit9borzenko/PALIMPSEST

一个集成了 NLP、文体分析和行为画像的 Telegram OSINT 情报分析平台,用于从聊天数据中提取关联情报和生成分析报告。

Stars: 0 | Forks: 0

# TG Analytics 一个具备全面数据收集、处理和可视化功能的 Telegram 聊天分析平台。 ## 功能 - **消息抓取**,来自 Telegram 群组 (Telethon) - 通过 WebSocket **实时监控**新消息 - **语义 NLP 分析**:情感、主题、NER、embedding - **文体分析**:时间线、行为模式 - **神经上下文分析** (OpenAI / 本地模型) - 支持**语义排序**的**消息搜索** - 参与者**关联分析**(图、评分、聚类) - 图像 **OCR** (Tesseract, EasyOCR) - **音频转写** (Whisper / OpenAI Whisper API) - **生成报告** (PDF, XLSX) - **Dead account detection** - **MITRE ATT&CK mapping** - **OSINT 情报丰富化** - 包含**合成数据**的 **Demo 模式** - 支持 RBAC 的 **JWT 身份验证** (Admin / Analyst / Viewer) ## 架构 ``` ┌─────────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐ │ Telegram │ │ Celery │ │ Redis │ │ Nginx │ │ (Telethon) │──▶│ Worker │──▶│ (Queue │──▶│ (Proxy) │ └─────────────┘ └──────────┘ │ + WS) │ └──────────┘ └─────────┘ ┌─────────────┐ ┌──────────┐ │ ┌──────────┐ │ Monitor │ │ FastAPI │◀───────┘ │ Postgres │ │ Service │──▶│ App │─────────────────▶│ (pgvector)│ └─────────────┘ └──────────┘ └──────────┘ ``` ## 快速开始 ### 前置条件 - Docker 和 Docker Compose(或 Python 3.11+) - Telegram API ID, API Hash(用于抓取) - OpenAI API Key(可选,用于神经分析) ### 通过 Docker 运行 ``` cp .env.example .env # 如有必要,请修改 .env docker compose up -d ``` 应用将可以通过以下地址访问:`http://localhost:80` **默认凭据:** - 用户名:`admin` - 密码:`SecurePass2025!` ### 手动运行 ``` # 安装依赖 pip install -r requirements.txt # 下载 spaCy 模型 python -m spacy download ru_core_news_sm # 运行 uvicorn backend.app.main:app --reload ``` ## 环境变量 | 变量 | 描述 | 默认值 | |---|---|---| | `POSTGRES_*` | PostgreSQL 连接参数 | `tg_user` / `tg_password` / `tg_analytics` | | `REDIS_*` | Redis 连接参数 | `redis:6379` | | `SECRET_KEY` | JWT 密钥 | `change-me-in-production` | | `API_KEY_INTERNAL` | 内部 API 密钥 | `internal-api-key-change-me` | | `TELEGRAM_API_ID` | Telegram API ID | — | | `TELEGRAM_API_HASH` | Telegram API Hash | — | | `OPENAI_API_KEY` | OpenAI API 密钥 | — | | `CELERY_CONCURRENCY` | Celery worker 数量 | `2` | ## 开发 ``` # 安装 dev-依赖 pip install -r requirements.txt # 数据库迁移 alembic upgrade head # 运行测试 pytest # 类型检查 mypy . # Linting ruff check . ``` ## API Endpoints - `GET /api/health` — 健康检查 - `POST /api/auth/login` — JWT 身份验证 - `POST /api/auth/register` — 注册 (仅限 admin) - `GET /api/auth/me` — 获取当前用户信息 完整的 OpenAPI 文档:`http://localhost:8000/docs` ## 项目结构 ``` tg-analytics/ ├── backend/ │ ├── app/ │ │ ├── main.py # Точка входа FastAPI │ │ ├── config.py # Конфигурация (pydantic-settings) │ │ ├── db.py # Подключение к БД │ │ ├── dependencies.py # DI: auth, rate limiting │ │ ├── websocket.py # WebSocket рассылка │ │ ├── models/ # SQLAlchemy модели │ │ ├── schemas/ # Pydantic схемы │ │ ├── routers/ # FastAPI роутеры │ │ ├── services/ # Бизнес-логика │ │ ├── modules/ # Модули (парсер, NLP, аналитика) │ │ ├── templates/ # Jinja2 шаблоны │ │ └── static/ # Статические файлы │ ├── celery_worker.py # Celery приложение │ └── monitor_service.py # Real-time мониторинг ├── alembic/ # Миграции БД ├── tests/ # Тесты ├── storage/ # Данные (медиа, кеш) ├── outputs/ # Результаты (отчёты, графики) ├── docker-compose.yml ├── Dockerfile ├── nginx.conf ├── .env.example ├── .gitignore ├── pyproject.toml └── requirements.txt ``` ## 技术栈 - **Backend**: Python 3.11, FastAPI, SQLAlchemy (async), Celery - **数据库**: PostgreSQL + pgvector, Redis - **NLP**: spaCy, sentence-transformers, transformers, langdetect, natasha - **ML**: scikit-learn, PyTorch (CPU), NetworkX - **Telegram**: Telethon - **基础设施**: Docker, Nginx ## 许可证 MIT
标签:ESC4, OSINT, Python, WSL, 代码示例, 凭据扫描, 情报收集, 搜索引擎查询, 数据分析, 无后门, 测试用例, 漏洞研究, 特权检测, 请求拦截, 逆向工具