Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

security(data): DELETE 会话反而把完整 transcript 持久化落盘——无 retention/purge/按人清除,明文宽权限无限留存

Đã đóng
#102 13 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust
Lĩnh vực
api, backend, security

Hướng nghiên cứu

Start in src/http/handlers.rs:650-683 to trace DELETE behavior, then inspect src/storage/local.rs:29-34 and the shadow-git, checkpoint, and memory storage paths. Review config_file.rs for the existing 0600 permission precedent and confirm the absence of retention handling with the repository's retention search. Done means DELETE purge leaves no session copy in sessions/, shadow-git, or memory, while stored session data has restricted permissions and retention behavior is defined.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无

基线 HEAD = 9165b9a0。

Summary

  • DELETE /sessions/:id 在移除会话后调用 storage.save_transcript 把完整 transcript 持久化(src/http/handlers.rs:650-669,Goal 396 语义「会话结束即落盘」);tombstone(:670-683)只挡冷加载复活,JSONL 本体留在 <workspace>/.recursive/sessions/<id>.jsonl(src/storage/local.rs:29-34)。「删除」操作反而多写一份全文。
  • 全仓 grep -ri retention src/ 零命中——无 retention/TTL 配置项;无「按用户删除」API(没有用户概念)。
  • 会话/记忆/scratchpad 文件按进程默认 umask(通常 0644)明文落盘;set_permissions(0600) 只用于 secrets.env(config_file.rs)。

影响

企业办公/个保法/GDPR 场景:员工离职或数据主体删除请求无执行路径;公司代码与业务对话在服务器磁盘无限期明文留存;共享主机上其他本地账户可读。

建议

  1. DELETE 提供 purge=true 真删语义(或独立 purge 端点),连带 shadow-git/checkpoint 副本;
  2. session 数据文件 0600;
  3. 引入 per-owner retention(天数)后台清理。

验收:DELETE purge 后磁盘上无该会话任何副本(sessions/、shadow-git、memory)。

Ngôn ngữ chính
Rust
Star
4
Fork
0
Merge trung bình
5 giờ 32 phút
Pull request đã merge (30 ngày)
7

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của jeffkit/recursive

Tất cả issue của jeffkit/recursive

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.