О 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.