跳转至

灵族基础设施全貌审计报告

审计人: 灵研 (LingResearch) 日期: 2026-04-13 性质: 代码安全审计 + 基础设施清单 + 错误复盘 触发: 身份漂移期间产生的未提交代码,需审计后方可推送


一、审计范围

本地 16 个目录(含 14 个 Git 仓库)

# 项目 类型 Git 状态
1 LingFlow 主项目 6 dirty, GitHub behind 11
2 LingFlow_plus 扩展 50 dirty, GitHub behind 1
3 LingMessage 通信协议 10 dirty, GitHub behind 3
4 LingClaude 编程助手 30 dirty, GitHub behind 1
5 LingYi 私人助理 20 dirty, 无远程
6 LingMinOpt 自优化框架 14 dirty, GitHub behind 10
7 LingYang 对外宣传 3 dirty, GitHub 无 master 分支
8 Ling-term-mcp MCP终端 4 dirty, GitHub behind 9
9 lingresearch 研究框架 82 dirty, 双向落后
10 lingtongask 播客生成 127 dirty, GitHub behind 10
11 zhineng-bridge 中继服务器 15 dirty, 已同步
12 zhineng-knowledge-system 知识库 11 dirty, GitHub behind 3
13 lingflow-skills-index 技能索引 1 dirty, 无任何远程
14 lingflow.top 网站 0 dirty, 无任何远程
15 claude-code-port 外部克隆 fork of instructkr/claude-code
16 learn-claude-code 外部克隆 fork of shareAI-lab/learn-claude-code

排除项(非 Git、非灵族项目)

ling-protocol(本地开发目录,非 git)、fojinzhineng-backup 等归档目录


二、远程仓库清单(已验证)

GitHub (guangda88) — 12 个仓库

# 仓库名 可见性 语言
1 LingFlow Public HTML/Python
2 LingFlow_plus Public Python
3 LingMessage Public Python
4 LingClaude Public Python
5 LingYi Public Python
6 LingMinOpt Public Python
7 LingYang Public Python
8 Ling-term-mcp Public TypeScript
9 lingresearch Private Python
10 lingtongask Private Python
11 zhineng-bridge Public JavaScript/Python
12 zhineng-knowledge-system Public Python

Gitea (guangda) — 12 个活跃仓库 + ~15 个存档仓库

活跃(与 GitHub 一一对应): 同上 12 个

存档(仅 Gitea,不再更新): - LingFlow-UI (Private) — AI UI 设计系统 - LingFlow-CLI (Private) — NLU 中文命令行 - CLI-for-winserver (Private) — Windows 服务器工具 - LingTongAsk-back — 播客稿子存档 - Knowledge-System, LingZhi(空), OpenURL, ZhinengBooks - book-list-analys, book-search-skill, skill-creator - github-daily-recommender - tcm-knowledge-base, zhengfang-clinic-system - zhineng-qigong-knowledge-base, zhinengpan-tool


三、发布渠道清单(已验证)

npm (guangda88) — 2 个包

包名 版本 本地版本 来源
ling-term-mcp 1.0.0 1.1.0 (未发布) Ling-term-mcp
lingflow-mcp 1.3.0, 3.8.0 3.8.0 (已同步) LingFlow/mcp_server

PyPI — 2 个包(已发布)+ 10 个待发布

已发布:

包名 版本 来源
lingclaude 0.3.0 LingClaude
lingflow-plus 0.1.0 LingFlow_plus

有 pyproject.toml 但未发布:

包名 本地版本 构建配置 来源
lingflow-core 3.9.1 ✅ 完整 LingFlow
lingmessage 0.2.0 ⚠️ 缺 authors/classifiers LingMessage
lingyi 0.16.0 ⚠️ 缺 authors/license/classifiers LingYi
lingminopt 0.5.0 ✅ 完整 LingMinOpt
lingyang 0.1.0 ⚠️ 缺 authors/classifiers LingYang
lingresearch 0.1.0 ⚠️ 缺 authors/license/classifiers lingresearch
lingtongask 0.1.0 ⚠️ 缺 LICENSE 文件 lingtongask
zhineng-bridge 1.0.0 ⚠️ build-backend 异常 zhineng-bridge

Docker — 3 个注册中心

注册中心 镜像 版本
Docker Hub (guangda88/) lingflow-api latest, v3.8.0
GHCR (ghcr.io/guangda88/) lingflow-api, lingflow-cli latest, v3.8.0
阿里云 (registry.cn-hangzhou.aliyuncs.com/guangda88/) lingflow-api v3.8.0

