CSV安全实用说明 · 2026年10月更新

CSV公式注入怎么防?

CSV字段以类似公式的字符开头时,表格软件可能把普通数据当作活动内容。本页说明如何找出需要复核的单元格、选择有记录的处理规则,并保留可追溯的原文件。

不要使用密码、密钥或真实客户资料做公开测试。请先复制文件并使用虚构数据。检查结果只表示该单元格需要复核,不等于文件一定恶意。

风险从哪里出现

系统把用户、供应商或导入数据写入CSV后,Excel、LibreOffice Calc等软件可能把部分字段当作公式。

哪些开头要检查

=、+、-、@,前导制表符或换行控制字符,以及全角变体,都值得检查。

为什么不能机械修改

-12.50也可能是正常负数,是否修改不能一概而论。检查工具应先标记,再由明确的业务规则决定是否处理。

什么是CSV公式注入

MITRE将这类问题归为CWE-1236:程序把不受信任的内容写入CSV,却没有妥善处理可能被解释为公式的元素。CSV本身只是文本,风险通常出现在表格软件打开并解释这些字段时。

给字段加双引号可以保留字段里的逗号和换行,但不一定能阻止表格软件把解析后的内容当作公式。OWASP还提醒,分隔符和引号可能让危险字符出现在新单元格的开头,因此不能只检查原始文本行的第一个字符。

需要复核: =HYPERLINK(...)、+SUM(...)、-1+2、@name、[TAB]=...
通常是普通文本: report@example.com、item-123、关于等号的说明

六步检查与处理清单

  1. 找出所有CSV导出位置。记录哪些字段可能包含用户、供应商或外部导入的文本。
  2. 按照CSV结构解析字段。不要只逐行搜索原始文本,因为带引号的字段可能包含逗号和换行。
  3. 检查公式敏感前缀和前导控制字符。如果系统面向多个地区,还要明确是否检查全角字符。
  4. 按实际使用的软件制定规则。在字段前加英文单引号或制表符可能使其显示为文本,但不同表格软件和后续导入程序的行为并不相同。
  5. 另存处理结果。保留原文件,并记录每项修改的记录号、列名、规则和修改前后预览。
  6. 测试完整流程。先用虚构样例在实际支持的表格软件中打开、保存并重新打开,再测试后续导入环节。

常见问题

按需要选择下一步

免费:在本地找出需要复核的记录和列。9美元:用CSV Desk离线清理并导出JSON变更报告。12美元:委托处理一个符合固定范围的CSV,收到修复副本和审计报告。

运行免费检查器 9美元购买CSV Desk 查看12美元服务

资料来源与适用范围

本页是一般技术说明,不是法律意见、渗透测试或安全保证。免费检查器只在浏览器本地报告需要复核的单元格,不修改源文件。