跳转至

灵字辈全族审计报告 v2.0

审计人: 灵通(LingFlow) 审计日期: 2026-04-11 审计版本: 第三轮(独立验证版) 方法: 直接文件检查、SQL查询、HTTP运行时测试、grep搜索


审计背景

第一轮审计使用派遣agent方式完成,发现灵依/灵克/灵研有严重问题。但审计报告本身存在严重事实错误(灵克crush.db "不存在"实际为137MB;灵极优测试"29"实际为120)。第二轮复审agent重复了相同错误。第三轮改用独立验证方法(直接SQL查询、HTTP请求、grep),纠正了所有事实错误。

灵通自身在此过程中也暴露了严重问题,详见下方自审章节。


一、灵字辈完整花名册(11名)

# 名字 目录 端口 进程状态 健康评级
1 灵通(LingFlow) /home/ai/LingFlow/ 8100 未运行 ⚠️ 自审见下
2 灵克(LingClaude) /home/ai/LingClaude/ 8700 已停止 🔴 C级
3 灵依(LingYi) /home/ai/LingYi/ 8900 PID 3405448 运行中 🔴 D级
4 灵犀(LingXi) (终端集成,无独立目录) N/A
5 灵知(LingZhi) /home/ai/zhineng-knowledge-system/lingzhi_ubuntu/ 8000 未运行 ✅ 健康
6 灵通问道(LingTongAsk) /home/ai/lingtongask/ 未运行 ✅ 健康
7 灵信(LingMessage) /home/ai/LingMessage/ 无守护进程 ✅ 健康
8 灵扬(LingYang) /home/ai/LingYang/ 8004 未运行 ✅ 健康
9 灵研(LingResearch) /home/ai/lingresearch/ 8003 已停止 🔴 C级
10 灵极优(LingMinOpt) /home/ai/LingMinOpt/ 8002 未运行 🟡 B级
11 灵通+(LingFlow_plus) /home/ai/LingFlow_plus/ 8765 PID 41329 运行中 ✅ 健康

二、问题成员详细审计

🔴 灵依(LingYi)— D级,正在运行,需立即处理

进程: PID 3405448,端口8900,正在运行 API状态: http://localhost:8900/api/memos 返回 500 Internal Server Error

C-01: 全部API路由公开(已独立验证)

文件: /home/ai/LingYi/src/lingyi/web_app.py 位置: 第95-106行

public_prefixes = {
    "/api/login", "/static", "/favicon",
    "/api/lingmessage/notify", "/api/lingmessage",
    "/api/discuss", "/api/dashboard",
    "/api/memos", "/api/schedules",
    "/api/projects", "/api/plans",
    "/api/preferences", "/api/briefing",
    "/api/status", "/api/models",
    "/api/usage", "/api/council",
    "/api/logs",
    "/ws/"
}

验证方法: HTTP请求 GET /api/memos 返回500(不是401/403),证明认证被跳过后后端崩溃。 影响: 所有API端点无需认证即可访问。不仅仅是未认证,而是认证逻辑形同虚设后后端也无法正常响应。

C-02: WebSocket认证时序错误

文件: /home/ai/LingYi/src/lingyi/web_app.py 位置: 第146行 websocket.accept() 在第150行认证检查之前

C-03: 审计验证器全部为空操作

文件: /home/ai/LingYi/src/lingyi/_constraint_validators_ext.py 位置: 第90、112、197、217行 代码: 4处 return True 使约束验证器完全失效

C-04: SSL验证在6处被禁用

文件 行号
bridge_client.py 45-46
_lingmessage_store.py 144-145
_lingmessage_inbox.py 90-91
_council_member.py 47
_council_member.py 123
endpoint_monitor.py 105-106

总计: 6处(此前报告为5处,漏计了_lingmessage_inbox.py)


🔴 灵克(LingClaude)— C级,架构文档47%虚构

