
Une application macOS pour analyser les fichiers de projet Xcode à la recherche de problèmes de sécurité potentiels.
XcInspector est une application macOS, et un outil en ligne de commande, pour analyser les fichiers de projet Xcode à la recherche de problèmes de sécurité potentiels.
Il existe plusieurs façons dont les projets Xcode peuvent être utilisés pour compromettre la sécurité et la vie privée.
Cet outil est un effort pour tenter (sans garantie) de détecter certains risques connus avec les projets Xcode.
Remarque : XcInspector n'analysera pas les fichiers sources (Swift, Objective-C, etc.) à la recherche de problèmes de sécurité dans leur code. Il s'agit d'une préoccupation distincte, hors du périmètre de ce projet.
XcInspector est disponible à la fois sous forme d'application et d'outil en ligne de commande, pour macOS. Les deux sont à l'état « alpha » — ce qui signifie qu'ils sont utilisables, mais encore assez peu pratiques et incomplets.
Il n'existe pas encore de paquets téléchargeables, vous devrez donc utiliser Xcode pour compiler et construire les outils à partir des sources de ce projet.
Le projet et les sources se trouvent dans le répertoire XcInspector.
Nous utilisons un sous-répertoire ici car nos fichiers d'exemple (répertoire
TestSamples), utilisés par les tests unitaires et d'interface, incluent des fichiers de projet Xcode — y compris certains fichiers délibérément malformés. Les placer dans le répertoire du projet perturberait Xcode (comme nous l'avons appris à nos dépens).
~/Library/Developer/Xcode/DerivedDataXcodeProjectSecurity,
suivi d'une série de caractères apparemment aléatoires.Build/Products/DebugXcInspectorApp.app~/Library/Developer/Xcode/DerivedDataXcodeProjectSecurity,
suivi d'une série de caractères apparemment aléatoires.Build/Products/Releasexcinspector./usr/local/bin).Pour analyser un projet Xcode, sélectionnez la commande « Open… » (⌘-O) dans le menu « File »
de l'application. Sélectionnez ensuite un répertoire contenant un fichier de projet Xcode
(.xcodeproj), et cliquez sur le bouton « Open ».
Une fenêtre de rapport s'affichera, vous indiquant combien de problèmes potentiels, le cas échéant, ont été trouvés. La fenêtre de rapport listera également chaque problème identifié, y compris le fichier spécifique, et (le cas échéant) le numéro de ligne où le problème a été rencontré.
Assurez-vous que l'outil en ligne de commande se trouve dans un endroit auquel vous pouvez accéder
(comme /usr/local/bin).
Pour obtenir des instructions sur les options disponibles lors de l'exécution de l'outil,
utilisez la commande : xcinspector --help
En général, vous pouvez obtenir un rapport pour un projet Xcode donné en passant le chemin
vers le répertoire du projet, ou le fichier de projet (.xcodeproj) lui-même.
Par exemple : xcinspector /User/me/Projects/MyApp
Le rapport résultant sera affiché dans le terminal (stdout), et est au format
des avertissements Xcode (filepath:linenumber:(error|warning|note):message).
Si aucun problème n'a été trouvé, le rapport sera vide (seule une ligne vide sera
affichée).
Vous pouvez éventuellement inclure un résumé à la fin du rapport (qui sera
affiché même si aucun problème n'a été trouvé).
xcinspector --stats path/to/project ou xcinspector -s path/to/project
Vous pouvez également inclure éventuellement des détails étendus pour tout problème trouvé.
(Actuellement, cela n'affiche que le texte du script lorsqu'un script intégré est
trouvé.)
xcinspector --details path/to/project ou xcinspector -d path/to/project
Bien que cet outil puisse aider à identifier certains risques de sécurité possibles, il ne peut EN AUCUN CAS GARANTIR la sécurité d'un projet Xcode particulier, ou de tout produit dérivé.
En utilisant ce logiciel, vous acceptez d'être seul responsable de garantir la sécurité de tout projet Xcode que vous utilisez ou partagez, et dégagez tous les auteurs de, contributeurs à, ou distributeurs de, XcInspector de toute responsabilité ou obligation.
Copyright ©2023-2024 Grant Neufeld, et al.
Le code source de ce projet est mis à disposition selon les termes de la Mozilla Public License, v. 2.0.
Le fichier de licence est inclus avec les fichiers du projet.