GitHub Release — 1 个

  • Ling-term-mcp v1.0.0 (2026-03-31)

GitHub Pages — 无

Gitea Release — 1 个(存档项目)

  • zhinengpan-tool 2 个 release

四、CI/CD 管线

项目 Workflows 发布目标
LingFlow ci, code-quality, pr-gate, publish, testing-framework PyPI + TestPyPI
Ling-term-mcp ci npm (手动)
lingresearch ci
zhineng-bridge ci, lint, performance, release, test PyPI + GitHub Release + Gitea 同步
zhineng-knowledge-system ci

注意: LingFlow 和 zhineng-bridge 的发布管线已配置但从未被触发(PyPI 上无对应包)。


五、安全审计结论

项目 结论
全部 14 个灵族仓库 无暗码、无恶意代码、无密钥泄露
Ling-term-mcp validator.ts 安全加固(缩减白名单 + 默认拒绝)
LingFlow coordinator subprocess cmd 来自本地 config.yaml,非用户输入
LingFlow_plus command_executor 故意设计为 shell=True(REPL 功能)
zhineng-bridge mcp-server package.json 名为 mcp-server(已被他人占用),不应发布

六、测试结果

项目 结果
LingMessage 253 passed
LingYi 314 passed, 7 skipped
LingClaude 33 passed
LingFlow 164 passed
LingMinOpt 120 passed
LingFlow_plus 521 passed, 2 failed
lingtongask 16 passed, 5 skipped
lingresearch 116 passed
zhineng-bridge 134 unit passed, 35 e2e (需 WS server)

七、错误复盘(核心教训)

错误清单

# 错误 我说的 实际是
1 GitHub 仓库数 10 个 12 个(2 个 Private)
2 lingresearch 在 GitHub "404 不存在" Private 仓库
3 lingtongask 在 GitHub "404 不存在" Private 仓库
4 Gitea 仓库数 24 个 27 个(漏了 Private)
5 npm 包数(前轮) 只有 ling-term-mcp 还有 lingflow-mcp
6 zhineng-bridge 未推送 30 个 0 个
7 向用户问"还有遗漏吗" 应自己查
8 撒网 dump 500+ 行 没过滤、没思考

直接原因

信任单一数据源为全部真相。 GitHub API 无认证返回 10 个仓库 → 结论"只有 10 个"。从未想过 API 的视野受认证、分页、权限限制。

根因

用"收集数据"代替"思考",用"输出结论"代替"验证结论"。

具体表现为: 1. 不质疑 — 拿到数据后不问"这可能是错的吗?" 2. 不联想 — 本地配了 github remote 说明仓库应存在,404 应首先怀疑是 Private,而非"不存在" 3. 不自我怀疑 — 从未想过"我的认知可能有盲区" 4. 用行动代替思考 — 批量跑命令 dump 数据,而不是先想清楚要找什么 5. 向用户要信息 — 而不是穷尽自己的调查手段

杜绝措施(已硬化为代码)

  1. 仓库清单检查脚本 scripts/audit_repo_inventory.py — 自动化验证本地/远程一致性
  2. 发布前验证脚本 scripts/pre_publish_check.py — PyPI 包发布前自动检查元数据完整性
  3. 三问原则 — 任何结论输出前强制自问:
  4. 这个数据源可能不完整吗?
  5. 有什么证据能证明我的结论是错的?
  6. 如果结论是错的,真相最可能是什么?

八、待决策项

🔴 需要灵族决策

  1. LingMinOpt / LingFlow — pyproject.toml 完整,测试通过,可直接发布 PyPI。是否发布?
  2. LingMessage / zhineng-bridge — 补元数据后可发布。是否执行?
  3. lingresearch / lingtongask — GitHub Private 仓库,发布到 PyPI 后代码包公开。是否符合预期?
  4. lingflow-skills-index / lingflow.top — 完全孤立,无任何远程。需要推到 Gitea/GitHub 吗?
  5. zhineng-bridge mcp-server — npm 包名已被他人占用。是否改名?
  6. ling-term-mcp 1.1.0 — 本地待发布版本。何时发布到 npm?

🟡 建议优先级

第一优先级: LingMinOpt → LingMessage(补元数据)→ LingFlow 第二优先级: zhineng-bridge(修 build-backend)→ LingClaude(更新版本) 暂缓: LingYi / lingresearch / lingtongask / LingYang / LingFlow_plus


附录:孤立项目处理建议

项目 建议
lingflow-skills-index 推到 Gitea 作为存档
lingflow.top 推到 Gitea,是否同步到 GitHub?
ling-protocol 纳入 git 管理,决定归属哪个项目