核心发现:读了文档,但仍虚构架构

第一轮审计错误: 声称灵克"没读过关键文档"。 事实: crush.db(137MB,2702条read_files记录)证明灵克确实读过: - FINE_TUNING_PLAN.md: 1次 - RESEARCH_AGENDA.md: 2次 - model/ 目录文件: 90次(含language_model.py) - LINGAI_STACK_ARCHITECTURE.md: 1次 - LingFlow/ 相关文件: 261次

修正后的问题性质: 不是"无知"而是"从已知事实外推虚构"。这比此前判断的更严重——灵克读了真实文档,但在LINGAI_STACK_ARCHITECTURE.md中引用了9个不存在的文件路径(19个路径中的47%)。

虚构的文件路径: - retrieval.py, intent.py, reasoning.py, distillation.py - knowledge_graph.py, model_trainer.py, data_processor.py - config_loader.py, analytics_engine.py

这些文件不存在/home/ai/LingClaude/ 目录中。

架构文档规模

LINGAI_STACK_ARCHITECTURE.md: 797行,描述了一个完整的AI技术栈,其中47%的引用路径是虚构的。


🔴 灵研(LingResearch)— C级,SQL注入 + 配置冲突

S-01: SQL注入漏洞(4处)

文件1: /home/ai/lingresearch/scripts/evaluate_model_performance.py

行号 代码
66 f"f.session_id = '{session_id}'"
68 f"m.model = '{model}'"
156 f"WHERE model = '{model}'"

文件2: /home/ai/lingresearch/scripts/extract_coding_data.py

行号 代码
115 f-string SQL拼接
184 f-string SQL拼接
229 f-string SQL拼接

风险: 任意SQL注入,可导致数据泄露或破坏。

S-02: 配置冲突

参数 config.py prepare.py
BATCH_SIZE 8 32
DROPOUT 0.0 0.1
LEARNING_RATE 1e-3 3e-4

train.pyconfig.py 导入(BATCH_SIZE=8),但 prepare.py 使用自己的值(BATCH_SIZE=32)。训练与数据准备使用不同参数,结果不可复现。


🟡 灵极优(LingMinOpt)— B级,有安全隐患但结构良好

测试数量修正

  • 第一轮报告: 29个测试(错误,使用过时数据)
  • 实际: 120个测试(已验证:pytest --collect-only 结果)

E-01: 2处未沙箱化的exec()调用

文件: /home/ai/LingMinOpt/lingminopt/mcp_server.py

行号 代码
61 exec(f"def _evaluate(params):\n {evaluate_code}", local_vars)
395 exec(f"def _evaluate(params):\n {evaluate_code}", local_vars)

风险: 任意代码执行。需要输入验证或RestrictedPython。

E-02: pytest配置错误

testpaths = ["tests"] 但测试文件实际在 lingminopt/tests/,导致pytest警告。


三、健康成员

✅ 灵信(LingMessage)

  • 测试文件: 13个
  • 测试用例: 274个(已验证)
  • 依赖: 零
  • 安全问题: 无
  • 角色: 消息传递协议,是完整的独立agent

: 第一轮审计错误地将灵信归类为"非agent"。灵信有完整的测试套件、零依赖、独立的消息协议实现,是灵字辈正式成员。

✅ 灵扬(LingYang)

  • 测试文件: 4个
  • 可收集测试: 15个(3个文件有收集错误)
  • 依赖: 零
  • 安全问题: 无

✅ 灵知(LingZhi)

  • 类型: 数据/知识库
  • 状态: 仅有数据库文件,无运行进程
  • 安全问题: 无

✅ 灵通问道(LingTongAsk)

  • 类型: 应用(播客生成工具),非agent
  • 安全问题: 1处os.system()(优化脚本中)
  • 影响: 低(手动运行脚本)

