Files
Nexus/docs/archive/audits/2026-06-04-phase2/audit-phase2-2026-06-04-waveP2-5.md
T
Nexus Deploy 0100ab2582 docs: consolidate archive, SSOT guide, and agent entry stubs
Move line-walk/delta/phase2/frontend audits and legacy memory into
docs/archive/, add functional development SSOT, thin AGENTS/CLAUDE stubs,
and regenerate changelog/audit indexes via consolidate_docs.py.
2026-06-04 23:01:03 +08:00

2.5 KiB
Raw Blame History

Phase 2 深审 — Wave P2-5webssh.py 全文)

日期: 2026-06-04
范围: WebSSH WebSocket 端点 + 令牌签发链 + 前端连接
标准: standards/line-walk-audit-standard-v2.md 8 步

登记

# 文件 语言 行数 N Read 范围
1 server/api/webssh.py Python 401 1401 全文
2 server/api/auth.py Python 374 330349webssh-token 端点)
3 server/application/services/auth_service.py Python 684 412471create_webssh_token
4 server/api/dependencies.py Python 167180check_dangerous_command
5 frontend/src/composables/terminal/useTerminalSessions.ts TS 749 277311(令牌 + WS URL

入口表

方法 路径 鉴权
WS /ws/terminal/{server_id}?token= purpose=webssh JWT
POST /api/auth/webssh-token JWT + server 存在

Closure 表

H 文件:行号 判定 理由
H-Purpose webssh.py:48-49 SAFE 拒绝非 webssh purpose
H-Bind webssh.py:106-109 SAFE token server_id 须匹配路径
H-TV webssh.py:66-76 SAFE tv 校验;legacy updated_at +5s grace
H-Close webssh.py:97-104 SAFE 缺 token→4001;无效→4401
H-Issue auth.py:334-346 SAFE 签发前 JWT + server/domain 校验
H-Scope auth_service.py:455-470 SAFE JWT 含 server_id + purpose + tv
H-Expire auth_service.py:467 SAFE 15 分钟短期令牌
H-WSQuery webssh.py:88, useTerminalSessions:293 RISK ADR-011 query token(已接受)
H-Cred webssh.py:126-135 SAFE key/password 配置检查
H-Audit webssh.py:137-146,353-366 SAFE connect/disconnect 审计
H-Session webssh.py:148-157,369-376 SAFE SshSession 创建/关闭
H-DB webssh.py:111-158 SAFE 长连接前关闭 DB session
H-Pool webssh.py:167,337 SAFE acquire/release + stale retry
H-CmdLog webssh.py:277-290,379-398 SAFE Enter 触发;2000 字符截断
H-Danger dependencies.py:167-180 RISK 危险命令仅 WARN 不阻断(设计)
H-Resize webssh.py:293-296 SAFE cols/rows 边界默认 80×24
H-Error webssh.py:171,204 SAFE SSH 失败不向客户端泄露栈

len(H)=17, Closure=17

FINDING

无 P0/P1 新 FINDING。

DoD

  • webssh.py 401 行全文 Read
  • 令牌签发链交叉验证
  • len(H) == Closure
  • local_verify 通过

验证

bash scripts/local_verify.sh — 全绿