thunderstornX/forenix-oss

GitHub: thunderstornX/forenix-oss

forenix-oss是一个开源平台,整合OSINT与取证工作流,将公开情报转化为可验证的法庭证据。

Stars: 0 | Forks: 0

forenix-oss  -  OSINT x Forensics, one workflow

forenix/oss

首个发现,即可呈堂的开源情报。

CI License: MIT Latest release Release date Last commit Stars Forks

Landing  -  forenix.tech Live demo  -  demo.forenix.tech Join the waitlist

Top language Code size Contributors Open issues Open pull requests

Next.js 16 TypeScript strict Bun 1.3 Prisma 6 Tailwind 4 next-auth v5 Tests

SHA-256 chained Sigstore Rekor attested Offline verifiable Security policy

**一个将开源情报调查与 Git 式取证案件管理融合的开源平台。从公开情报线索到证据监管链,一个完整的工作流程——每次状态变更都附带 SHA-256 向前链式审计日志。** ## 这是什么 如今的调查员依赖于两个割裂的工具链。OSINT 一侧是 Maltego、SpiderFoot、Hunchly,外加一堆 CLI 工具(sherlock、theHarvester、holehe 等)。取证一侧是 EnCase、AXIOM、Cellebrite、Relativity。**两者之间的衔接是手动的**——分析员在公开网络上发现线索,导出截图,通过电子邮件发送给案件团队,然后有人将哈希值记录到 Excel 表格中。 forenix-oss 将这两半整合到一个应用中: - **每个案件一个真实的 Git 仓库**——每次状态变更都是一次提交;审查者可以独立克隆并 `git log` 查看案件历史。 - **一个由 LLM 编排的工具运行器**,集成了 20 种 OSINT 工具(sherlock、maigret、subfinder、httpx、dnsx、amass、nuclei、exiftool、yt-dlp、tesseract、gowitness、crt.sh、WHOIS、Shodan、Hunter、HIBP、theHarvester、holehe、DuckDuckGo、通用 HTTP 抓取)。 - **结构化分析技术(SAT)基础**——每个发现都带有 Coulthart/Heuer 追踪(关键假设检查、ACH 矩阵、指标、可信度),LLM 被强制填充这些内容。 - **一个可离线验证的加密审计链**,仅需 12 行 Python 代码。 MIT 许可证。便于自托管。 ## 三条路径 同一代码库以三种形式提供。选择符合你需求的一种。 | 路径 | 现场地址 | 目标受众 | 内容描述 | 快速开始 | |---|---|---|---|---| | **OSS 核心** (MIT) | _您自行托管_ | 自托管者、评估者、集成商 | 所有分析师功能,除 Claude 外的所有适配器,每个案件的真实 Git,完整的子进程工具链,定时监控 + 证明 | [`docs/OSS_INSTALL.md`](docs/OSS_INSTALL.md) | | **概念 + 候补名单** | [forenix.tech](https://forenix.tech) | 公众 | 营销网站 + 无服务器概念演示(模拟适配器)。访客阅读介绍并 **加入付费 SaaS 的候补名单** | [`docs/VERCEL_DEPLOY.md`](docs/VERCEL_DEPLOY.md) | | **付费 SaaS** | [demo.forenix.tech](https://demo.forenix.tech) | **仅限邀请/注册**(需要候补名单审批) | OSS 核心 **+ 私有 SaaS 层**(Claude 适配器、多租户组织、计费、SSO、PDF 导出、高级 OSINT 适配器)。高级代码不在此仓库中 | [`docs/SAAS.md`](docs/SAAS.md) | 客户旅程是 **forenix.tech → 候补名单 → 管理员审批 → demo.forenix.tech**。 OSS 核心和 Vercel 概念演示直接从此仓库运行。 付费 SaaS 是通过在部署时将此仓库与私有层(`forenix-saas`)组装而成;该层添加了高级功能但从不改变 OSS 行为。完整契约参见 [`docs/SAAS.md`](docs/SAAS.md)。 [![使用 Vercel 部署](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/thunderstornX/forenix-oss) ### 实时部署 | 表面 | URL | 运行内容 | |---|---|---| | 概念 + 候补名单 (Vercel) | [forenix.tech](https://forenix.tech) | 营销 + 概念演示。模拟适配器,HTTP-API 工具,确定性 Git 回退。公开。此表面的候补名单是通往付费 SaaS 的入口。 | | 付费 SaaS (DigitalOcean) | [demo.forenix.tech](https://demo.forenix.tech) | 实际产品。仅限邀请/注册。完整构建,通过 OpenRouter 的真实 LLM,真实 OSINT 工具链,每个案件的真实 Git,文件字节级监管。 | ## 核心功能 | | | |---|---| | **每个案件一个 Git 仓库** | 底层使用 isomorphic-git。真实的提交、分支、合并(带冲突检测)。无需应用运行即可克隆和审计。 | | **SHA-256 向前链式审计** | 每次状态变更都是一个哈希链接的条目。可离线验证;无法在未被察觉的情况下被静默篡改。 | | **LLM 编排的 OSINT 流水线** | 可插拔适配器;LLM 选择运行 20 个工具中的哪个,捕获真实工具输出,并强制为每个发现生成基于 SAT 的推理追踪。 | | **API 密钥的管理保险库** | 静态存储使用 AES-256-GCM 加密。只有在管理员设置后,高级 API 密钥(Shodan、Hunter、HIBP)才会注入工具调用。绝不包含在客户端包中。 | | **团队 + RBAC** | 工作区隔离,基于角色的访问(管理员/调查员/分析师),邀请流程,签名审计归因。 | | **证据分支上的合并请求** | 在合并到 `main` 之前审查变更内容——与代码审查模式相同,应用于取证状态。 | 完整导览及截图:[`docs/FEATURES.md`](docs/FEATURES.md)。 ## 着陆页面 [forenix.tech](https://forenix.tech) 的营销页面被设置为一份法律风格的单页文档:编号章节、首字母下沉、旁注、脚注、附件,监管链验证器作为实时读出器显示。提供浅色和深色主题。

