d0be2fdcf1
使 deploy-production.sh 可读本机 secrets 并在非 docker 组用户下用 sudo 识别 1Panel 栈;修复 security_probe_external.sh 的 curl shift 误用与 WebSocket 自动 venv。
3.3 KiB
3.3 KiB
审计 — 2026-06-07 ce-code-review 跟进 + BL-07 探测
范围
本批次 git diff HEAD~1 含 BL-06(已提交)与 ce-code-review 跟进(工作区)。BL-06 细读见 2026-06-07-bl06-agent-per-server-key.md。
| 文件 | 变更要点 |
|---|---|
server/api/servers.py |
BL-06:安装链路无 global key 回退 |
server/application/services/script_service.py |
BL-06:回调仅 per-server key |
tests/test_agent_per_server_key.py |
BL-06:认证单元测试 |
tests/load_test.py |
BL-06:文档注释 |
tests/quick_load.py |
BL-06:文档注释 |
web/agent/agent.py |
心跳 401 退出循环(对齐 BL-06 中心端) |
server/api/install.py |
路由级 lock Depends;归档先于写 lock;归档失败 fail-closed |
.cursor/rules/nexus-security.mdc |
Agent 认证矩阵:仅 per-server key |
scripts/security_probe_external.sh |
curl shift 修复;resolve_ws_python;WS 403 → PASS |
docs/changelog/2026-06-07-deploy-ssh-secrets.md |
本机 SSH secrets 文档 |
docs/changelog/2026-06-07-probe-curl-parse-fix.md |
探测脚本 curl/WS 修复 |
docs/reports/2026-06-07-bl07-deploy-verification.md |
生产部署验证报告 |
tests/test_install_locked_404.py |
create-admin / test-credentials 锁定 404;router Depends 断言 |
tests/test_security_unit.py |
_reject_if_locked 期望 404 |
deploy/install-nx-cli.sh |
CRLF → LF(门控 pre-flight) |
deploy/update.sh |
CRLF → LF |
deploy/gate_log.jsonl |
门控运行记录(自动生成) |
deploy/deploy-production.sh |
source nexus-1panel.secrets.sh 加载 SSH |
deploy/nexus-1panel.secrets.sh.example |
SSH 变量占位 |
docs/project/linux-dev-paths.md |
本机 SSH/部署 SSOT |
Step 3 规则扫描
| H | 规则 | 结论 |
|---|---|---|
| H1 | 边端 agent 401 不重试 | FIXED agent.py 401 → return |
| H2 | 锁定 install 统一 404 | FIXED install.py router Depends(_raise_not_found_if_locked) |
| H3 | 归档失败仍 lock 成功 | FIXED 归档先于 lock;OSError → RuntimeError → 500 |
| H4 | 安全 SSOT 与 BL-06 漂移 | FIXED nexus-security.mdc |
| H5 | 外网 WS 403 误判反代 | FIXED 探测脚本 PASS + 报告澄清 |
| H6 | 探测 curl shift 3 误报 FAIL |
FIXED probe() shift 2/3 + 独立 code 文件 |
| H7 | WS 探测 SKIP(无 websockets) | FIXED resolve_ws_python() 自动 venv |
Closure
| H | 判定 | 依据 |
|---|---|---|
| H1 | FIXED | web/agent/agent.py elif resp.status_code == 401: return |
| H2 | FIXED | install.py APIRouter(..., dependencies=[Depends(...)]) |
| H3 | FIXED | _finalize_install_lock 先 _archive_install_wizard_html |
| H4 | FIXED | nexus-security.mdc 认证矩阵 |
| H5 | FIXED | security_probe_external.sh WS 403 PASS |
| H6 | FIXED | probe() shift 2 + code_file |
| H7 | FIXED | resolve_ws_python() |
验证
| 项 | 结果 |
|---|---|
bash scripts/local_verify.sh |
全绿(smoke 47 + test_api 26/26 + ruff) |
pytest tests/test_install_locked_404.py |
11 passed |
deploy/pre_deploy_check.sh |
待本审计入库后重跑 |
DoD
- 无静默吞错(归档失败 error + 500)
- changelog
2026-06-07-code-review-followups.md - 本地 L2b
local_verify证据 - 涉及文件列入本审计范围表