
Android APK에 대한 SAST 및 악성코드 분석을 수행하는 Django 애플리케이션
Android APK에 대한 보안 분석, 업로드부터 실행 가능한 결과까지.
Mobile Audit은 정적 애플리케이션 보안 테스트 및 악성코드 검사를 위한 Django 애플리케이션입니다. APK 메타데이터를 추출하고, 위험한 구현 패턴을 탐지하며, 발견 사항을 심각도별로 정리하고, 검토 및 보고를 위한 집중된 작업 공간을 제공합니다.

Docker Compose는 전체 로컬 스택(Django, PostgreSQL, RabbitMQ, Celery, Nginx)을 실행합니다.
docker compose build
docker compose up
서비스가 준비되면 http://localhost:8888을 여십시오.
백그라운드에서 실행하거나 스택을 중지하려면:
docker compose up -d
docker compose down
로컬 환경 외부에서 Mobile Audit을 사용하기 전에 .env.example의 예제 시크릿, 데이터베이스 자격 증명, 관리자 자격 증명을 교체하십시오.
| 영역 | Mobile Audit이 제공하는 것 |
|---|---|
| APK 검사 | 애플리케이션 메타데이터, 컴포넌트, 권한, 인증서, 문자열, 데이터베이스, 파일 |
| 정적 분석 | CWE 및 Mobile Top 10 매핑이 포함된 구성 가능한 SAST 규칙 |
| 악성코드 검사 | MalwareDB 및 Maltrail 소스에 대한 도메인 검사 |
| 발견 사항 관리 | 심각도 요약, 상세 증거, 편집, 오탐 분류 |
| 통합 | 선택적 VirusTotal 검사 및 DefectDojo 내보내기 |
| 보고 | PDF 내보내기 및 토큰 인증 REST API |
애플리케이션의 스캔 기록을 검토하고 APK 버전 간에 발견 사항 수가 어떻게 변하는지 비교합니다.

보안 요약에서 애플리케이션 메타데이터, 권한, 컴포넌트, 발견 사항, 인증서, 문자열, 파일, 데이터베이스로 이동합니다.

인터페이스는 Bootstrap 5와 네이티브 JavaScript를 사용합니다. 탐색, 실시간 테이블 필터링, 정렬, 페이지네이션, 확인, 스캔 상태 업데이트에는 jQuery가 필요하지 않습니다.
분석 규칙은 Patterns 화면에서 활성화하거나 비활성화할 수 있습니다. 일부 하드코딩된 패턴은 apkleaks에서 파생되었습니다.

| 서비스 | 역할 |
|---|---|
| Django 5.2 LTS | 웹 애플리케이션 및 REST API |
| PostgreSQL 16 | 영구 애플리케이션 데이터 |
| Celery | 백그라운드 APK 분석 |
| RabbitMQ 4.2 | 작업 브로커 |
| Nginx | HTTP 또는 TLS 진입점 |
애플리케이션 런타임은 Python 3.12를 사용합니다. APK 디컴파일은 JADX에서 제공합니다.
토큰을 요청합니다:
POST /api/v1/auth-token/
이후 요청을 인증합니다:
Authorization: Token <api-key>
| 문서 | 경로 |
|---|---|
| Swagger UI | /swagger/ |
| ReDoc | /redoc/ |
| OpenAPI JSON | /swagger.json |
| OpenAPI YAML | /swagger.yaml |
다음 기능은 기본적으로 비활성화되어 있으며 .env.example을 통해 구성됩니다:
유효한 엔드포인트와 자격 증명이 있는 서비스만 활성화하십시오.
인증서와 개인 키를 nginx/ssl에 배치한 다음 TLS 구성을 시작합니다:
docker compose -f docker-compose.prod.yaml up -d
애플리케이션은 https://localhost에서 사용할 수 있습니다.
로컬 테스트를 위해 1일짜리 자체 서명 인증서를 생성합니다:
openssl req -x509 -nodes -days 1 -newkey rsa:4096 \
-subj "/C=ES/ST=Madrid/L=Madrid/O=Example/OU=IT/CN=localhost" \
-keyout nginx/ssl/nginx.key \
-out nginx/ssl/nginx.crt