关于EPPlus
EPPlus 是一个.NET类库,用于读取和写写 Office Open XML 格式的 Excel 表格文件。它作为一个包含多个.NET目标框架签名汇编的 NuGet 包分发,旨在作为客户构建应用中的组件使用。
EPPlus 运行方式
EPPlus 没有自身的运行时。它是一个库,被加载到主机应用程序的进程中,并在该进程中完全执行。这对其安全配置文件产生了以下影响:
- EPPlus 不在自己的进程中运行。它作为引用它的应用程序中的进程代码运行。
- EPPlus 不管理自己的数据库或持久存储。任何文件或数据处理均由主机应用程序执行。
- EPPlus 不进行网络调用。所有文件输入输出均为主机进程本地。
- EPPlus 没有认证或授权机制。它不识别用户、不发放凭证或控制访问。
- EPPlus 没有自己的基础设施——没有服务器,没有云服务,没有托管端点。
- 渗透测试仅在主机应用的背景下有意义,因为 EPPlus 不暴露独立的运行时或网络表面。有意义的安全测试发生在使用 EPPlus的主机应用层面。
安全开发实践
EPPlus 是在一套旨在及早发现缺陷——包括安全相关缺陷——的实践基础下开发的:
- 所有代码更改均通过拉取请求进行,合并前必须由 EPPlus 团队的其他成员审核和批准。该过程是公开的,发生在 EPPlus GitHub 仓库中。
- 每一次变更都会经过数千次单元测试,作为我们CI/CD流水线的一部分,发布前完成。
- 每次推送都会分析源代码 GitHub CodeQL。详情请参见 源代码扫描 。
- 依赖关系会持续扫描已知漏洞。详情请参见 漏洞扫描 。
责任边界
由于 EPPlus 运行在主机应用的进程中,因此对整体安全态势的责任是共同承担的。 EPPlus Software AB 负责库内部的内容——代码的正确性、发布工件的完整性以及及时处理报告漏洞。主机应用负责库周围的一切——运行环境、访问用户以及传递到库中进行处理的数据。
主机应用职责
- 在将文件传递给 EPPlus之前,决定文件是可信还是不可信。
- 在进程层面应用资源限制(内存、CPU、处理时间)。
- 认证和授权主机应用的用户。
- 操作主机应用运行的基础设施。
EPPlus 软件公司职责
- 图书馆代码本身的正确性和安全性。
- 在文档限制内处理格式良好和格式错误的输入文件。
- 根据我们的 漏洞披露政策,及时修复报告的漏洞。
- 通过代码签署和发布的SBOM维护供应链完整性。