Профиль безопасности
EPPlus — это библиотека классов .NET для обработки таблиц в формате Office Open XML. Он распространяется как NuGet -пакет, содержащий подписанные сборки для нескольких .NET целевых фреймворков, и предназначен для использования в качестве компонента внутри приложений, созданных клиентом.
Как работает EPPlus
EPPlus не имеет собственного времени выполнения. Это библиотека, загружаемая в процесс хост-приложения и полностью выполняемая внутри этого процесса. Это имеет следующие последствия для его профиля безопасности:
- EPPlus не работает в собственном процессе. Он выполняется как код, находящийся в процессе внутри приложения, на которое на него ссылается.
- EPPlus не управляет собственной базой данных или постоянного хранилища. Обработка файлов или данных выполняется от имени хост-приложения.
- EPPlus не совершает сетевые звонки. Весь ввод/вывод файлов локально относится к процессу хоста.
- EPPlus не имеет механизма аутентификации или авторизации. Он не идентифицирует пользователей, не выдаёт учетные данные и не контролирует доступ.
- EPPlus не имеет собственной инфраструктуры — ни серверов, ни облачных сервисов, ни размещённых конечных точек.
- Тестирование на проникновение имеет смысл только в контексте хост-приложения, поскольку EPPlus не предоставляет отдельного времени выполнения или сетевой поверхности. Значимое тестирование безопасности проводится на уровне хост-приложения, использующего EPPlus.
Что это значит для оценки безопасности
Многие стандартные анкеты безопасности разработаны для SaaS-продуктов или сетевых сервисов. Вопросы о конфигурации TLS, логировании доступа, пользовательской системе, укреплении инфраструктуры, мониторинге во время выполнения или хранении данных не относятся к EPPlus, поскольку EPPlus не предоставляет ни одной из этих поверхностей.
Вопросы безопасности, касающиеся EPPlus , рассматриваются в других разделах этого сайта:
- Целостность релиза — см. раздел «Подпись кода » для проверки того, что релиз не был изменён.
- Целостность зависимостей — см. Программный список материалов для полного инвентаря компонентов каждого выпуска.
- Известные уязвимости — см. раздел « Раскрытие уязвимостей » для раскрытых проблем и наших оценок.
- Отчётность и реагирование — см. нашу Политику раскрытия уязвимостей для того, как сообщить о проблеме безопасности, скоординированный процесс раскрытия, внутренние цели реагирования и обязательства по статье 14 CRA по отчетности CERT-SE и ENISA.
Безопасные практики разработки
EPPlus разрабатывается на основе комплекса практик, направленных на раннее выявление дефектов — включая дефекты, связанные с безопасностью:
- Все изменения кода вносятся через pull requests и должны быть рассмотрены и утверждены другим членом команды EPPlus перед объединением. Этот процесс является публичным и происходит в репозитории EPPlus GitHub.
- Каждое изменение проходит через тысячи юнит-тестов в рамках нашего CI/CD конвейера до релиза.
- Исходный код анализируется при каждом пуше GitHub CodeQL. См. раздел «Сканирование исходного кода » для подробностей.
- Зависимости постоянно сканируются на наличие известных уязвимостей. Подробности см. раздел «Сканирование уязвимостей ».
Граница ответственности
Поскольку EPPlus работает внутри процесса хост-приложения, ответственность за общую безопасность разделяется. EPPlus Software AB отвечает за то, что находится внутри библиотеки — корректность кода, целостность выпущенных артефактов и своевременную обработку сообщаемых уязвимостей. Хост-приложение отвечает за всё, что связано с библиотекой — средой выполнения, пользователями, которые к ней обращаются, и за данные, которые ему передаются для обработки.
Обязанности хост-приложений
- Решение о том, является ли файл доверенным или нет, прежде чем передать его EPPlus.
- Применение ограничений ресурсов (память, процессор, время обработки) на уровне процесса.
- Аутентификация и авторизация пользователей хост-приложения.
- Управление инфраструктурой, на которой работает хост-приложение.
Обязанности EPPlus Software AB
- Корректность и безопасность самого кода библиотеки.
- Обработка корректно сформированных и искажённых входных файлов в рамках задокументированных ограничений, без песочницы или изоляции, выходящей за рамки того, что предоставляет хост-приложение.
- Своевременное устранение сообщаемых уязвимостей в соответствии с нашей политикой раскрытия уязвимостей.
- Поддержание целостности цепочки поставок с помощью подписания кода и опубликованных SBOM.