PrivacyFlash Pro를 쉽게 실행하려면 최신 패키지 릴리스를받습니다.
연구 논문 (Bibtex)에서 PrivacyFlash Pro에 대해 자세히 알아보십시오.
PrivacyFlash Pro는 iOS Swift Apps 및 해당 라이브러리의 코드를 분석하여 개인 정보 보호 정책을 생성합니다. PrivacyFlash Pro를 통해 개발자가 앱에 대한 개인 정보 보호 정책을 작성하고 앱의 개인 정보 보호 관행을 사용자에게보다 투명하게 만들도록 도와 주려고합니다.
PrivacyFlash Pro는 다음 법의 조항을 다룹니다.
PrivacyFlash Pro는 학술 연구 프로젝트입니다. David Baraka (@Davebaraka), Rafael Goldstein (@rgoldstein01), Sarah Jin (@sj-in) 및 Sebastian Zimmeck (@sebastianzimmeck)에 의해 설계 및 개발되었습니다. Kuba Alicki (@Kalicki1)는 단위 테스트를 작성했습니다.
1. PrivacyFlash Pro 설치, 실행 및 포장
2. 데모 비디오
3. 참여하십시오
4. 테스트
5.이 repo의 파일 및 디렉토리
6. 제 3 자 라이브러리
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 int를 통해 PrivacyFlash Pro를 저장하고 git clone [email protected]:privacy-tech-lab/privacyflash-pro.git .
강력하게 권장 : python3 -m venv pfp-venv pfp-venv 사용하여 Python Virtual Environment PFP-VENV를 생성하고 활성화하고 source pfp-venv/bin/activate (기본 쉘을 사용한다고 가정)로 실행하십시오. GIT 추적을 피하기 위해 가상 환경이 privacyflash-pro 디렉토리 외부에 있는지 확인하십시오.
privacyflash-pro/policygenerator directory에 cd 사용하십시오. 파이썬 가상 환경을 사용하는 경우 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 프로젝트 디렉토리 ( .xcodeproj 가 포함 된 디렉토리)로 이동하고 확인을 클릭하여 분석을 시작하십시오. 코드베이스의 크기에 따라 분석 결과를 1 분 안에 사용할 수 있어야합니다. 이제 마법사를 통해 안내됩니다. 마법사 설문지를 마무리하면 앱의 개인 정보 보호 정책을 내보낼 수 있습니다.
iOS- 샘플 프로젝트의 프로젝트에서 PrivacyFlash Pro를 테스트 할 수 있습니다. 예를 들어, Adcolony 샘플 프로젝트를 분석 할 수 있습니다. Browser에서 PrivacyFlash Pro의 디렉토리 내비게이션을 사용하여 AdColony 디렉토리로 이동하고 확인을 클릭하여 분석을 시작하십시오. 분석 결과는 1 분 안에 사용할 수 있어야합니다.
브라우저가 로컬 호스트에 연결되지 않으면 실행중인 바이러스 백신 소프트웨어 (예 : ESET)를 비활성화하십시오.
PrivacyFlash Pro는 Swift 및 Objective-C의 SWIFT 및 통합 타사 라이브러리의 iOS 앱 소스 코드를 분석합니다. 라이브러리 분석은 컴파일되지 않고 컴파일 된 라이브러리에 대해 작동합니다. PrivacyFlash Pro는 Objective-C에서 iOS 앱 소스 코드를 분석하지 않습니다.
PrivacyFlash Pro의 새로운 패키지 버전을 만들 수도 있습니다. Source에서 성공적으로 설치하고 실행 한 후 privacyflash-pro/policygenerator 디렉토리에서 python3 package.py 실행하십시오. MACOS 배포 가능한 앱이 포함 된 지퍼 파일은 privacyflash-pro/policygenerator/dist Directory에서 생성됩니다.
참고 : 파이썬 가상 환경을 사용하는 경우 권장하는 것처럼 환경을 활성화 한 후 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 when when when when when when -awessorization) 앱 코드의 분석을 위해 앱 코드에 추가 증거가있는 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에 대한 내장 테스트를 실행하려면이 Repo의 로컬 사본의 루트 디렉토리 내에서 python3 -m unittest 사용하십시오.
iOS-sample-projects : PrivacyFlash Pro를위한 샘플 프로젝트 분석 및 테스트.policygenerator/ : PrivacyFlash Pro 코드가 포함되어 있습니다.policygenerator/app.py : 개인 정보 보호 정책을 생성하기위한 주요 진입 점.policygenerator/package.py : PrivacyFlash Pro의 배포 가능한 패키지를 만들기위한 스크립트.policygenerator/interface : 사용자에게 정책을 표시하기위한 사용자 인터페이스와 관련된 모든 코드가 포함되어 있습니다.policygenerator/spec : 제 3 자 및 개인 정보 보호 관행 사양.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 : Constants 클래스는 내부적으로 인덱스 값으로 개인 정보 보호 관행을 식별하는 데 사용됩니다.policygenerator/src/evidence.py : 증거 클래스는 앱 파일의 개인 정보 보호 실습 사용을 추적하는 데 사용됩니다.policygenerator/src/privacy_practices.py : 분석 할 앱 프로젝트의 데이터를로드합니다.policygenerator/requirements.txt : PrivacyFlash Pro의 종속성. PrivacyFlash Pro는 다음 타사 라이브러리를 사용합니다. 개발자에게 감사드립니다.
우리는 우리의 지지자들에게 감사하고 싶습니다!
Wesleyan University와 Anil Fernando Endowment가 제공하는 재정 지원.

결론에 도달하거나 취한 직책은 우리 자신의 것이며 반드시 우리의 재무 지지자, 수탁자, 임원 또는 직원의 것은 아닙니다.
