
Приложение для macOS для сканирования файлов проекта Xcode на предмет возможных проблем безопасности.
XcInspector — это приложение для macOS и инструмент командной строки для сканирования файлов проектов Xcode на предмет возможных проблем безопасности.
Существуют способы, с помощью которых проекты Xcode могут быть использованы для компрометации безопасности и приватности.
Этот инструмент представляет собой попытку (не гарантию) выявить некоторые известные риски проектов Xcode.
Примечание: XcInspector не будет сканировать исходные файлы (Swift, Objective-C и т. д.) на предмет каких-либо проблем безопасности в их коде. Это отдельная задача, выходящая за рамки данного проекта.
XcInspector доступен как в виде приложения, так и в виде инструмента командной строки для macOS. Оба находятся в состоянии «альфа» — то есть они работоспособны, но всё ещё довольно неуклюжи и неполны.
Пакетов для скачивания пока нет, поэтому вам придётся использовать Xcode, чтобы скомпилировать и собрать инструменты из исходного кода в этом проекте.
Проект и исходные коды находятся в каталоге .
XcInspectorМы используем здесь подкаталог, потому что наши образцы файлов (каталог
TestSamples), используемые модульными и UI-тестами, включают файлы проектов Xcode — в том числе некоторые намеренно повреждённые файлы. Их наличие в каталоге проекта запутало бы Xcode (как мы убедились на собственном горьком опыте).
~/Library/Developer/Xcode/DerivedData)XcodeProjectSecurity,
за которым следует куча seemingly случайных символов.Build/Products/DebugXcInspectorApp.app~/Library/Developer/Xcode/DerivedData)XcodeProjectSecurity,
за которым следует куча seemingly случайных символов.Build/Products/Releasexcinspector./usr/local/bin).Чтобы просканировать проект Xcode, выберите команду «Open…» (⌘-O) из меню «File»
в приложении. Затем выберите каталог с файлом проекта Xcode
(.xcodeproj) в нём и нажмите кнопку «Open».
Появится окно отчёта, сообщающее, сколько возможных проблем было найдено, если они вообще есть. В окне отчёта также будет перечислена каждая выявленная проблема, включая конкретный файл и (если применимо) номер строки, на которой была обнаружена проблема.
Убедитесь, что инструмент командной строки находится в месте, где вы можете к нему получить доступ
(например, /usr/local/bin).
Чтобы получить инструкции по доступным параметрам при запуске инструмента,
используйте команду: xcinspector --help
В целом, вы можете получить отчёт для заданного проекта Xcode, передав путь
к каталогу проекта или к самому файлу проекта (.xcodeproj).
Например: xcinspector /User/me/Projects/MyApp
Полученный отчёт будет выведен в терминал (stdout) в формате
предупреждений Xcode (filepath:linenumber:(error|warning|note):message).
Если проблемы не найдены, отчёт будет пустым (будет выведена только пустая строка).
Вы можете дополнительно включить сводку в конце отчёта (которая будет
показана, даже если проблемы не найдены).
xcinspector --stats path/to/project или xcinspector -s path/to/project
Вы также можете дополнительно включить расширенные сведения о найденных проблемах.
(В настоящее время это показывает только текст скрипта, когда обнаружен встроенный скрипт.)
xcinspector --details path/to/project или xcinspector -d path/to/project
Хотя этот инструмент может помочь выявить некоторые возможные риски безопасности, он НИКОИМ ОБРАЗОМ НЕ МОЖЕТ ГАРАНТИРОВАТЬ безопасность какого-либо конкретного проекта Xcode или любого производного продукта.
Используя это программное обеспечение, вы соглашаетесь с тем, что несёте единоличную ответственность за обеспечение безопасности любых проектов Xcode, которые вы используете или распространяете, и освобождаете всех авторов, участников или распространителей XcInspector от любой ответственности или обязательств.
Copyright ©2023-2024 Grant Neufeld, et.al.
Исходный код этого проекта предоставляется на условиях Mozilla Public License, v. 2.0.
Файл лицензии включён в файлы проекта.