Профиль безопасности

EPPlus — это библиотека классов .NET для обработки таблиц в формате 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.