Наличие файла со списком сторонних зависимостей в собранном пакете приложения
Критичность: ИНФО | |
Способ обнаружения: DAST, SENSITIVE INFO, FILES |
Описание
В среде iOS существует несколько систем сборки зависимостей проекта со специфическими типами конфигурационных файлов, их наименованиями и содержанием. В сборке приложения может оказаться такой файл с описанием применяемых сторонних библиотек и их версий. Список таких систем и их файлов представлен в таблице.
Система управления зависимостями | Названия конфигурационных файлов |
---|---|
CocoaPods | Podfile, Podfile.lock, Manifest.lock |
Carthage | Cartfile, Cartfile.resolved, Cartfile.private |
SwiftPM | Package.swift, Package@swift-{version}.swift |
Accio | Совпадают с SwiftPM |
Athena | build.gradle, build.gradle.kts, settings.gradle.kts |
Mint | Mintfile |
Rome | Romefile |
SWM | swiftmodule.json |
Xcode Maven | pom.xml |
Наличие одного из перечисленных конфигурационных файлов может помочь в определении уязвимости в используемых библиотеках, а также раскрыть информацию о внутренних репозиториях (если используются внутренние компоненты).
Рекомендации
Рекомендуется исключить файлы, которые не требуются для работы приложения, из финальной сборки.
-
Если отсутствует файл пользовательских настроек для сборки, необходимо его создать.
-
Добавить ключ настройки EXCLUDED_SOURCE_FILE_NAMES, если он отсутствует.
-
Добавить настройки, определяющие, какие файлы и папки необходимо исключить из финальной сборки приложения.