Skip to content

一堆BUG #2037

@bfxh

Description

@bfxh

**Scr审计完成!以下是对 DeepSeek-Reasonix v0.52.0 的深度BUG挖掘结果:

🔍 审计概况
严重等级 数量 关键发现
High 3 符号链接路径遍历、TOCTOU竞态、SSRF风险
Medium 6 硬编码模型名、新建文件非原子、检查点权限缺失、会话重命名非原子等
Low 4 模糊评分偏差、类型验证不足、EXDEV回退非原子等
🚨 最关键的3个BUG

  1. 符号链接→敏感文件信息泄露 (High)
    src/at-mentions.ts — 用户可通过创建符号链接指向 /etc/passwd 等敏感文件,然后在对话中 @敏感文件名 将内容注入到AI提示词中。

  2. TOCTOU 竞态条件 (High)
    src/code/edit-blocks.ts — realpathSync → openSync 之间存在微小的竞态窗口,符号链接可能被替换,导致编辑操作指向非预期文件。

  3. @url SSRF 风险 (Medium-High)
    src/at-mentions-url.ts — @http://169.254.169.254/... 可访问云元数据端点,@http://localhost:xxx 可探测内网服务。

⚡ 其他重要发现
硬编码摘要模型 "deepseek-v4-flash" — 自定义API端点用户折叠功能会静默失败
新建文件缺少原子写入 — 进程崩溃时可能留下不完整文件
检查点文件权限 0644 — 多用户共享机器时可被其他用户读取
renameSession 非原子 — 崩溃后可能产生孤儿 sidecar 文件een flicker, garbled output, leftover artifacts, cursor jumping?**

Use the Display / rendering issue template instead — it asks for the
terminal-specific info we need to diagnose those.

What happened
A clear and concise description.

Expected
What you expected to happen.

Reproduction
Steps or minimal code that reproduces it.

Environment

  • Reasonix version (reasonix --version):
  • Node version (node --version):
  • OS (Windows 11 / macOS 14 / Ubuntu 24.04 / …):
  • Shell (bash, zsh, fish, PowerShell 7, PowerShell 5.1, cmd, …):
  • Terminal app (Windows Terminal, iTerm2, Alacritty, kitty, WezTerm, VSCode integrated, Cursor integrated, Hyper, …):
  • DeepSeek model (e.g. deepseek-v4-flash, deepseek-v4-pro):

Logs / transcript
If using the CLI, attach the relevant chunk of --transcript, or run
reasonix doctor and paste the output.

🚨 Round 2 最关键的新发现
🔴 Critical/High 级别
BUG 文件 问题
BUG-025 loop.ts Abort信号竞态条件 — 快速连按Esc导致abort丢失
BUG-026 context-manager.ts Fold边界截断工具调用 — 导致API 400错误
BUG-027 session.ts rewriteSession竞态 — 并发写入导致数据丢失
BUG-028 loop.ts 无迭代上限 — 恶意工具可触发无限循环
BUG-035 streaming.ts toolCallDelta无大小限制 — 可能OOM
BUG-035R desktop QQ OAuth token明文存储在config.json
BUG-039R adapters Windows上chmodSync是no-op,权限保护失效
BUG-040R java/ javap命令注入风险
🟠 Medium 级别亮点
BUG 问题
BUG-031 _turn计数在switchWorkspace后不一致
BUG-034 会话恢复时数据静默丢失,无任何警告
BUG-037 subagent abort监听器泄漏
BUG-039 CJK字符token估算可能低估2-3倍
BUG-041 Frontmatter解析器原型污染
BUG-042 i18n参数替换正则注入
🎯 P0 必须立即修复的4个BUG
BUG-026 — Fold截断工具调用 → 生产环境会直接触发API 400
BUG-028 — 无迭代上限 → 用户可能陷入无限token消耗
BUG-027 — 并发会话写入竞态 → 数据丢失
BUG-025 — Abort信号竞态 → 用户无法中断
📁 完整报告:

Round 1: bug-report-reasonix.md
Round 2: bug-report-reasonix-round2.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingv1Legacy TypeScript line (0.x) — v1 branch, maintenance only

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions