Um einfach PrivacyFlash Pro auszuführen, erhalten Sie die neueste Veröffentlichungspaket.
Erfahren Sie mehr über PrivacyFlash Pro in unserem Forschungsarbeit (Bibtex).
PrivacyFlash Pro analysiert den Code der iOS -Swift -Apps und deren Bibliotheken, um Datenschutzrichtlinien zu generieren. Mit PrivacyFlash Pro möchten wir Entwicklern helfen, Datenschutzrichtlinien für ihre Apps zu erstellen und die Datenschutzpraktiken der Apps für die Benutzer transparenter zu gestalten.
PrivacyFlash Pro umfasst Bestimmungen der folgenden Gesetze:
PrivacyFlash Pro ist ein akademisches Forschungsprojekt. Es wurde von David Baraka (@Davebaraka), Rafael Goldstein (@rgoldstein01), Sarah Jin (@sj-in) und Sebastian Zicke (@sebastizekamin) aus der Privatsphäre-Tech-Lab entworfen und entwickelt. Kuba Alicki (@Kalicki1) schrieb die Unit -Tests.
1. Installieren, Ausführen und Verpacken von Privacyflash Pro
2. Demo Video
3.
4. Tests
5. Dateien und Verzeichnisse in diesem Repo
6. Bibliotheken Dritter
7. Danke!
Sie können PrivacyFlash Pro aus der Verpackung oder aus den Quelldateien installieren und ausführen. Sie können auch eine neue verpackte Version von PrivacyFlash Pro erstellen.
Sie finden die Veröffentlichungen von PrivacyFlash Pro im Abschnitt "Veröffentlichungen Entpacken Sie den heruntergeladenen privacyflash-pro.zip und klicken Sie dann auf das Icon für PrivacyFlash Pro. Sie müssen zustimmen, PrivacyFlash Pro in Ihren MACOS -Sicherheitseinstellungen zu öffnen. Nach ein paar Sekunden sollte PrivacyFlash Pro in Ihrem Standardbrowser ausgeführt werden.
Stellen Sie sicher, dass Python 3 installiert ist. PrivacyFlash Pro unterstützt Python nicht python3 Sie können Python 3 auf der offiziellen Python -Website bekommen.
Klonen Sie dieses Repo, cd Sie in das Verzeichnis, in dem Sie PrivacyFlash Pro speichern möchten, git clone [email protected]:privacy-tech-lab/privacyflash-pro.git ausführen.
Stark empfohlen : Erstellen und aktivieren Sie eine virtuelle Python-Umgebung, pfp-venv , mit python3 -m venv pfp-venv , und führen Sie sie mit source pfp-venv/bin/activate (vorausgesetzt, Sie verwenden die Standardschale). Stellen Sie sicher, dass sich Ihre virtuelle Umgebung außerhalb des Verzeichnisses privacyflash-pro befindet, um eine Git-Tracking zu vermeiden.
cd in das Verzeichnis für privacyflash-pro/policygenerator . Wenn Sie eine virtuelle Python -Umgebung verwenden, führen Sie pip3 install -r requirements.txt aus. Andernfalls führen Sie pip3 install --user -r requirements.txt aus. Wenn Sie einen Fehler erhalten, führen Sie pip3 install -r requirements.txt aus. Wenn Sie immer noch einen Fehler erhalten, führen Sie sudo pip3 install -r requirements.txt aus.
Führen Sie PrivacyFlash Pro mit python3 app.py aus.
Navigieren Sie mit der Navigation von PrivacyFlash Pro von der Verzeichnis von PrivacyFlash Pro zu Ihrem iOS -Swift -Projektverzeichnis (das Verzeichnis, das Ihr .xcodeproj enthält) und klicken Sie auf OK, um die Analyse zu starten. Abhängig von der Größe Ihrer Codebasis sollten die Analyseergebnisse innerhalb einer Minute verfügbar sein. Sie werden jetzt durch einen Zauberer geführt. Sobald Sie den Assistentenfragebogen abgeschlossen haben, können Sie die Datenschutzrichtlinie für Ihre App exportieren.
Sie können PrivacyFlash Pro an den Projekten in den iOS-Sample-Projekten testen. Zum Beispiel können Sie das ADColony -Beispielprojekt analysieren. Starten Sie das PrivacyFlash Pro in Ihrem Browser mit der Verzeichnisnavigation von PrivacyFlash Pro zum Adcolony -Verzeichnis und klicken Sie auf OK, um die Analyse zu starten. Die Analyseergebnisse sollten innerhalb einer Minute verfügbar sein.
Wenn Ihr Browser keine Verbindung zum Localhost herstellt, versuchen Sie, eine Antiviren -Software (z. B. ESET) zu deaktivieren, die Sie möglicherweise ausführen.
PrivacyFlash Pro analysiert den iOS-App-Quellcode in Swift und seine integrierten Bibliotheken von Drittanbietern in Swift und Objective-C. Die Bibliotheksanalyse funktioniert für nicht kompilierte und kompilierte Bibliotheken. PrivacyFlash Pro analysiert den iOS-App-Quellcode in Objective-C nicht.
Sie können auch eine neue verpackte Version von PrivacyFlash Pro erstellen. Führen Sie python3 package.py im privacyflash-pro/policygenerator Verzeichnis durch, nachdem Sie erfolgreich installiert und aus erstellt wurden. Eine Reißverschlussdatei mit einer macOS-Verteilungs-App wird im Verzeichnis privacyflash-pro/policygenerator/dist generiert.
Hinweis : Wenn Sie eine virtuelle Python -Umgebung verwenden, wie wir empfehlen, führen Sie python3 package.py nach der Aktivierung der Umgebung aus.
HINWEIS : Wenn die Verpackung für die öffentliche Verteilung, denken Sie daran, die Versionsnummer in privacyflash-pro/policygenerator/interface/index.html und privacyflash-pro/policygenerator/package.py zu aktualisieren. Bitte identifizieren Sie Ihren Benutzern, dass Sie die Version verpackt haben und dass die Version nicht offiziell ist.
Wenn Sie Fehlerverpackungen oder Ausführen der verpackten App aufnehmen, aktualisieren Sie den Abhängigkeits pyinstaller , indem Sie pip3 install pyinstaller -U und führen Sie das Verpackungsskript erneut aus.
PrivacyFlash Pro ist von den Menschen für die Menschen. Jeder kann dazu beitragen. Insbesondere öffnen Sie eine Pull -Anfrage, um zusätzliche Datenschutzpraktiken und Bibliotheken Dritter hinzuzufügen. Wenn Sie andere Ideen oder Feedback haben, lassen Sie es uns wissen. Wir freuen uns, von Ihnen zu hören!
Die Spezifikation für die Datenschutzpraxisanalyse ist in policygenerator/spec/privacy_practices.yaml enthalten. PrivacyFlash Pro findet eine Datenschutzpraxis in einer App oder einer Bibliothek, wenn sie die Verwendung einer relevanten API identifiziert, dh alle folgenden folgenden Informationen sind für die App oder eine Bibliothek vorhanden:
NSLocationWhenInUseUsageDescription .CoreLocation )CLLocationManager )requestWhenInUseAuthorization ) Für die Analyse des App -Code kann die Autorisierungsmethode auch in einer Bibliothek sein, solange zusätzliche Beweise (z. B. startUpdatingLocation ) im App -Code vorhanden sind. Umgekehrt kann die Autorisierungsmethode für die Analyse einer Bibliothek auch im App -Code sein, solange zusätzliche Beweise (z. B. startUpdatingLocation ) in der Bibliothek vorhanden sind.
Außerdem ist beispielsweise ein Anspruch (z. B. com.apple.developer.healthkit) für einige Praktiken erforderlich. Weitere Informationen finden Sie in der Privacy_Practices.yaml.
PrivacyFlash Pro identifiziert jede Bibliothek, die in die analysierte App integriert ist. Die Spezifikation für die Bibliotheksanalyse von Drittanbietern ist in policygenerator/spec/third_parties.yaml enthalten. PrivacyFlash Pro verwendet diese Spezifikation, um den Zweck einer Bibliothek zu bestimmen. Ein Bibliotheksname wird mit seinem Namen auf Cocoapods angegeben. Zum Beispiel hat AdColony die Advertising . PrivacyFlash Pro identifiziert derzeit die Zwecke von 300 Bibliotheken mit den folgenden Zweckkategorien:
AuthenticationAdvertisingAnalyticsDeveloper SupportPayment ProcessingSocial Network Integration Beachten Sie, dass selbst wenn eine Bibliothek nicht in policygenerator/spec/third_parties.yaml enthalten ist. PrivacyFlash Pro analysiert immer noch die in einem Projekt enthaltenen Dateien. Sie müssen jedoch den Zweck der Bibliothek in den von Ihnen generierenden Datenschutzrichtlinien manuell eingeben.
Unsere Unit -Tests für PrivacyFlash Pro wurden mit dem Python Unittest Framework erstellt. Um die integrierten Tests für Privacyflash Pro durchzuführen, verwenden Sie python3 -m unittest aus dem Stammverzeichnis Ihrer lokalen Kopie dieses Repo.
iOS-sample-projects : Beispielprojekte für Privacyflash Pro zum Analysieren und Testen.policygenerator/ : Enthält den Code von PrivacyFlash Pro.policygenerator/app.py : Haupteintrittspunkt für die Generierung einer Datenschutzrichtlinie.policygenerator/package.py : Skript zum Erstellen eines verteilbaren Pakets von PrivacyFlash Pro.policygenerator/interface : Enthält alle Code, die sich auf die Benutzeroberfläche bezieht, um die Richtlinie an den Benutzer anzuzeigen.policygenerator/spec : Spezifikationen von Drittanbietern und Datenschutzpraktiken.policygenerator/spec/privacy_practices.yaml : Enthält die Spezifikation zur Erkennung der Nutzung der Datenschutzpraxis.policygenerator/spec/third_parties.yaml : Enthält die Spezifikation für Anzeigennetzwerke und andere Bibliotheken von Drittanbietern.policygenerator/src/analysis.py : Das Modul zur Analyse des Projekts sucht nach Instanzen der Verwendung von Datenschutzpraxis.policygenerator/src/configure_data.py : Brücke zwischen dem Python -Code und dem JavaScript -Code für die Benutzeroberfläche; Konfiguriert die Ergebnisse der Generator -Engine auf richtige JSON -Dateien/-objekte, die für die Benutzeroberfläche verwendet werden sollen.policygenerator/src/constants.py : Die Konstantenklasse wird intern verwendet, um eine Datenschutzpraxis nach einem Indexwert zu identifizieren.policygenerator/src/evidence.py : Die Evidenzklasse wird verwendet, um die Verwendung der Datenschutzpraxis in den Dateien einer App zu verfolgen.policygenerator/src/privacy_practices.py : Lädt Daten aus dem zu analysierenden App -Projekt.policygenerator/requirements.txt : Abhängigkeiten von PrivacyFlash Pro. PrivacyFlash Pro verwendet die folgenden Bibliotheken Dritter. Wir danken den Entwicklern.
Wir möchten uns bei unseren Unterstützern bedanken!
Finanzielle Unterstützung der Wesleyan University und der Anil Fernando -Stiftung.

Schlussfolgerungen, die gezogen oder Positionen eingenommen wurden, sind unsere eigenen und nicht unbedingt die unserer finanziellen Unterstützer, seiner Treuhänder, Beamten oder Mitarbeiter.
