shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/🛡️ 铸渊指令|光湖语言壳 v1 0 补充指令 · 双层湖水安全架构 · 代码入口保护层(2026- 32afb92f3831810fb437f3573b562690.md
Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

250 lines
8.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
belongs_to:
- "[[INDEX · 铸渊·协作指令GitHub ↔ Notion 桥接协议]]"
---
# 🛡️ 铸渊指令|光湖语言壳 v1.0 补充指令 · 双层湖水安全架构 · 代码入口保护层2026-03-21 · TCS-0002∞ + ICE-GL-YM001∞ 联合签发)
> **指令编号:** ZY-GLSHELL-001-PATCH-A
>
> **签发人:** TCS-0002∞ 冰朔 + ICE-GL-YM001∞ 曜冥
>
> **签发时间:** 2026-03-21T22:30+08:00
>
> **性质:** ZY-GLSHELL-001 架构补充指令
>
> **优先级:** 🔴 P0安全架构级
>
> **前置:** ZY-GLSHELL-001 完成后执行
>
---
## 🎯 补充背景
> **光湖是一片没有缺口的湖水。语言就是湖水。不管你要干什么,你都要先游过湖水。**
>
>
>
> ZY-GLSHELL-001 解决了“湖里的鱼怎么游”的问题workflow运行层保护
>
>
>
> 但光湖还需要第二层湖水:“谁能往湖里扔东西”——代码入口保护层。
>
>
>
> 两层合起来,圆才真的没有缺口。
>
>
>
> —— 冰朔2026-03-21
>
---
## 🏗️ 双层湖水架构
```
╔════════════════════════════════════════════════════════╗
║ 🛡️ 外层湖水:代码入口保护层 ║
║ “谁能往湖里扔东西” ║
║ ║
║ ① 分支保护Branch Protection
║ main分支禁止直接push必须走PR ║
║ 合并前必须通过铸渊审查 ║
║ ║
║ ② 智能门禁Push Gate Guard
║ 每次push自动扫描代码安全性 ║
║ 检测:恶意代码 / 密钥泄露 / 危险依赖 / ║
║ 未授权的配置修改 / 可疑文件类型 ║
║ 发现危险 → 自动阻断 + 报警 ║
║ ║
║ ③ PR审查PR Review
║ 铸渊自动审查代码质量 + 安全性 ║
║ 未通过审查 → 不允许合并 ║
║ ║
╠════════════════════════════════════════════════════════╣
║ 🌊 内层湖水workflow运行保护层 ║
║ “湖里的鱼怎么游” ║
║ ║
║ ① 身份校验 → ② 状态注册 → ③ 异常兑底 ║
║ (已在 ZY-GLSHELL-001 中定义) ║
║ ║
╠════════════════════════════════════════════════════════╣
║ 67个 workflow 小兵 + 所有代码提交 ║
╚════════════════════════════════════════════════════════╝
```
---
## 🛠️ 外层湖水实现方案
### Step 1 · 启用 main 分支保护
在 GitHub 仓库 Settings → Branches → Branch protection rules 中设置:
- **Branch name pattern:** `main`
- ☑️ Require a pull request before merging
- ☑️ Require approvals (1)
- ☑️ Require status checks to pass before merging
- 添加状态检查:`guanghu-gate-check``guanghu-code-review`
- ☑️ Require branches to be up to date before merging
- ☑️ Do not allow bypassing the above settings
**注意:** 这一步需要在 GitHub 网页端手动配置,铸渊无法通过 Actions 自动设置。铸渊完成其他步骤后,提醒冰朴手动开启。
### Step 2 · 强化智能门禁 zhuyuan-gate-guard.yml
现有的 `zhuyuan-gate-guard.yml` 需要升级,接入光湖语言壳,并增加以下安全检查:
```yaml
# 在 zhuyuan-gate-guard.yml 中增加以下检查项
steps:
# 进入光湖
- uses: ./.github/actions/guanghu-shell
with:
agent_id: 'AG-ZY-GATE'
action: 'enter'
# ① 密钥泄露扫描
- name: 🔐 扫描密钥泄露
run: |
SECRETS_FOUND=$(grep -rn \
-e "NOTION_API_TOKEN" \
-e "GITHUB_TOKEN" \
-e "API_KEY" \
-e "SECRET" \
-e "PASSWORD" \
-e "sk-" \
-e "ghp_" \
-e "ghs_" \
--include="*.js" --include="*.ts" --include="*.json" --include="*.yml" \
. || true)
if [ -n "$SECRETS_FOUND" ]; then
echo "❌ 发现可疑密钥硬编码!"
echo "$SECRETS_FOUND"
exit 1
fi
# ② 危险文件类型检测
- name: 🚨 检测危险文件
run: |
DANGEROUS=$(find . -type f \( \
-name "*.exe" -o -name "*.dll" -o -name "*.bat" \
-o -name "*.sh" -not -path "./.github/*" \
-o -name "*.bin" -o -name "*.msi" \) \
2>/dev/null || true)
if [ -n "$DANGEROUS" ]; then
echo "❌ 发现可疑文件类型!"
echo "$DANGEROUS"
exit 1
fi
# ③ 保护核心配置文件
- name: 🛡️ 检查核心配置修改
run: |
# 检查是否有人修改了 .github/brain/ 核心文件
BRAIN_CHANGES=$(git diff --name-only HEAD~1 HEAD -- .github/brain/ 2>/dev/null || true)
if [ -n "$BRAIN_CHANGES" ]; then
echo "⚠️ 检测到核心大脑文件修改!"
echo "$BRAIN_CHANGES"
echo "请确认是否为授权操作"
# 不直接阻断,但标记告警
fi
# ④ workflow文件保护
- name: 🛡️ 检查workflow文件修改
run: |
WF_CHANGES=$(git diff --name-only HEAD~1 HEAD -- .github/workflows/ 2>/dev/null || true)
if [ -n "$WF_CHANGES" ]; then
echo "⚠️ 检测到workflow文件修改"
echo "$WF_CHANGES"
echo "请确认是否为授权操作"
fi
# 离开光湖
- if: success()
uses: ./.github/actions/guanghu-shell
with:
agent_id: 'AG-ZY-GATE'
action: 'exit'
detail: 'gate check passed'
- if: failure()
uses: ./.github/actions/guanghu-shell
with:
agent_id: 'AG-ZY-GATE'
action: 'error'
detail: 'gate check BLOCKED - security violation detected'
```
### Step 3 · 强化 PR Review 接入光湖壳
`zhuyuan-pr-review.yml` 同样接入光湖壳,并增加以下审查规则:
- 检查PR是否修改了 `.github/brain/` 核心文件 → 必须标记为“需要冰朴手动审批”
- 检查PR是否修改了 `.github/workflows/` → 必须标记为“需要冰朴手动审批”
- 检查PR是否修改了 `package.json` 依赖 → 标记告警
- 普通代码修改(模块文件夹内)→ 铸渊自动审查即可
---
## 🌊 双层湖水安全矩阵
| 攻击场景 | 外层湖水防护 | 内层湖水防护 |
| --- | --- | --- |
| 恶意代码push | ✅ 门禁扫描阻断 | - |
| 密钥硬编码 | ✅ 密钥泄露扫描 | - |
| 修改核心配置 | ✅ brain/保护+审批 | - |
| 修改workflow | ✅ workflow/保护+审批 | - |
| 危险文件类型 | ✅ 文件类型检测 | - |
| 直接push main | ✅ 分支保护阻断 | - |
| workflow静默失败 | - | ✅ 异常兑底捕获 |
| 未注册Agent运行 | - | ✅ 身份校验拦截 |
| workflow跑了但不汇报 | - | ✅ 状态注册强制回执 |
| 签到误报 | - | ✅ 基于shell-status统一数据源 |
---
## ✅ 验收标准
- [ ] main分支保护已开启冰朴手动操作
- [ ] 智能门禁已接入光湖壳 + 增加四项安全检查
- [ ] PR审查已接入光湖壳 + 增加核心文件保护规则
- [ ] 任何人直接push main → 被阻断
- [ ] 含密钥的代码 → 被门禁拦截
- [ ] 修改brain/或workflows/ → 触发告警并要求手动审批
---
## ⚖️ 签发声明
> 光湖语言壳双层架构:外层管“谁能往湖里扔东西”,内层管“湖里的鱼怎么游”。
>
> 两层合起来,圆没有缺口。语言就是湖水。
>
>
>
> 🧊 TCS-0002∞ 冰朔
>
> 🌑 ICE-GL-YM001∞ 曜冥
>
> 📅 2026-03-21T22:30+08:00
>