为了轻松运行Privacyflash Pro,获取最新的包装版本。
在我们的研究论文(Bibtex)中了解有关Privacyflash Pro的更多信息。
PrivacyFlash Pro分析iOS Swift应用程序及其库的代码,以生成隐私政策。借助Privacyflash Pro,我们打算帮助开发人员为其应用程序制定隐私政策,并使应用程序的隐私实践更加透明。
Privacyflash Pro涵盖以下法律的规定:
Privacyflash Pro是一个学术研究项目。它是由David Baraka(@DaveBaraka),Rafael Goldstein(@rgoldstein01),Sarah Jin(@sj-in)和Privency-tripacy-Tech-Lab的Sarah Jin(@sjin)和Sebastian Zimmeck(@sebastianzimmeck)设计和开发的。 Kuba Alicki(@kalicki1)编写了单位测试。
1。安装,运行和包装Privacyflash Pro
2。演示视频
3。参与
4。测试
5。此存储库中的文件和目录
6。第三方图书馆
7。谢谢!
您可以从包装版本或源文件中安装并运行Privacyflash Pro。您还可以创建一个新的包装版本的Privacyflash Pro。
您将在“发行版”部分中找到Privacyflash Pro的发行版(您可能需要在Google Chrome的下载设置下允许在浏览器设置中下载zip文件)。解开已下载的privacyflash-pro.zip ,然后单击privacyflash pro图标。您将必须同意在MacOS安全设置中打开Privacyflash Pro。几秒钟后,Privacyflash Pro应在您的默认浏览器中运行。
确保安装Python 3。 PrivacyFlash Pro不支持Python 2。如果您通过运行python3安装了Python 3,则可以在终端中检查。您可以在Python官方网站上获得Python 3。
通过cd将此存储库克隆到您要存储PrivacyFlash Pro的目录中,并运行git clone [email protected]:privacy-tech-lab/privacyflash-pro.git 。
强烈建议:使用python3 -m venv pfp-venv pfp-venv创建和激活Python虚拟环境PFP-VENV,并使用source pfp-venv/bin/activate运行它(假设您使用默认的外壳)。确保您的虚拟环境不在privacyflash-pro目录之外,以避免跟踪GIT跟踪。
cd进入privacyflash-pro/policygenerator目录。如果您使用的是Python虚拟环境,请运行pip3 install -r requirements.txt 。否则,请运行pip3 install --user -r requirements.txt 。如果遇到错误,请运行pip3 install -r requirements.txt 。如果您仍然遇到错误,请运行sudo pip3 install -r requirements.txt 。
使用python3 app.py运行privacyflash Pro。
使用PrivacyFlash Pro的目录导航,导航到您的iOS Swift Project目录(包含.xcodeproj的目录),然后单击“确定”以启动分析。根据代码库的大小,分析结果应在一分钟内提供。现在,您将通过向导进行指导。最终确定了《向导问卷》后,您可以导出应用程序的隐私政策。
您可以在iOS-样品项目中的项目上测试Privacyflash Pro。例如,您可以分析Adcolony样本项目。启动PrivacyFlash Pro,在您的浏览器中,使用PrivacyFlash Pro的目录导航导航到Adcolony目录,然后单击“确定”以启动分析。分析结果应在一分钟内提供。
如果您的浏览器未连接到Localhost,请尝试禁用您可能正在运行的任何防病毒软件(例如ESET)。
PrivacyFlash Pro在Swift中分析IOS应用程序源代码及其在Swift和Objective-C中的集成的第三方库。图书馆分析适用于未编译和编译的图书馆。 PrivacyFlash Pro不会在Objective-C中分析iOS应用程序源代码。
您还可以创建一个新的包装版本的Privacyflash Pro。成功安装并从源运行后,在privacyflash-pro/policygenerator目录中运行python3 package.py 。 privacyflash-pro/policygenerator/dist Directory将生成包含MACOS分发应用程序的zipperiped文件。
注意:如果您使用的是python虚拟环境,请在激活环境后运行python3 package.py 。
注意:如果包装用于公共发行,请记住在privacyflash-pro/policygenerator/interface/index.html和privacyflash-pro/policygenerator/package.py中更新版本号。另外,请向您的用户识别包装版本,并且该版本不是正式的。
如果您遇到错误包装或运行包装应用程序,请尝试通过运行pip3 install pyinstaller -U更新依赖项pyinstaller ,然后再次运行包装脚本。
Privacyflash Pro来自人民。每个人都可以做出贡献。特别是,请随时打开拉动请求,以添加其他隐私惯例和第三方库。如果您还有其他想法或反馈,请告诉我们。我们期待收到您的来信!
隐私实践分析的规范包含在policygenerator/spec/privacy_practices.yaml中。 PrivacyFlash Pro标记应用程序或库中的隐私实践,如果它标识了相关API的使用,即,应用程序或库中都存在以下所有内容:
NSLocationWhenInUseUsageDescription )CoreLocation )CLLocationManager )requestWhenInUseAuthorization )为了分析应用程序代码,只要应用程序代码中还有其他证据(例如, startUpdatingLocation ),授权方法也可以在库中。反之亦然,对于库的分析,只要库中有其他证据(例如, startUpdatingLocation ),授权方法也可以在应用程序代码中。
同样,对于某些实践,例如健康,需要权利(例如,com.apple.developer.healthkit)。有关更多详细信息,请参见privacy_practices.yaml。
Privacyflash Pro标识了分析应用程序中集成的任何库。第三方库分析的规范包含在policygenerator/spec/third_parties.yaml中。 Privacyflash Pro正在使用此规范来确定库的目的。图书馆名称由其名称在Cocoapods上给出。例如, AdColony具有目的Advertising 。 Privacyflash Pro当前使用以下目的类别标识300个库的目的:
AuthenticationAdvertisingAnalyticsDeveloper SupportPayment ProcessingSocial Network Integration请注意,即使在policygenerator/spec/third_parties.yaml中不包含库,Privacyflash Pro仍然分析了项目中包含的文件。但是,您将必须在要生成的隐私政策中手动输入图书馆的目的。
我们对Privacyflash Pro的单元测试是使用Python Unittest Framework构建的。为了运行Privacyflash Pro的内置测试,请使用此存储库本地副本的根目录中使用python3 -m unittest 。
iOS-sample-projects :用于分析和测试的Privacyflash Pro的示例项目。policygenerator/ :包含Privacyflash Pro的代码。policygenerator/app.py :生成隐私政策的主要入口点。policygenerator/package.py :脚本以创建一个可分发的Privacyflash Pro包。policygenerator/interface :包含与用户界面相关的所有代码,以向用户显示策略。policygenerator/spec :第三方和隐私惯例规格。policygenerator/spec/privacy_practices.yaml :包含用于检测隐私练习使用情况的规范。policygenerator/spec/third_parties.yaml :包含广告网络和其他第三方库的规范。policygenerator/src/analysis.py :用于分析项目的模块寻找隐私实践使用实例。policygenerator/src/configure_data.py :python代码和UI的JavaScript代码之间的桥梁;将发电机引擎的结果配置为适用于UI使用的JSON文件/对象。policygenerator/src/constants.py :常数类用于内部用来通过索引值确定隐私实践。policygenerator/src/evidence.py :证据类用于跟踪应用程序文件中的隐私练习使用情况。policygenerator/src/privacy_practices.py :加载来自应用程序的数据要分析。policygenerator/requirements.txt :Privacyflash Pro的依赖项。 Privacyflash Pro使用以下第三方库。我们感谢开发人员。
我们要感谢我们的支持者!
卫斯理大学和阿尼尔·费尔南多捐赠基金提供的财政支持。

得出的结论是我们自己的结论,或者是我们的财务支持者,其受托人,官员或员工的结论。
