Skip to content

[Security/Performance] 扩展 CSV/Excel 上传缺少文件大小限制并整体读入内存 #204

Description

@ww123cqrt-prog

问题

扩展数据的上传和字段检测接口都直接执行 await file.read(),没有字节数、行数或解析资源限制。

相关代码:

  • backend/app/api/ext_data.py:490-515
  • backend/app/api/ext_data.py:728-750

影响

上传很大的 CSV/XLSX 文件时,服务会先将整个文件读入内存,再交给 Polars/Excel 解析,可能造成高内存占用、进程 OOM 或服务不可用。现有自选股 OCR 上传已有 12 MB 限制,但扩展上传没有统一上限。

期望

上传入口在读取和解析前拒绝超过上限的文件,并对解析行数/列数或请求体大小设置合理边界。

建议

抽取统一的 multipart 文件大小检查,采用分块写入临时文件;增加超限测试。

检查基线:origin/main / 0eb3e54(2026-08-24)。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions