patrese-procopio/agent-bastos

GitHub: patrese-procopio/agent-bastos

面向公共安全领域的 AI 情报分析辅助系统,集成 RAG 语义检索、音频转录、笔迹分析与实体关系图谱,内置加密审计与合规架构。

Stars: 0 | Forks: 0

# 🛡️ Agent Bastos ### 具备 RAG、取证转录和安全架构的情报助手 *公共安全情报分析辅助系统 — 专注于安全性、可追溯性以及符合 LGPD 规范。*
![Python](https://img.shields.io/badge/Python-3.14-3776AB?style=for-the-badge&logo=python&logoColor=white) ![FastAPI](https://img.shields.io/badge/FastAPI-009688?style=for-the-badge&logo=fastapi&logoColor=white) ![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB) ![ChromaDB](https://img.shields.io/badge/ChromaDB-FF6B6B?style=for-the-badge&logo=databricks&logoColor=white) ![SQLite](https://img.shields.io/badge/SQLite-07405E?style=for-the-badge&logo=sqlite&logoColor=white) ![Electron](https://img.shields.io/badge/Electron-191970?style=for-the-badge&logo=electron&logoColor=white) ![JWT](https://img.shields.io/badge/Auth-JWT%20%2B%20RBAC-000000?style=flat-square) ![Encryption](https://img.shields.io/badge/Logs-Fernet%20AES--128-green?style=flat-square) ![LGPD](https://img.shields.io/badge/Compliance-LGPD-blue?style=flat-square) ![Status](https://img.shields.io/badge/Status-Auditado-success?style=flat-square)
## 📋 关于本项目 **Agent Bastos** 是一款情报助手,旨在协助公共安全分析师执行查询理论文献、音频转录生成报告以及分析操作情报等任务。 本项目的独特之处不仅在于其 AI 功能,更在于其背后的**工程化设计**:强大的身份验证、基于模块的访问控制、敏感数据加密、取证审计追踪以及符合 LGPD 规范——所有这些都通过了记录在案的安全审计验证([`AUDIT.md`](./AUDIT.md))。
![Agent Bastos 主面板](https://raw.githubusercontent.com/patrese-procopio/agent-bastos/main/docs/screenshots/painel.jpg)
## 🖥️ 界面
| 基于 RAG 的聊天 | 操作仪表盘 | |:---:|:---:| | ![Chat RAG](https://raw.githubusercontent.com/patrese-procopio/agent-bastos/main/docs/screenshots/chat_rag.jpg) | ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/54/54ee348c12d2d41289becc81498954c07003502f4875fd93bc2b74ceabe48dd0.jpg) | | **音频转录** | **警报** | | ![Transcrição](https://static.pigsec.cn/wp-content/uploads/repos/cas/0a/0a985eb8093e7b7b05198a79e984e46ccf9f3fe9f53053b91d08d37d9f1b3faf.jpg) | ![Alertas](https://static.pigsec.cn/wp-content/uploads/repos/cas/40/4092e4061ab23905d146557bde4e29cd9a06a79a488c19fa32c0739c54e27fb0.jpg) | | **日程** | **新闻** | | ![Agenda](https://static.pigsec.cn/wp-content/uploads/repos/cas/7a/7a496ed78e6beba29f8dfea4ebebd4611575e08ce754f656983f8dd0eeddf138.jpg) | ![Notícias](https://static.pigsec.cn/wp-content/uploads/repos/cas/e8/e87ee70242c6bc6e893694c1a0105a9fd4c16e6ec201b10cd26bae4fd013881e.jpg) |
## ✨ 功能 | 模块 | 描述 | 核心技术 | |---|---|---| | 💬 **基于 RAG 的聊天** | 对已索引的理论文献进行语义查询,支持加密的对话记录 | ChromaDB + 多语言 embeddings | | 🎙️ **转录** | 将音频转换为文本,并生成用于报告的结构化分析 | Whisper + LLM | | ✍️ **笔迹分析** | 手写文档分析 | 计算机视觉 + LLM | | 📊 **仪表盘** | 包含指标和综合视图的操作面板 | React + Recharts | | 🕸️ **图分析** | 映射实体间的关系 | SQLite + 可视化 | | 👥 **用户管理** | 具备基于模块访问控制的用户 CRUD | SQLite + JWT | ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ Frontend (Electron + React) │ │ Interface desktop multiplataforma │ └───────────────────────────┬─────────────────────────────────┘ │ HTTPS + JWT Bearer ┌───────────────────────────▼─────────────────────────────────┐ │ API (FastAPI) │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Middlewares: SecurityHeaders · RateLimit · CORS │ │ │ ├─────────────────────────────────────────────────────┤ │ │ │ Auth: JWT (HS256) · bcrypt · Blacklist persistente │ │ │ │ RBAC: controle de acesso por módulo (require_module)│ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ 14 routers organizados por domínio de responsabilidade │ └──────┬───────────────┬──────────────┬───────────────────────┘ │ │ │ ┌──────▼──────┐ ┌──────▼──────┐ ┌─────▼──────────┐ │ ChromaDB │ │ SQLite │ │ Logs (Fernet) │ │ (vetorial) │ │ (usuários + │ │ criptografados│ │ doutrinas │ │ blacklist) │ │ + auditoria │ └─────────────┘ └─────────────┘ └────────────────┘ ``` ### 架构决策 - **分层架构:** `routers/` 仅负责处理 HTTP;`services/` 集中处理业务逻辑;`modules/` 封装 AI 能力。路由中零业务逻辑。 - **向量 RAG:** 理论文献库被分割为 *chunks*,转换为 embeddings 并在 ChromaDB 中建立索引以进行语义搜索——而非基于关键字的搜索。 - **感知持久化:** 需要在重启后保留的数据(用户、已撤销的 tokens)存入 SQLite;临时性数据保留在内存中。 ## 🔐 安全性与合规 安全性不是事后补充的细节——它是本项目的核心。主要实施的控件包括: ### 身份验证与授权 - **JWT 与 token 轮换** — 短时效的 access token (15 分钟) + refresh token,每次续期强制进行轮换,以缩小攻击窗口。 - **持久化黑名单** — 已撤销的 tokens(登出)以 SHA-256 *hash* 形式存储在 SQLite 中,在服务器重启后依然存在。即使数据库泄露,这些 hashes 也无法用于身份验证。 - **基于模块的 RBAC** — 每个敏感路由都要求 token 中包含特定模块权限(`require_module`),实施最小权限原则。 - **使用 bcrypt 加密的密码**(成本因子 12)— 绝不以明文形式存储。 ### 数据保护 (LGPD) - **日志加密** — 操作对话在触及磁盘之前使用 Fernet (AES-128) 进行加密。 - **取证审计追踪** — 敏感操作(包括数据销毁)会生成不可变的明文记录,包含 UTC 时间戳、操作者、主机和 PID。该日志甚至在执行彻底清除命令后也能存活。 - **破坏性操作需明确确认** — 数据销毁需要执行*区分大小写*的明确确认,防止意外触发。 - **自动日志轮转** — 防止数据无限增长。 ### 攻击防御强化 - **输入净化** — 上传的文件名在任何使用前都会进行净化处理,防止 *prompt injection*。 - **Rate limiting** — 保护身份验证 endpoints 免受暴力破解。 - **Fail-fast** — 如果未配置关键密钥(JWT、加密密钥),系统将拒绝启动,而不是在不安全的状态下运行。 ## 🛠️ 技术栈 **Backend** - Python 3.14 · FastAPI · Uvicorn - ChromaDB (向量数据库) · 多语言 embeddings - SQLite (用户、token 黑名单) - JWT (python-jose) · bcrypt (passlib) · Fernet (cryptography) **IA / ML** - 具备语义搜索的 RAG (Retrieval-Augmented Generation) - 音频转录 (Whisper) - 通过 API 调用的大语言模型 **Frontend** - React · Vite · Electron (桌面应用程序) - Recharts (数据可视化) **自动化与基础设施** - n8n (工作流编排) - pytest (测试) ## 🚀 运行说明 ### 1. Backend ``` # 克隆仓库 git clone https://github.com/patrese-procopio/agent-bastos.git cd agent-bastos # 创建并激活虚拟环境 python -m venv .venv source .venv/bin/activate # Linux/Mac # .venv\Scripts\Activate.ps1 # Windows PowerShell # 安装依赖 pip install -r requirements.txt # 配置环境变量(参见 .env.example) cp .env.example .env # 使用您的密钥编辑 .env # 索引知识库 python -m modules.ingestor # 启动 API python api.py ``` API 将在 `http://127.0.0.1:8000` 上提供。 交互式文档 (Swagger) 位于 `http://127.0.0.1:8000/docs`。 ### 2. Frontend ``` cd frontend npm install npm run dev ``` ## ⚙️ 配置 系统对所有敏感配置使用环境变量。`.env.example` 文件记录了所需的变量——**切勿**将您真实的 `.env` 纳入版本控制。 关键密钥(身份验证和加密)遵循 *fail-fast* 原则:如果没有它们,应用程序将无法启动,从而避免在不安全状态下运行。 生成具有安全 hash 的用户密码: ``` python scripts/setar_senha.py ``` ## 📂 项目结构 ``` agent-bastos/ ├── api.py # Entry point — registra middlewares e routers ├── dependencies.py # Dependências compartilhadas (auth, RBAC) ├── config/ # Configurações centralizadas ├── routers/ # Camada HTTP — 14 routers por domínio ├── services/ # Lógica de negócio (auth, rate limit, logging) ├── modules/ # Capacidades de IA (RAG, ingestão, transcrição) ├── frontend/ # Aplicação React + Electron ├── scripts/ # Utilitários (gestão de senhas, manutenção) ├── tests/ # Testes automatizados (pytest) ├── automacao_n8n/ # Fluxos de automação ├── AUDIT.md # Relatório de auditoria de segurança └── requirements.txt ``` ## 🗺️ 路线图 - [x] 完整的安全审计(记录了 12 项修复) - [x] SQLite 中的持久化 JWT 黑名单 - [x] 通过 API 实现带有 RBAC 的用户管理 - [x] 加密日志的自动轮转 - [ ] 容器化 - [ ] RAG 中的混合搜索(向量 + 关键字)并加入 reranking - [ ] 使用 GitHub Actions 的 CI/CD - [ ] 扩大测试覆盖率 ## 👤 作者 **Patrese Procópio** 数据工程 · 安全情报 · 企业级 AI 解决方案 [![GitHub](https://img.shields.io/badge/GitHub-100000?style=flat-square&logo=github&logoColor=white)](https://github.com/patrese-procopio) ## 📄 许可证 本项目用于演示和作品集目的。如需特定用途,请咨询作者。
*秉承对安全性、隐私保护和卓越工程的关注而构建。*
标签:AV绕过, ChromaDB, FastAPI, RAG, React, Syscalls, 情报分析系统, 数据合规, 文档分析, 逆向工具