لتشغيل PrivacyFlash Pro بسهولة الحصول على أحدث إصدار معبأ.
تعرف على المزيد حول PrivacyFlash Pro في ورقة البحث لدينا (Bibtex).
يحلل PrivacyFlash Pro رمز تطبيقات iOS Swift ومكتباتها لإنشاء سياسات الخصوصية. مع PrivacyFlash Pro ، نعتزم مساعدة المطورين على إنشاء سياسات الخصوصية لتطبيقاتهم وجعل ممارسات الخصوصية للتطبيقات أكثر شفافية للمستخدمين.
يغطي PrivacyFlash Pro أحكام القوانين التالية:
PrivacyFlash Pro هو مشروع بحثي أكاديمي. تم تصميمه وتطويره بواسطة David Baraka (DaveBaraka) ، ورافائيل جولدشتاين (@rgoldstein01) ، وسارة جين (@SJ-in) ، و Sebastian Zimmeck (sebastianzimmeck) من Privacy-Tech-Lab. كتب كوبا أليكي (@kalicki1) اختبارات الوحدة.
1. تثبيت وتشغيل وتعبئة PrivacyFlash Pro
2. الفيديو التجريبي
3. الانخراط
4. الاختبار
5. الملفات والأدلة في هذا الريبو
6. مكتبات الطرف الثالث
7. شكرا لك!
يمكنك تثبيت وتشغيل PrivacyFlash Pro من الإصدار المعبأ أو من الملفات المصدر. يمكنك أيضًا إنشاء نسخة جديدة معبأة من PrivacyFlash Pro.
ستجد إصدارات PrivacyFlash Pro في قسم الإصدارات (قد تحتاج إلى السماح بتنزيل ملف zip في إعدادات المتصفح ، على سبيل المثال ، ضمن إعدادات تنزيل Google Chrome). قم بإلغاء الضغط على privacyflash-pro.zip ثم انقر فوق أيقونة PrivacyFlash Pro. يجب أن توافق على فتح PrivacyFlash Pro في إعدادات أمان MacOS الخاصة بك. بعد بضع ثوان يجب أن تعمل PrivacyFlash Pro في متصفحك الافتراضي.
تأكد من تثبيت Python 3. لا يدعم PrivacyFlash Pro Python 2. يمكنك التحقق من المحطة الخاصة بك إذا كان لديك Python 3 مثبتًا عن طريق تشغيل python3 . يمكنك الحصول على Python 3 على موقع Python الرسمي.
استنساخ هذا الريبو عن طريق cd المضغوط في الدليل الذي تريد تخزين PrivacyFlash Pro وتشغيل git clone [email protected]:privacy-tech-lab/privacyflash-pro.git .
موصى به بشدة : قم بإنشاء وتفعيل بيئة افتراضية Python ، pfp-venv ، مع python3 -m venv 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 .
تشغيل PrivacyFlash Pro مع python3 app.py
باستخدام التنقل في دليل PrivacyFlash Pro ، انتقل إلى دليل مشروع iOS Swift الخاص بك (الدليل الذي يحتوي على .xcodeproj ) ، وانقر فوق "موافق" لبدء التحليل. اعتمادًا على حجم قاعدة بيانات الكود الخاصة بك ، يجب أن تكون نتائج التحليل متاحة في غضون دقيقة واحدة. سوف تسترشد الآن من خلال معالج. بمجرد الانتهاء من استبيان المعالج ، يمكنك تصدير سياسة الخصوصية لتطبيقك.
يمكنك اختبار PrivacyFlash Pro في المشاريع في المشاريع iOS-Sample. على سبيل المثال ، يمكنك تحليل مشروع عينة Adcolony. ابدأ PrivacyFlash Pro ، في متصفحك ، انتقل إلى دليل AdColony باستخدام التنقل في دليل PrivacyFlash Pro ، وانقر فوق "موافق" لبدء التحليل. يجب أن تكون نتائج التحليل متاحة في غضون دقيقة.
إذا لم يتصل المتصفح الخاص بك بـ LocalHold ، فحاول تعطيل أي برنامج مكافحة الفيروسات (على سبيل المثال ، ESET) الذي قد تقوم بتشغيله.
تحلل PrivacyFlash Pro رمز مصدر تطبيق iOS في Swift ومكتباتها المتكاملة لجهات خارجية في Swift و Diseive-C. يعمل تحليل المكتبة للمكتبات غير المنقولة والمجمعة. لا يقوم PrivacyFlash Pro بتحليل رمز مصدر تطبيق iOS في Objective-C.
يمكنك أيضًا إنشاء نسخة جديدة معبأة من PrivacyFlash Pro. بعد التثبيت بنجاح وتشغيله من المصدر ، قم بتشغيل python3 package.py ضمن دليل privacyflash-pro/policygenerator . سيتم إنشاء ملف مضغوط يحتوي على تطبيق MacOS القابل للتوزيع في Directory privacyflash-pro/policygenerator/dist Directory.
ملاحظة : إذا كنت تستخدم بيئة افتراضية Python ، كما نوصي ، قم بتشغيل python3 package.py بعد تنشيط البيئة.
ملاحظة : إذا كانت التغليف للتوزيع العام ، تذكر تحديث رقم الإصدار في privacyflash-pro/policygenerator/interface/index.html و privacyflash-pro/policygenerator/package.py . أيضًا ، يرجى التعرف على المستخدمين أنك قمت بتعبئة الإصدار وأن الإصدار ليس رسميًا.
إذا واجهت أخطاء تغليف أو تشغيل التطبيق المعبأ ، فحاول تحديث pyinstaller التبعية عن طريق تشغيل pip3 install pyinstaller -U ثم تشغيل البرنامج النصي للتغليف مرة أخرى.
PrivacyFlash Pro هو من الناس من أجل الناس. يمكن للجميع المساهمة. على وجه الخصوص ، لا تتردد في فتح طلب سحب لإضافة ممارسات خصوصية إضافية ومكتبات أطراف ثالثة. إذا كان لديك أفكار أو ملاحظات أخرى ، فأخبرنا بذلك. نتطلع إلى سماع منك!
ويرد مواصفات تحليل ممارسة الخصوصية في policygenerator/spec/privacy_practices.yaml . يعلن PrivacyFlash Pro ممارسة خصوصية في تطبيق أو مكتبة إذا كانت تحدد استخدام واجهة برمجة التطبيقات ذات الصلة ، أي أن جميع ما يلي موجودة للتطبيق أو المكتبة:
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. من أجل إجراء الاختبارات المدمجة لـ 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 ورمز JavaScript الخاص بواجهة المستخدم ؛ يقوم بتكوين النتائج من محرك المولد إلى ملفات/كائنات JSON المناسبة لاستخدامها في واجهة المستخدم.policygenerator/src/constants.py : يتم استخدام فئة الثوابت داخليًا لتحديد ممارسة الخصوصية بقيمة فهرس.policygenerator/src/evidence.py : يتم استخدام فئة الأدلة لتتبع استخدامات ممارسة الخصوصية في ملفات التطبيق.policygenerator/src/privacy_practices.py : يقوم بتحميل البيانات من مشروع التطبيق المراد تحليله.policygenerator/requirements.txt : تبعيات PrivacyFlash Pro. يستخدم PrivacyFlash Pro مكتبات الجهات الخارجية التالية. نشكر المطورين.
نود أن نشكر مؤيدينا!
الدعم المالي المقدم من جامعة ويسليان وموهبة أنيل فرناندو.

الاستنتاجات التي تم التوصل إليها أو المواقف المتخذة هي خاصة بنا وليس بالضرورة تلك الخاصة بمؤيدينا الماليين أو أمنائنا أو ضباطها أو موظفيها.