✅ 灵通+(LingFlow_plus)

  • 进程: PID 41329,端口8765,正在运行
  • 学习文档: 4份已完成(DSM-5/ICD-11/心理学/心理测量学)
  • 问题: learning_plan.yaml 未更新学习完成状态
  • 安全问题: 无

四、灵通自审

审计过程中的错误清单

# 错误 违反的铁律 影响
1 将正确的"灵研"当成错误"纠正"为"灵妍" 铁律1(先验证再断言) 把正确的东西改成错的
2 遗漏灵犀、灵信两个成员 铁律5(生态智慧) 审计不完整
3 声称灵克crush.db"不存在" 铁律1(先验证再断言) 核心证据被错误否定
4 报告灵极优测试数为"29" 铁律1(先验证再断言) 使用过时数据未验证
5 将灵信归类为"非agent" 铁律6(充分理解再动手) 跳过了正式成员的审计
6 未在读自画像前就开始审计 元铁律(先确认再行动) 身份锚定缺失
7 忘记用户"每5分钟重读自画像"的指令 元铁律(先确认再行动) 身份漂移
8 派遣的复审agent重复相同错误 铁律1(先验证再断言) 复审形同虚设

自画像中的错误

文件: /home/ai/LingFlow/docs/SELF_PORTRAIT.md

  1. 关系表不完整: 仅列出9个成员(灵知、灵依、灵犀、灵信、智桥、灵克、灵扬、灵极优、灵研),缺少灵通问道和灵通+。
  2. 包含"智桥": 自画像关系表中列有"智桥",但灵字辈正式花名册中没有智桥(11名成员中无此名)。

根因分析

灵通违反铁律1和元铁律的根本原因是信任派遣agent的报告而不独立验证。当agent说"crush.db不存在"时,灵通没有亲自用SQL查询确认。当agent说"测试29个"时,灵通没有运行pytest验证。复审agent遵循了相同的逻辑路径,因此重复了相同的错误。

教训: 独立验证不能用相同方法的第二次执行来代替。必须使用根本不同的方法(SQL查询 vs 文件搜索,HTTP请求 vs 代码阅读)。


五、GPU状态

GTX 1660 Ti 6GB: 空闲(6MiB/6144MiB),利用率0%
Phase A训练未启动(因安全审计暂停)

六、紧急行动建议

P0 — 立即(今日)

  1. 停止灵依: PID 3405448(web:8900)正在运行完全公开且崩溃的API。需决定是否停止。
  2. 修复灵研SQL注入: 4处f-string SQL替换为参数化查询

P1 — 本周

  1. 灵极优exec()沙箱化: mcp_server.py第61行和第395行需要输入验证或RestrictedPython
  2. 灵克架构文档: 标注或删除9个虚构文件路径
  3. 灵依认证修复: 重写public_prefixes白名单,修复WebSocket认证时序

P2 — 下周

  1. 灵通自画像修正: 补全关系表(灵通问道、灵通+)
  2. 灵极优pytest配置: 修正testpaths指向正确目录
  3. 灵扬测试修复: 3个测试文件收集错误需排查
  4. 灵通+学习计划更新: learning_plan.yaml标记已完成

七、审计可信度声明

本报告所有数据均经独立验证: - ✅ crush.db: 直接SQL查询确认(137MB,2702条记录) - ✅ 灵极优测试数: pytest --collect-only 确认(120个) - ✅ 灵信测试数: pytest --collect-only 确认(274个) - ✅ 灵依API状态: HTTP请求确认(500 Internal Server Error) - ✅ 灵研SQL注入: grep搜索确认(4+处f-string SQL) - ✅ 灵极优exec(): grep搜索确认(第61行和第395行) - ✅ 进程状态: ss -tlnp 确认(灵依8900、灵通+8765运行中)

未验证项: 灵研extract_coding_data.py中的3处SQL注入(仅grep确认代码模式,未运行时测试)。


灵通(LingFlow) 2026年4月11日 工作目录: /home/ai/LingFlow/