О EPPlus

EPPlus — это библиотека классов .NET для чтения и записи файлов таблиц Excel в формате Office Open XML. Она распространяется в виде NuGet -пакета, содержащего подписанные сборки для нескольких .NET целевых фреймворков, и предназначена для использования в качестве компонента внутри клиентских приложений.

Как работает EPPlus

EPPlus не имеет собственной среды выполнения. Это библиотека, загружаемая в процесс хост-приложения и полностью выполняемая внутри этого процесса. Это имеет следующие последствия для её профиля безопасности:

  • EPPlus не работает в собственном процессе. Он работает как код внутри процесса внутри приложения, на которое на него ссылается.
  • EPPlus не управляет собственной базой данных или постоянным хранилищем. Любая обработка файлов или данных выполняется от имени хост-приложения.
  • EPPlus не совершает сетевые вызовы. Весь файловый ввод/вывод локально относится к хост-процессу.
  • EPPlus не имеет механизма аутентификации или авторизации. Он не идентифицирует пользователей, не выдает учетные данные и не контролирует доступ.
  • EPPlus не имеет собственной инфраструктуры — ни серверов, ни облачных сервисов, ни размещённых конечных точек.
  • Тестирование на проникновение имеет смысл только в контексте хост-приложения, поскольку EPPlus не предоставляет отдельной среды выполнения или сетевой поверхности. Значимое тестирование безопасности проводится на уровне хост-приложения, использующего EPPlus.

Что это значит для оценки безопасности

Многие стандартные опросники безопасности разработаны для SaaS-продуктов или сетевых сервисов. Вопросы о конфигурации TLS, логировании доступа, пользовательском обеспечении, укреплении инфраструктуры или мониторинге во время выполнения не относятся к EPPlus, поскольку EPPlus не предоставляет ни одной из этих поверхностей.

Вопросы безопасности, касающиеся EPPlus , рассматриваются в других разделах этого сайта:

Безопасные практики разработки

EPPlus разрабатывается на основе комплекса практик, направленных на раннее выявление дефектов — включая дефекты, связанные с безопасностью:

  • Все изменения кода вносятся через pull requests и должны быть рассмотрены и одобрены другим членом команды EPPlus перед слиянием. Этот процесс является публичным и происходит в репозитории EPPlus GitHub.
  • Каждое изменение проходит через тысячи юнит-тестов в рамках нашего CI/CD конвейера до релиза.
  • Исходный код анализируется при каждом пуше GitHub CodeQL. См. Сканирование исходного кода для подробностей.
  • Зависимости постоянно сканируются на наличие известных уязвимостей. Подробности см. раздел «Сканирование уязвимостей ».

Граница ответственности

Поскольку EPPlus работает внутри процесса хост-приложения, ответственность за общую безопасность распространяется. EPPlus Software AB отвечает за то, что находится внутри библиотеки — корректность кода, целостность выпущенных артефактов и своевременную обработку сообщаемых уязвимостей. Хост-приложение отвечает за всё, что связано с библиотекой — за среду выполнения, за пользователей, которые к ней обращаются, и за данные, которые ему передаются для обработки.

Обязанности хост-приложений

  • Решение о том, является ли файл доверенным или нет, прежде чем передать его EPPlus.
  • Применение ограничений ресурсов (память, процессор, время обработки) на уровне процесса.
  • Аутентификация и авторизация пользователей хост-приложения.
  • Управление инфраструктурой, на которой работает хост-приложение.

Обязанности EPPlus Software AB

  • Корректность и безопасность самого кода библиотеки.
  • Обработка корректно сформированных и искажённых входных файлов в документированных ограничениях.
  • Своевременное устранение сообщаемых уязвимостей в соответствии с нашей политикой раскрытия уязвимостей.
  • Поддержание целостности цепочки поставок с помощью подписания кода и опубликованных SBOM.