david-spies/osint-ci-tool

GitHub: david-spies/osint-ci-tool

该项目利用多心理学框架与多家大模型引擎,对 LinkedIn 档案进行情报界关联度的自动化行为 OSINT 评分与结构化分析。

Stars: 0 | Forks: 0

![OSINT-CI-TOOL 横幅](https://static.pigsec.cn/wp-content/uploads/repos/cas/04/0439d2be631d4f37223be693bab1257856e2421b5bc5bc5340b70681eb9defa9.svg) ![版本](https://img.shields.io/badge/version-v3.1.0-00ff88?style=for-the-badge&labelColor=0a0c10) ![Python](https://img.shields.io/badge/python-3.12+-3776ab?style=for-the-badge&logo=python&logoColor=white&labelColor=0a0c10) ![React](https://img.shields.io/badge/react-18-61dafb?style=for-the-badge&logo=react&logoColor=white&labelColor=0a0c10) ![Anthropic](https://img.shields.io/badge/anthropic-claude%20opus%204.7-cc785c?style=for-the-badge&logo=anthropic&logoColor=white&labelColor=0a0c10) ![模型](https://img.shields.io/badge/models-20%20engines-ff6b6b?style=for-the-badge&labelColor=0a0c10) ![零知识](https://img.shields.io/badge/architecture-zero--knowledge-00ff88?style=for-the-badge&labelColor=0a0c10) ![许可证](https://img.shields.io/badge/license-MIT-6b7a94?style=for-the-badge&labelColor=0a0c10) # OSINT-CI-TOOL ### IC 档案心理测量评分引擎 · v3.1.0 一款行为 OSINT 分析工具,使用三种经过验证的心理学框架对 LinkedIn 档案进行情报界 (IC) 参与度评分 (1–100%)。在统一接口中支持五家 AI 提供商和 20 个模型引擎。 ## 目录 1. [项目结构](#project-structure) 2. [心理学框架架构](#psychological-framework-architecture) 3. [模型注册表 — v3.1.0 更新日志](#model-registry--v310-changelog) 4. [输出 Schema](#output-schema) 5. [IC 邻近度评分阈值](#ic-proximity-score-thresholds) 6. [快速入门](#quickstart) 7. [架构概述](#architecture-overview) 8. [安全设计](#security-design) 9. [环境变量](#environment-variables) 10. [部署](#deployment) ## 项目结构 ``` osint-ci-tool/ ├── .gitignore ├── README.md │ ├── standalone/ │ └── index.html ← Zero-dependency single-file build │ (all 5 providers, 20 models) │ └── fullstack/ ├── docker-compose.yml ← One-command local dev environment │ ├── backend/ │ ├── main.py ← FastAPI async proxy server │ ├── config.py ← Model allowlist, env vars, prompt matrix │ ├── requirements.txt ← Pinned Python dependencies │ ├── Dockerfile │ └── .env.example │ └── frontend/ ├── index.html ├── package.json ← v3.1.0, React 18 + Vite 6 ├── vite.config.js ├── .env.example └── src/ ├── main.jsx ← React entry point └── App.jsx ← Full multi-provider UI component ``` ## 心理学框架架构 ### 1. MICE & Rascal 框架 分析动机向量和行为脆弱性: - 与模糊的机构范围相搭配的自我/追求地位的语言 - 与国家安全话语的意识形态一致性 - 机构不安分 —— 在精品国防承包商之间的横向流动 - 明确的许可/分类关键字密度 ### 2. 分析严谨性与认知风格量表 将语言输出与 IC 认知选择标准进行映射比对: - 一般智力 (g) 代理指标 - 结构化分析技术 (SAT) 语言标记 - 概率性对冲 (`likely`, `assessed`, `probable`, `indicates`) - 大五人格:高开放性(智力)+ 高尽责性 ### 3. OPSEC 混淆与“泄露”人设模型 分析职业透明度与操作安全性之间的张力: - 异常匿名(在已知的 IC 雇主处头衔模糊且没有任何任务细节) - 机构术语密度(SIGINT、HUMINT、ISR、GEOINT、C4ISR、all-source) - 技能/头衔矛盾 —— 在通用的企业头衔下拥有高水平的技术技能 - IC 管道教育(Georgetown MSFS、National Intelligence University、NDU、SAIS、Fletcher) - 五眼联盟 (5-Eyes) 合作机构参考 ### 动态权重 LLM 会根据在分析的档案中占主导地位的信号类别,动态地为每个框架分配权重(总计 100%)。简略的国防部 (DoD) 档案会使 OPSEC 模型的权重更重;而详尽的国防分析师档案则会赋予分析严谨性更高的权重。 ## 模型注册表 — v3.1.0 更新日志 注册表已于 **2026 年 7 月 30 日** 根据第一方提供商文档进行了验证。 ### Anthropic (Claude) — `protocol: backend` (代理) / `anthropic` (直连) | Model ID | Display Name | Badge | Status | |---|---|---|---| | `claude-opus-4-7` | Claude Opus 4.7 | LATEST | ✅ 添加于 v3.1.0 | | `claude-sonnet-4-6` | Claude Sonnet 4.6 | — | ✅ 添加于 v3.1.0 | | `claude-opus-4-20250514` | Claude Opus 4 | — | 自 v2.x 延用 | | `claude-sonnet-4-20250514` | Claude Sonnet 4 | — | 自 v2.x 延用 | | `claude-haiku-4-5-20251001` | Claude Haiku 4.5 | FAST | 自 v2.x 延用 | **v3.1.0 变更:** 添加了 `claude-opus-4-7` 作为新的默认旗舰模型(无日期快照格式,随 Claude 4.6+ 世代引入)。添加了 `claude-sonnet-4-6` 作为均衡的中端选项。`config.py` 和 `backend/.env.example` 中的默认模型已从 `claude-sonnet-4-20250514` 更新为 `claude-opus-4-7`。 ### OpenAI (GPT) — `protocol: openai` | Model ID | Display Name | Badge | Status | |---|---|---|---| | `gpt-5.6-sol` | GPT-5.6 Sol (旗舰) | LATEST | ✅ 添加于 v3.1.0 | | `gpt-5.6-terra` | GPT-5.6 Terra (均衡) | — | ✅ 添加于 v3.1.0 | | `gpt-5.6-luna` | GPT-5.6 Luna (经济) | FAST | ✅ 添加于 v3.1.0 | | `gpt-4.1` | GPT-4.1 | — | ✅ 添加于 v3.1.0 | | `gpt-4.1-mini` | GPT-4.1 mini | — | ✅ 添加于 v3.1.0 | **v3.1.0 变更:** 彻底替换了 v3.0.0 中过时的条目(`gpt-5.5-preview`, `gpt-4o`)。GPT-5.6 系列(Sol / Terra / Luna)是截至 2026 年 7 月 OpenAI 当前生产环境的模型层级。根据 OpenAI 更新日志,GPT-4.1 和 GPT-4.1 mini 仍然保持活跃。 ### Google (Gemini) — `protocol: gemini` | Model ID | Display Name | Badge | Status | |---|---|---|---| | `gemini-3.6-flash` | Gemini 3.6 Flash | LATEST | ✅ 添加于 v3.1.0 | | `gemini-3.5-flash` | Gemini 3.5 Flash | — | ✅ 添加于 v3.1.0 | | `gemini-2.5-pro` | Gemini 2.5 Pro | REASONING | 延用,重新标记 | | `gemini-2.5-flash` | Gemini 2.5 Flash | FAST | ✅ 添加于 v3.1.0 | **v3.1.0 变更:** 添加了 Gemini 3.6 Flash 作为当前稳定的旗舰模型,以及 Gemini 3.5 Flash 作为中端选项。在现有的 `gemini-2.5-pro` 之外添加了 `gemini-2.5-flash`。从 v3.0.0 注册表中替换了 `gemini-2.0-flash`(已弃用)。Gemini 使用 `generateContent` REST endpoint,并通过 `responseSchema` 强制执行结构化 JSON —— 无需剥离 markdown 代码围栏。 ### DeepSeek (V4) — `protocol: openai` (兼容 OAI) | Model ID | Display Name | Badge | Status | |---|---|---|---| | `deepseek-v4-pro` | DeepSeek V4 Pro | LATEST | ✅ 添加于 v3.1.0 | | `deepseek-v4-flash` | DeepSeek V4 Flash | FAST | ✅ 添加于 v3.1.0 | **v3.1.0 变更:** 完全替换了 v3.0.0 的 DeepSeek 条目。根据 DeepSeek 官方 API 更新日志,`deepseek-chat` (DeepSeek-V3) 和 `deepseek-reasoner` (DeepSeek-R1) 已于 **2026 年 7 月 24 日** 退役。V4 系列(`deepseek-v4-pro`, `deepseek-v4-flash`)是截至此次发布时唯一活跃的官方模型 ID。DeepSeek 使用兼容 OpenAI 的 Chat Completions 结构,并采用 Bearer token 认证。 ### Moonshot AI (Kimi) — `protocol: openai` (兼容 OAI) | Model ID | Display Name | Badge | Status | |---|---|---|---| | `kimi-k3` | Kimi K3 (2.8T, 1M ctx) | LATEST | ✅ 添加于 v3.1.0 | | `kimi-k2.7-code` | Kimi K2.7 Code | CODE | ✅ 添加于 v3.1.0 | | `kimi-k2.6` | Kimi K2.6 | — | ✅ 添加于 v3.1.0 | | `moonshot-v1-128k` | Moonshot V1 128K | — | 替换了 `moonshot-v1-8k` | **v3.1.0 变更:** 从 1 个模型扩展至 4 个。`kimi-k3` 是当前的旗舰模型 —— 这是一个于 2026 年 7 月 16 日推出的具有 1M token 上下文窗口的 2.8T 参数模型。`kimi-k2.7-code` 是代码专家变体。`kimi-k2.6` 是仍然活跃于通用任务的上一代 agentic 模型。`moonshot-v1-8k`(旧版,8K 上下文)被 `moonshot-v1-128k` 替换。API endpoint 从 `api.moonshot.cn` 更正为 `api.moonshot.ai`(`.cn` 域名已于 2026 年初停用,转而使用全球 `.ai` 域名)。 ## 输出 Schema ``` { "overallProbability": 78, "frameworkWeighting": { "miceRascalWeight": 25, "analyticRigorWeight": 40, "opsecLeakyWeight": 35 }, "frameworkScores": { "miceRascalScore": 72, "analyticRigorScore": 85, "opsecLeakyScore": 76 }, "psychologicalTraits": { "opennessIntellect": 88, "conscientiousness": 82, "emotionalStability": 75, "cognitiveComplexity": "High" }, "intelligenceTypesDetected": ["Logical-Mathematical", "Linguistic", "Interpersonal"], "behavioralTells": [ "Conditional hedging language consistent with SAT training", "Vague GS-13 equivalent title contradicts SIGINT/CNO skillset in summary", "Lateral shift pattern across three defense contractors within 18 months" ], "justificationSummary": "Profile exhibits strong IC proximity markers..." } ``` ## IC 邻近度评分阈值 | 评分 | 分类 | 徽章颜色 | |---|---|---| | 75–100 | 极高 IC 邻近度 | 红色 `#ff4466` | | 55–74 | 高 IC 邻近度 | 琥珀色 `#ffb84d` | | 35–54 | 中等 IC 邻近度 | 蓝色 `#4488ff` | | 1–34 | 低 IC 邻近度 | 绿色 `#00ff88` | ## 快速入门 ### 选项 A — 独立版 (零后端,全部 5 家提供商) 在任何现代浏览器中直接打开 `standalone/index.html`。无需服务器,无需安装。 ``` # macOS / Linux open standalone/index.html # 或者通过 npx 在本地运行 npx serve standalone/ ``` 在 UI 中输入您所选提供商的 API key。对于 Anthropic,请使用您的 `sk-ant-...` key。所有凭证都将保留在浏览器会话中 —— 不会向磁盘或远程服务器写入任何内容。 ### 选项 B — 全栈版 (生产级,Anthropic 代理) #### 前置条件 - Python 3.12+ - Node.js 20+ - 一个 Anthropic API key #### 1. 后端 ``` cd fullstack/backend python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # 编辑 .env:设置 ANTHROPIC_API_KEY=sk-ant-... uvicorn main:app --reload --port 8000 ``` API 文档:`http://localhost:8000/docs` 健康检查:`http://localhost:8000/health` #### 2. 前端 ``` cd fullstack/frontend npm install cp .env.example .env.local # 如果 backend URL 与 localhost:8000 不同,请编辑 .env.local npm run dev ``` 前端:`http://localhost:5173` #### 3. Docker Compose (双服务) ``` cd fullstack export ANTHROPIC_API_KEY=sk-ant-your-key-here docker compose up --build ``` ## 架构概述 ``` ┌────────────────────────────────────────────────────────────────┐ │ Browser Client │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ React App (App.jsx) │ │ │ │ · Vendor / Model selector (5 providers, 20 models) │ │ │ │ · Profile text input │ │ │ │ · Results dashboard │ │ │ └────────────────────────┬────────────────────────────────┘ │ │ │ │ │ ┌────────────────┴──────────────────┐ │ │ │ Anthropic selected? │ │ │ │ → POST /api/analyze (FastAPI) │ │ │ │ │ │ │ │ Other provider selected? │ │ │ │ → Direct fetch to provider API │ │ │ └───────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────┘ │ (Anthropic path only) ▼ ┌────────────────────────────────────────────────────────────────┐ │ FastAPI Backend (main.py + config.py) │ │ · Validates model ID against ALLOWED_MODELS │ │ · Injects MASTER_PROMPT_MATRIX (server-side, never in JS) │ │ · Truncates input to MAX_PROFILE_CHARS │ │ · Calls Anthropic API via httpx │ │ · Returns structured JSON — NEVER persists profile data │ └────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ Anthropic Messages API │ │ Model: claude-opus-4-7 (default) │ └────────────────────────────────────────────────────────────────┘ ``` ## 安全设计 | 关注点 | 独立版构建 | 全栈版构建 | |---|---|---| | **API Key 暴露** | 用户提供,仅存于浏览器本地 | 服务器环境变量,客户端不可见 | | **Prompt 矩阵 IP** | 内嵌于客户端 JS(在 DevTools 中可见 | 仅限服务器端的 `config.py` | | **档案数据隐私** | 绝不离开浏览器会话 | 无状态代理 —— 绝不持久化到磁盘 | | **模型白名单** | 无强制执行(用户设置自己的 key) | `config.py` 中设置的 `ALLOWED_MODELS` | | **速率限制** | 无(限制在用户自己的 key 范围内) | 添加 FastAPI middleware + Redis 以支持 SaaS | | **CORS** | 不适用 (直接浏览器调用) | 后端中的 `ALLOWED_ORIGINS` 环境变量 | ## 环境变量 ### 后端 (`backend/.env`) | 变量 | 默认值 | 描述 | |---|---|---| | `ANTHROPIC_API_KEY` | *(必填)* | Anthropic API key | | `DEFAULT_MODEL` | `claude-opus-4-7` | 客户端未指定时的模型 | | `MAX_PROFILE_CHARS` | `12000` | 输入截断限制 | | `ALLOWED_ORIGINS` | `http://localhost:5173,...` | CORS 允许的来源 (CSV) | | `HOST` | `0.0.0.0` | 服务器绑定主机 | | `PORT` | `8000` | 服务器绑定端口 | ### 前端 (`frontend/.env.local`) | 变量 | 默认值 | 描述 | |---|---|---| | `VITE_API_URL` | `http://localhost:8000` | FastAPI 后端 base URL | ## 部署 ### 后端 (Railway / Render / Fly.io) 1. 将 `fullstack/backend/` 推送到 Git 仓库 2. 在平台的环境设置中配置 `ANTHROPIC_API_KEY` 3. 将 `ALLOWED_ORIGINS` 设置为您的前端域名 4. 启动命令:`uvicorn main:app --host 0.0.0.0 --port $PORT` ### 前端 (Vercel / Netlify / Cloudflare Pages) 1. 将 `fullstack/frontend/` 推送到 Git 仓库 2. 将 `VITE_API_URL` 设置为您已部署的后端 URL 3. 构建命令:`npm run build` 4. 输出目录:`dist` ## 版本历史 | 版本 | 日期 | 摘要 | |---|---|---| | v3.1.0 | 2026-07-30 | 全面刷新了所有 5 家提供商的模型注册表。共计 20 个模型 ID。添加了 `config.py`。添加了 DeepSeek V4、GPT-5.6 系列、Gemini 3.x、Kimi K3。 | | v3.0.0 | 2026-06-xx | 引入了多提供商架构(OpenAI、Google、DeepSeek、Kimi)。 | | v2.1.0 | 2026-07-xx | 添加了 Claude Opus 4.7。在后端添加了 ALLOWED_MODELS 验证。 | | v2.0.0 | 2026-06-xx | 混合全栈架构。引入了 FastAPI 后端代理。 | | v1.0.0 | 2025-xx-xx | 初始独立客户端构建。仅支持 Anthropic。 | ## 许可证 仅供内部/研究使用。在针对第三方档案部署 OSINT 工具之前,请查阅您所在司法管辖区适用的法律和服务条款。
标签:ESC4, OSINT, Python, React, Syscalls, 人工智能, 人物画像分析, 后端开发, 实时处理, 心理测量分析, 情报分析, 无后门, 版权保护, 用户模式Hook绕过, 网络诊断, 请求拦截