forenix/oss landing surface, light mode forenix/oss landing surface, dark mode

请愿表(候补名单)和已接纳方登录采用相同的语调:

Petition for entry — waitlist Sign in

## 快速开始 ``` bun install cp .env.example .env bun run db:push # creates the SQLite dev database bun run db:seed # populates a sample case + audit chain bun run dev # serves at http://localhost:3000 ``` 默认情况下,应用使用 `AI_ADAPTER=mock`——确定性的存根输出,无需 API 密钥,所有功能可见。 ### 连接真实的 LLM 选择一个(或多个——适配器可以按请求覆盖): ``` # OpenAI-compatible providers - one of: AI_ADAPTER=ollama # local, free AI_ADAPTER=groq # free tier, no card AI_ADAPTER=openrouter # one key, many models (incl. free tier) AI_ADAPTER=nvidia # NIM endpoint AI_ADAPTER=claude # Anthropic AI_ADAPTER=glm # Z.ai # Then the corresponding key/model - see each adapter's docstring # in src/lib/ai/adapters/ for the env-var contract. ``` 在 API 端点进行单次覆盖: ``` curl -X POST -H "content-type: application/json" \ -d '{"agentGroups":["identity","social"],"adapter":"openrouter"}' \ http://localhost:3000/api/pipeline/run/ ``` ### 连接深层子进程工具链(自托管) 除了在 Vercel 等所有环境都能工作的 HTTP-API 工具外,平台在真实主机上运行时会调用 10 个开源子进程工具: ``` # Python tools pip install sherlock-project holehe theHarvester maigret yt-dlp # Go tools (ProjectDiscovery + amass + gowitness) go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest go install github.com/projectdiscovery/httpx/cmd/httpx@latest go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest go install github.com/owasp-amass/amass/v4/cmd/amass@latest go install github.com/sensepost/gowitness@latest # System packages apt install exiftool tesseract-ocr chromium-browser ``` 安装并添加到 PATH 后,工具注册表会自动将它们暴露给 LLM。在 Vercel 上,它们会被透明地跳过(平台回退到纯 API 工具)。 ## 内含物 20 个 OSINT 工具集成到注册表,15 个生产视图,23+ 个 API 路由,7 个 AI 适配器,一个合并的 Prisma schema,一个经加密证明的审计日志。 | 视图 | 解决的问题 | |---|---| | **仪表板** | 将两种工作流(OSINT + 取证)呈现在一个屏幕上 | | **调查** | OSINT 收集工作区 + 每次调查的发现 | | **流水线** | 运行 LLM 编排的多工具扫描,并一键将发现桥接到案件 | | **案件** | 带分支图历史的取证案件管理器 | | **证据** | 每个项目的清单 + 监管链 | | **分支图** | 每个案件上证据的 Git 式提交历史 | | **实体图** | 每次调查的 OSINT 实体 + 关系图 | | **网络图** | 跨案件的知识图谱 | | **监控** | 对高价值目标的周期性重新运行 | | **验证** | 声明级别的判定(真/可能/未验证/有争议/假) | | **AI 实验室** | 每个代理运行的可见性 + 重运行控制 | | **报告** | 分章节的 JSON + Markdown 调查/案件报告 | | **审计日志** | 完整的哈希链日志,附带离线验证器 | | **完整性** | 一键链式验证 + 篡改检测 | | **审查** | 证据分支上的合并请求审查 | | **团队 + 管理** | 工作区 + 角色管理 + 加密的 API 密钥保险库 | 带截图及各视图**不**声称功能的详细导览:[`docs/FEATURES.md`](docs/FEATURES.md)。 ## AI 适配器 | 适配器 | 成本 | 用例 | |---|---|---| | `mock` | 免费 | 默认。用于开发和 Vercel 概念演示的确定性种子输出。 | | `ollama` | 免费 | 本地 LLM(任何具备工具能力的 Llama 类模型)。 | | `groq` | 免费层,无需信用卡 | 低延迟托管推理;适合快速演示。 | | `openrouter` | 免费 + 付费 | 一个密钥,多个模型——包括具有慷慨限额的免费层模型。 | | `nvidia` | 免费开发层 + 付费 | NVIDIA NIM 兼容端点。 | | `claude` | 付费 | Anthropic Claude(由 SaaS 门控)。 | | `glm` | 免费层 | Z.ai GLM 系列。 | 所有适配器共享 OpenAI 兼容的聊天完成接口契约;添加第七个只需一个文件——参见 [`src/lib/ai/adapters/`](src/lib/ai/adapters/) 了解结构。 ## 审计链 每个审计行包含: ``` hash = sha256( prevHash | action | entity | entityId | iso(createdAt) ) ``` `verifyAuditChain()` 按插入顺序重放整个日志,若遇篡改则大声报错。加密方法可离线复现: ``` import csv, hashlib GENESIS = "0" * 64 prev = GENESIS for r in csv.DictReader(open("audit.csv")): h = hashlib.sha256("|".join([ prev, r["action"], r["entity"], r["entityId"] or "", r["createdAt"] ]).encode("utf-8")).hexdigest() assert r["prevHash"] == prev and r["hash"] == h, f"BROKEN at {r['id']}" prev = r["hash"] print("chain OK") ``` 完整安全态势 + 威胁模型:[`docs/07-SECURITY.md`](docs/07-SECURITY.md)。 ## 文档包 适用于工程师、审计员、设计合作伙伴和好奇者: - [BRD - 业务需求](docs/01-BRD.md) - [SRS - 软件需求](docs/02-SRS.md) - [SDS - 软件设计](docs/03-SDS.md) - [DFD - 数据流图](docs/04-DFD.md) - [部署计划](docs/05-DEPLOYMENT.md) | [Vercel 特定说明](docs/VERCEL_DEPLOY.md) - [架构 ADR](docs/06-ARCHITECTURE.md) - [安全 + 威胁模型](docs/07-SECURITY.md) - [API 参考](docs/08-API.md) - [操作手册](docs/09-RUNBOOK.md) - [分析框架 - SAT + 代理组](docs/10-ANALYTIC_FRAMEWORK.md) - [工具栈 - 每个集成的工具](docs/11-TOOL_STACK.md) - [诚实的问题契合度评估](docs/12-PROBLEM_FIT.md) - [功能目录](docs/FEATURES.md)(附截图) - [单页概览](docs/ONE_PAGER.md) | [演示脚本](docs/DEMO_SCRIPT.md) - **[用户手册 (PDF)](docs/USER_MANUAL.pdf)** | [Markdown 源文件](docs/USER_MANUAL.md) - **[操作指南 (PDF)](docs/HOW_TO.pdf)** | [Markdown 源文件](docs/HOW_TO.md) ## 技术栈 Next.js 16 (App Router, Turbopack) | TypeScript 严格模式 | Tailwind 4 | Prisma 6 (开发用 SQLite,生产用 Postgres) | Zustand + persist | TanStack Query 5 | isomorphic-git | next-auth v5 | lucide-react | sonner | Bun 作为运行时。 ## 仓库布局 ``` src/ app/ api/ # 23+ route handlers (health, investigations, # pipeline, bridge, findings, cases, evidence, # audit, reviews, admin vault, ...) layout.tsx # design-token-driven shell page.tsx # SPA shell with ?view= deep-link support globals.css # OKLCH design tokens + fx-* primitives sign-in/ # invite-only credentials sign-in components/ command-palette.tsx layout/ # sidebar, topbar (light/dark, accent picker) views/ # one file per top-level view lib/ ai/ types.ts # adapter wire contract adapter.ts # factory chat-completions.ts adapters/ # mock, ollama, glm, claude, openrouter, nvidia, groq sat-prompts.ts # per-agent-group SAT-grounded system prompts tool-loop.ts # multi-step tool-use loop tools/ types.ts # tool contract (OpenAI function-calling shape) runner.ts # subprocess + HTTP dispatchers registry.ts # 20 tools wired catalogue/ # one file per tool adapter audit.ts # appendAudit + verifyAuditChain audit-chain.ts # pure SHA-256 helpers git-engine.ts # isomorphic-git per case vault.ts # AES-256-GCM API-key vault theme.tsx # light/dark + accent + density db.ts # Prisma client singleton hooks.ts # TanStack Query hooks store.ts # Zustand UI store + nav registry prisma/ schema.prisma # SQLite (dev) schema.postgres.prisma# Postgres (prod / Vercel) seed.ts # seed with valid hash-chained audit log scripts/ manual_screenshots.mjs # capture every view via Playwright docs/ banner.svg 01-BRD.md ... 12-PROBLEM_FIT.md FEATURES.md | ONE_PAGER.md | DEMO_SCRIPT.md | HOW_TO.md manual_screenshots/ # current screenshot set pitch/ # YC deck (pptx + pdf) ``` ## 开放核心 / 高级功能分离 | 层级 | 分发方式 | 包含内容 | |---|---|---| | **核心 (MIT)** | 自托管 / `bun run` | 所有分析师功能,全部 7 个适配器,哈希链审计,分支图,完整性验证器,完整的工具注册表。 | | **团队** (计划中) | 托管单租户 | 托管式 Postgres + 备份 + 仪表板 + 电子邮件支持。 | | **SaaS 高级版** (计划中) | 托管多租户 | 组织隔离,SSO,使用量计量,高级 OSINT 数据源,PDF 导出。 | | **企业版** (计划中) | 物理隔离/年度 | 定制适配器,管辖区内托管,SOC 2 认证。 | `SAAS_MODE=true` 是**唯一**的高级功能开关——无论是否设置,核心路径的运行方式都完全相同。 ## 路线图 - [x] 阶段 1 - 基础:适配器模式,合并 schema,种子数据,应用外壳,3 个 API 路由 - [x] 阶段 2 - 调查 + 案件详情,包含完整 CRUD + 分析员操作 - [x] 阶段 3 - 流水线运行器 + 桥接 + 7 个 AI 适配器 - [x] 阶段 4 - 证据监管链 UI + 完整性仪表板 - [x] 阶段 5 - 统一实体/网络图 - [x] 阶段 6 - AI 实验室,监控,验证 - [x] 阶段 7 - 报告查看器 + 实时适配器测试 - [x] 阶段 8 - 真实 Git 引擎 (isomorphic-git) + 结构化 SAT 提示 + 20 工具注册表 + AES 加密管理保险库 + 浅色/深色主题重设计 - [x] 阶段 9.1 - 文件字节证据存储(内容寻址磁盘存储,真实的字节级 SHA-256,原子去重,字节级验证端点,流式下载) - [x] 阶段 9.2 - 可采纳案件报告的 PDF 导出(监管链证明块,证据清单,发现摘要,审计日志示例,嵌入式报告摘要) - [ ] 阶段 9.3 - 定时监控 | 多租户组织 | WebSocket 实时更新 ## 许可证 MIT。由 [Ali Murtaza Bhutto](https://github.com/thunderstornX) 构建和维护。
标签:ESC4, OSINT, 公共数据, 加密技术, 取证工具, 安全调查, 开源平台, 情报分析, 情报收集, 数字取证, 法庭证据, 法律科技, 漏洞研究, 网络安全, 网络诊断, 自动化攻击, 自动化脚本, 证据保全, 证据管理, 证据链, 隐私保护