keithdickey207/defensive-ti-local-first

GitHub: keithdickey207/defensive-ti-local-first

一个运行在物理隔离环境中的纯防御性威胁情报管线,支持 IoC 摄取、净化、启发式分析及本地 SQLite 存储。

Stars: 0 | Forks: 0

# 防御性威胁情报架构(本地优先蓝图) 用于安全 IoC / 遥测数据摄取、净化、启发式与 regex 分析以及本地 SQLite 存储的 物理隔离、仅限防御的 pipeline。 本项目刻意限制在隔离环境内的**防御性**操作。不进行任何外部访问,不主动扫描第三方 系统,也不描述或启用任何自动化的出站流量。 **许可证:** MIT — 请参阅 [LICENSE](LICENSE) **作者:** Keith Alan Dickey (2026) ## 要求 - **Python 3.10+** (在 ChromeOS / Penguin 上使用 `python3`,而不是 `python`) - 核心 pipeline 仅使用标准库 - 可选:[Ollama](https://ollama.com) + `nomic-embed-text` 用于书签 RAG ``` python3 --version ``` ## 项目布局 ``` defensive-ti-local-first/ ├── LICENSE ├── README.md ├── ARCHITECTURE.md ├── requirements.txt # empty / optional chromadb note ├── bookmark_ingest.py # browser bookmarks → SQLite for LLM learning ├── rag_loader.py # Ollama embeddings + local vector store ├── src/ │ ├── sanitize.py # Sanitization buffer │ ├── ingest.py # File drop + localhost TCP │ ├── analyzer.py # Regex IoCs + signatures + heuristics │ ├── storage.py # SQLite WAL │ ├── pipeline.py # asyncio queue + workers │ └── main.py # CLI ├── data/ │ ├── incoming/ # Drop log files here │ ├── signatures/ # Local JSON signatures │ └── db/ # SQLite (create at runtime) ├── loom_internal/ # Bookmark + RAG state └── tests/test_core.py ``` ## 快速开始 — 威胁 pipeline ``` cd ~/defensive-ti-local-first # symlink → projects/defensive-ti-local-first # 一次性分析(无长期运行的 process) python3 -m src.main --once "Beacon 203.0.113.55 using powershell FromBase64String" # 检查结果 python3 -m src.main --stats python3 -m src.main --recent 20 # 完整 pipeline(file drop + localhost TCP) python3 -m src.main ``` 在另一个终端中: ``` # 放入一个 log file echo "Possible C2 on 10.0.0.55:4444 mimikatz" > data/incoming/test.log # 或者仅通过 local socket 发送 printf '%s\n' "Beacon 203.0.113.55 evil" | nc 127.0.0.1 9999 # (如果缺少 nc:) printf '%s\n' "Beacon 203.0.113.55 evil" | python3 -c \ "import socket,sys; s=socket.create_connection(('127.0.0.1',9999)); s.sendall(sys.stdin.buffer.read()); s.close()" ``` ### 测试 ``` python3 -m unittest tests.test_core -v ``` ## 用于本地 LLM 学习的书签历史记录 ChromeOS Penguin 通常**无法**读取 Chrome 的实时配置文件。请导出一次: 1. Chrome → `chrome://bookmarks` → **⋮** → **导出书签** 2. 将 `.html` 移入 Linux:`~/shared/inbox/bookmarks.html` 3. 摄取 + 准备 RAG 文档: ``` cd ~/defensive-ti-local-first python3 bookmark_ingest.py --auto python3 bookmark_ingest.py --stats python3 bookmark_ingest.py --rag-export # 使用本地 Ollama 进行 Embed(此机器上已有 nomic-embed-text) python3 rag_loader.py --latest # 查询你的个人 knowledge base python3 rag_loader.py --query "threat intelligence air gap" ``` 可选:如果你稍后安装了 ChromaDB: ``` pip install chromadb python3 rag_loader.py --latest --chroma ``` ## 安全加固说明(基于架构) | 控制措施 | 实现方式 | |---------|-----| | 阻断出站流量 | `sudo iptables -A OUTPUT -o eth0 -j DROP`(根据实际情况调整接口) | | 仅限本地绑定 | TCP 监听器被**硬编码**为 `127.0.0.1` | | 静态加密 | 将 `data/db/` 置于加密卷 / fscrypt 上 | | 丢弃重复处理 | `data/incoming/` 中的文件在读取后会重命名为 `*.processed` | | 无远程 IoC 订阅源 | 特征码仅存放在 `data/signatures/` 目录下 | ## 架构摘要 请参阅 [ARCHITECTURE.md](ARCHITECTURE.md) 获取完整的本地优先蓝图。 ``` Raw logs → Sanitization → Async queue → Regex + Heuristics → SQLite → CLI reports ``` ## 适用范围提醒 仅限防御性分析。本软件**不**执行攻击性扫描、 外部情报富集,或任何自动化的对外情报收集。
标签:AI风险缓解, Python, SQLite, TLS, 威胁情报, 开发者工具, 异步IO, 无后门, 本地存储, 计算机取证, 逆向工具, 防御工具