Kirankk7/FRIDAY

GitHub: Kirankk7/FRIDAY

一款隐私优先的本地 AI 个人助手,集成了多 agent 架构、语音交互、钢铁侠 HUD 界面以及内置的网络安全工具包,全部在设备端运行无需云端服务。

Stars: 1 | Forks: 0

# FRIDAY (JARVIS) — 本地 AI 个人助手 ![测试](https://static.pigsec.cn/wp-content/uploads/repos/cas/6b/6b52945adbf8d9e421fe243515ae54cfbd3da263f16b1eabda37cdc0b797b8eb.svg) 一款隐私优先、完全本地的 AI 助手,具备多 agent 架构、语音 I/O、3 模式钢铁侠 HUD 以及内置网络安全工具包。完全运行在您自己的机器上——无需云推理,核心 LLM 无需 API 密钥。 ## 截图 ![JARVIS HUD](https://static.pigsec.cn/wp-content/uploads/repos/cas/4e/4eb0d9716c8aa1868cf14efc5bd01751fefcc2297b545e8e3c867a424afbdae3.png) ## 核心亮点 - **100% 本地 LLM 推理**,通过 [Ollama](https://ollama.com) (`qwen2.5:7b`) — 无需 OpenAI/Gemini/云服务 - **3 模式 HUD**(Command / Operations / Cyber)— 电弧反应堆球体、实时 `/health` 遥测、18-agent 舰队,全部使用纯 JS + Canvas - **多 agent 架构** — 双路径意图路由背后的 18 个 agent:**6 个重量级核心**(Ultron, FRIDAY, Veronica, File, Vision, Athena),8 个支持模块和 4 个轻量适配器 — 在 [Agents](#agents) 表中已如实分层,并非完全对等 - **语音输入与输出** — faster-whisper STT (CUDA) + Kokoro-82M 神经 TTS(每个 agent 独立的声音 + earcons)、barge-in 打断、edge-tts 后备方案 - **AutoTune** — 上下文自适应采样(将每个查询分类为 → 代码/分析/创意/对话/混沌 → 调整 temperature/top-p 等),并结合 👍/👎 EMA 在线学习 - **网络安全 agent (Ultron)** — 原生侦察套件 + 包含 180+ 工具的 HackingTool 索引,**严格限制至约 25 个可执行**(能力白名单, Offensive 类别已屏蔽)、NVD CVE 搜索、VirusTotal、CVE→资产关联、一键式 bug-bounty 工作流(包含 7 个问题的验证门控,可消除噪音/未确认的发现)+ 适配平台的 PoC 报告 - **蓝队防御模式** — 主机监控:对监听端口和进程建立基线,标记新增/可疑项(已知后门端口 + 攻击者工具)— 攻防兼备 - **本地多模态视觉** — “我的屏幕上有什么” / 通过 Ollama 视觉模型(如 llava)描述任何图像,全部在设备端运行 - **Bug-bounty 知识包** — Ultron 对真实的方法论笔记(侦察、接管、SQLi/XSS/SSRF/IDOR playbook、OSINT)和内置字典进行 RAG 索引;询问“如何测试子域接管”,即可获得有依据、有来源的回答,全程本地 - **与您的文档对话 (RAG)** — 索引文件或文件夹,然后提问,即可获得带有来源引用的可靠回答。本地 TF-IDF 检索 + MarkItDown — 无需云服务,无需 embeddings 模型 - **统一内存与遥测** — 跨越 vector/edith/tool/personal 存储的统一 facade;SQLite 支持的长期记忆;为 HUD 提供数据支持的实时单 agent 遥测 - **门控审查传递** — 针对高风险的 Ultron/Athena 报告提供可选的自我审查(批评 → 修改) - **Crypto 工具包** — 包含 29 种操作的编码/解码/哈希 agent(base64/32/58、hex、url、html、unicode、rot13、caesar、morse、md5/sha*、jwt、aes、**自动检测**)— CTF/bug-bounty payload 解码,全程本地 - **可靠性工程** — 断路器、LRU 路由缓存、共享 API 速率限制、启动配置验证器、结构化轮转日志、**468 项测试的回归测试套件** - **日常驱动套件** — 天气(open-meteo,无需密钥)、丰富的早间简报(日程 + 天气 + 加密货币 + 新闻)、跨任务/笔记/记忆/文档的统一查找、加密货币投资组合 + 支出追踪、日历 `.ics` 导入/导出,以及可从您浏览内容中提取信息供 IDOR oracle 使用的实时抓取代理 - **双向 Telegram** — 通过手机指挥 JARVIS(添加任务、执行侦察、查看日程)并接收摘要/警报返回;仅限您的 chat id 可下达指令 - **主动引擎** — JARVIS 主动触达:早间摘要、安全警报(新增端口 / 可疑进程)、CVE 关注列表命中,以及推送到 HUD 的提醒(支持插拔的 Telegram/邮件接收端) - **流式传输** — 逐 token 的 SSE 响应,配合按句分块的 TTS ## 架构 ``` Browser UI (3-mode HUD) ──SSE──► Flask (app.py) │ brain.process_input_stream (emotion · memory · personality · routine-record) │ cognitive_loop (route → execute → reflect) │ ┌───────────────────────────────────┼───────────────────────────┐ router executor ──► tools_registry ──► 18 agents (regex fast-path + O(1) exact → (per-step dispatch) │ LLM classify → clarify → fallback) ask_llm() ──► Ollama (circuit breaker · LRU cache · AutoTune · per-agent model routing) ``` - **路由器**: O(1) 精确命令表 + regex 快速路径(即时) → LLM 意图分类器(已缓存) → 置信度门控澄清 → 安全回退 - **ask_llm()**: 访问 Ollama 的单一网关 — 断路器(宕机时快速失败)、LRU 缓存、AutoTune 采样和单 agent 模型路由全部汇聚于此节点 - **无导入循环**(通过知识图谱分析验证,共 904 个节点) ## Agents 这 18 个并非全都是对等的 — 它们根据各自实际承载的逻辑量进行分层(**Core** = 重量级, **Support** = 中等,**Adapter** = 库/endpoint 的轻量包装器)。设计上保持诚实。 | Agent | 代号 | 层级 | 角色 | |-------|----------|------|------| | **Ultron** | ULTRON | Core | 网络安全 — 侦察、漏洞扫描、CVE 追踪/关联、VirusTotal、HackingTool 舰队、bug-bounty 工作流 | | **FRIDAY** | FRIDAY | Core | 对话助手 — 任务、目标、笔记、习惯、健康、日历、提醒 | | **Veronica** | VERONICA | Core | 浏览器自动化 (Playwright) — 搜索、导航、提取 | | **File** | ARCHIVE | Core | 阅读/总结文档(通过 MarkItDown 处理 PDF/DOCX/音频),**RAG(与您的文档对话)**,应用补丁 | | **Vision** | VISION | Core | 新闻、网络搜索、体育、加密货币/外汇、翻译、航班追踪、Hacker News、**图像/截图理解** | | **Athena** | ATHENA | Core | 深度研究 — 多源聚合、GitHub 仓库/代码搜索 | | **Echo** | ECHO | Support | 动态工具生成 | | **System** | SENTRY | Support | OS/CPU/RAM、电池、测速、工具结果召回 | | **Terminator** | TERMINATOR | Support | Windows 桌面控制 (pywinauto) — 聚焦/输入/点击/启动应用 | | **Edith** | EDITH | Support | 项目/长期记忆(由 SQLite 支持) | | **Scheduler** | CHRONOS | Support | 周期性后台任务 + 主动引擎 | | **Crypto** | CIPHER | Support | 编码/解码/哈希工具包 — 29 种操作(base64/32/58、hex、rot13、caesar、morse、md5/sha*、jwt、aes、自动检测) | | **Daily** | ATLAS | Support | 天气(open-meteo)、早间简报、统一查找(任务/笔记/记忆/文档)、日历 ICS 导入/导出、文档文件夹监视 | | **Finance** | LEDGER | Support | 加密货币投资组合(实时估值) + 支出/消费记录 — 纯本地,无银行集成 | | **n8n** | RELAY | Adapter | 触发自托管的 n8n 自动化工作流(webhook POST) | | **Personal** | JOCASTA | Adapter | 用户事实与配置文件存储 | | **Routines** | MACRO | Adapter | 记录并重放命令序列宏 | | **Self-Improvement** | PHOENIX | Adapter | 响应质量分析 | ## 网络安全能力 (Ultron) - **侦察**: Nmap(带扫描差异比对)、Subfinder、HTTPX、Katana、截图 - **HackingTool 舰队**: 180+ 渗透测试/OSINT 工具(Amass、theHarvester、Holehe、Maigret、SpiderFoot、TruffleHog、Nuclei、……)通过 WSL/Docker 运行,受限于作用域白名单 — 启用侦察/OSINT/审计工具,屏蔽 Offensive 类别,无任意 shell 执行 - **漏洞扫描**: Nuclei(按严重性过滤) - **威胁情报**: NVD CVE 搜索、CVE 追踪/关注列表、VirusTotal(文件/哈希/URL/域名/IP) - **关联分析**: 将追踪到的 CVE 与扫描发现的主机服务进行交叉链接(“我是否面临风险?”) - **Bug-bounty 工作流**: `bug bounty ` → 侦察 → 解析 → exploit 查找 → 验证 → **质量门控**(7 个问题 + 绝不提交黑名单 + P1-P5 赏金等级)→ 适配平台的 PoC 报告 - **多用户授权 / IDOR oracle**: 注册主体 (`session set`)、跨账户 `idor check` / `bola check`(所有者 vs 攻击者 vs 匿名控制)、`replay as`、`graphql hunt`(自省 + 特权变更) — 价值极高的漏洞类别,已在 OWASP Juice Shop 上实时确认 - **Hunt 模式(合规优先的 HAR 助手)**: 导入您自己经过身份验证的浏览记录 HAR → 提取 JWT / object-id / GraphQL 操作 / REST endpoint → 按 object 分组 → 按所有权排序 → 建议值得手动执行 IDOR/BOLA 测试。零自动化触碰目标 — 浏览器即爬虫,因此 no-scanning 计划规则和机器人保护都不构成问题 - **路由清单 + spec 导入**: 统一发现来自 crawl / OpenAPI / HAR / Burp / JS 的内容,存入一个去重且带有 ID 的路由存储库并反馈给 oracle;将其指向 OpenAPI/Swagger spec → 模板化路由 + 收集到的 owner-id - **F4 证据流水线**: 每次 `bug bounty` 运行都会被记录 — `timeline`(不可变事件日志)→ `replay`(重跑整个运行或单一步骤)→ `package`(打包运行结果 + 报告 + 证据),生成可复现、随时可提交的压缩包 - **威胁情报**: `threat intel ` 聚合跨情报源的 IP/域名/URL/哈希信誉(DShield 无需密钥 + 可选的 URLhaus/AbuseIPDB/OTX) - **目标记忆图谱**: 单主机画像 — 扫描、发现、endpoint、笔记 + 跨 hunt 的类型化情报桶(API / JWT / auth / GraphQL / tech) - **Burp 导入 + 标记**(对社区版友好): 解析 Burp HTTP-history 导出 → endpoint/参数清单,自动标记 JWT/GraphQL/API/auth-boundary/tech → 类型化目标画像 → nuclei/httpx(无需 Burp Pro / API 密钥) - **证据/复测循环**: 重新探测发现,将已确认的请求/响应证据抓取到画像 + 报告中(bug-bounty 的价值在于证据) - **GitHub 组织机密搜寻**: 枚举组织/用户的仓库 + 标记可能包含机密的文件,建议使用 TruffleHog 进行深度扫描 - **内置安全加固**: SSRF 防护(感知重定向 + 编码)、通过 argv 数组执行工具(无 shell)、能力白名单、共享 API 速率限制 - *仅限授权目标。* ## 安全与威胁模型 这是一个 offensive-security 工具,因此其自身的攻击面已公开记录在 **[THREAT_MODEL.md](THREAT_MODEL.md)** 中 — 包含 7 个信任边界、攻击者模型(间接 prompt 注入是主要威胁)、已实施的防御措施,以及已知的弱点(W1–W7)及其修复方案。 命令注入和 SSRF 弱点(W1–W4)已修复;其余事项(prompt 注入 隔离、扫描授权强制执行)在此处持续追踪。设计上为单用户、仅限 localhost — 请勿将 `app` 绑定到不受信任的网络(对于反向代理设置,存在可选的 `JARVIS_TOKEN` header 门控)。 ## 伴随仓库 — friday-recon Ultron 的 offensive-security 核心也被提取到了 **[friday-recon](https://github.com/Kirankk7/friday-recon)** 中: 相同的引擎(侦察 · bug-bounty · 验证门控 · Burp 导入 · 方法论知识库)作为一个专注的、轻依赖的 **CLI** — 无需 Flask / HUD / 语音,约 30 MB,完全在本地针对 Ollama 运行。若需完整的助手体验,请使用 JARVIS;若您仅想在命令行中使用 安全工具包,请使用 friday-recon。 ## 技术栈 **后端**: Python · Flask (SSE 流式传输) · Ollama (qwen2.5:7b) **前端**: 纯 JS + Canvas HUD(无框架) · 3 模式指挥中心 **语音**: faster-whisper (CUDA) · Kokoro-82M TTS · edge-tts (后备) · barge-in **认知**: AutoTune 自适应采样 + EMA 反馈 · 单 agent 模型路由 **记忆**: TF-IDF 向量记忆 · JSON 存储 · 知识图谱分析 **安全工具**: Nmap · Nuclei · Subfinder · HTTPX · Katana · HackingTool 舰队 (WSL/Docker) · NVD · VirusTotal **其他**: Playwright · pywinauto · MarkItDown · DuckDuckGo · football-data.org · n8n ## 安装设置 ``` # 1. 安装 Ollama + pull 一个 model ollama pull qwen2.5:7b # 2. Python 依赖 pip install -r requirements.txt playwright install chromium # 3. Config cp .env.example .env # add API keys (all optional) # 4. 运行 python app.py # → http://localhost:5000 ``` **完整命令列表:** 参见 **[COMMANDS.md](COMMANDS.md)** — 包含每一条语音/文本命令 + friday-recon CLI,每项均附有行内注释。功能覆盖清单参见 **[COVERAGE.md](COVERAGE.md)**。 在启动时,**配置验证器** 会打印一份就绪状态摘要(Ollama 是否可达、模型是否拉取、可选密钥、安全工具、HackingTool 后端) — 对缺失项进行醒目提示,但从不导致致命错误。 **可选 API 密钥**(无密钥时功能会优雅降级):NVD、VirusTotal、football-data.org、GitHub token、n8n。 **安全工具**: 原生快速路径需在 PATH 中配置 Nmap + ProjectDiscovery 套件;若要使用 180+ 的 HackingTool 舰队,则需 WSL 或 Docker Desktop。 ## 测试 ``` python test_regression.py # 468 tests, live (459/0/9 skip); offline subset in CI, HTML report python scripts/coverage.py # → COVERAGE.md — every action PASS / SKIP / FAIL ``` 覆盖了全部 18 个 agent、路由器模式、安全辅助程序 + HackingTool 门控、SSRF 防护、断路器、AutoTune + 模型路由、API 速率限制、配置验证器、记忆、TTS 以及实时 API 集成(离线时跳过)。 ## 状态 核心功能已开发完成。本地助手 + 语音 + 3 模式 HUD + 网络安全工具包,均功能正常且已通过测试(468 项测试通过,实时)。经过长时间的内部测试(dogfood)已得到强化 — 聊天前置交互已证实做到 0 路由错误/0 崩溃,安全引擎在 OWASP Juice Shop + DVWA 上获得实时确认(SQLi/NoSQLi/XSS/IDOR/BOLA),并为真实项目配备了合规优先的 HAR 搜寻工作流。 *本项目作为学习项目开发,旨在探索本地 LLM 编排、多 agent 设计、自适应认知以及 AI 辅助的安全工作流。*
标签:AI风险缓解, DNS枚举, LLM, Unmanaged PE, 多智能体, 实时处理, 插件系统, 数据可视化, 无线安全, 本地AI助手, 混合加密, 特征检测, 网络安全工具, 蓝队防御, 语音交互, 请求拦截, 逆向工具