Mobile Security Scanner

SkillCloud & infra

Use when scanning an Android APK/AAB for security vulnerabilities. Integrates with MobSF (Docker), with basic analysis as a fallback.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Mobile Security Scanner skill

What this skill tells your AI

The instructions your AI receives, as published by gonzalezpazmonica/pm-workspace in .claude/skills/mobile-security-scanner/SKILL.md and read by ahel’s review.

Triggers

  • "escanea el APK", "analiza la app Android", "seguridad android"
  • "mobile security", "MobSF", "análisis APK"
  • "permisos peligrosos", "android:debuggable", "allowBackup"
  • Post-build de la app Android (complementa android-autonomous-debugger)

Prerequisitos

  • python3 o xmllint — para android-manifest-audit.sh (siempre disponible)
  • apktool — opcional; para decompilación y análisis de código
  • docker — opcional; para MobSF análisis completo
  • adb — sólo para modo dynamic

Flujo de ejecución

1. Auditoría rápida del AndroidManifest (sin dependencias externas)

bash scripts/android-manifest-audit.sh path/to/AndroidManifest.xml

Detecta: debuggable=true (CRITICAL), allowBackup=true (HIGH), exported components sin permission (HIGH), permisos peligrosos (MEDIUM).

2. Análisis estático completo del APK

bash scripts/mobile-security-scan.sh --apk path/to/app.apk --mode static

Con MobSF disponible: análisis completo vía API. Sin MobSF: análisis básico con apktool + grep de patterns.

3. Análisis dinámico (requiere dispositivo ADB)

bash scripts/mobile-security-scan.sh --apk path/to/app.apk --mode dynamic

Requiere dispositivo Android conectado via USB con ADB habilitado. Si no hay dispositivo, degrada automáticamente a modo static.

MobSF — Arranque Docker

# Iniciar MobSF localmente (sin cuenta ni API key externa):
docker run --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf

# Configurar API key (extraer desde la UI en http://localhost:8000):
export MOBSF_API_KEY="tu-api-key"
export MOBSF_URL="http://localhost:8000"

MobSF corre completamente offline. No envía datos a servicios externos.

Severidades y umbrales

SeveridadEjemploGate
CRITICALdebuggable=true en release, keys hardcodeadasBloquea deploy
HIGHallowBackup=true, exported sin permissionBloquea deploy
MEDIUMPermisos peligrosos innecesariosWarning, ticket
LOWConfiguración subóptimaInformativo

Bloqueante: CRITICAL o HIGH. MEDIUM y LOW no bloquean el pipeline.

Patterns detectados en análisis básico

  • Hardcoded secrets: password, api_key, secret, private_key en strings.xml
  • Código de debug: Log.d, Log.v, BuildConfig.DEBUG en smali/Java
  • Permisos peligrosos: lista completa en android-manifest-audit.sh
  • Componentes exportados sin protección de permisos

Output

  • output/security/mobile-scan-YYYYMMDD.json — findings del APK
  • Clasificación por OWASP Mobile Top 10 2024 (cuando MobSF disponible)
  • Report N3 (confidencial) — no versionar

Integración con android-autonomous-debugger

# Obtener APK path desde build:
APK_PATH=$(./gradlew buildAndPublish 2>&1 | grep "APK:" | awk '{print $2}')
# Escanear:
bash scripts/mobile-security-scan.sh --apk "$APK_PATH"

Instalación MobSF sin Docker

pip3 install mobsf
mobsf  # arranca en http://localhost:8000

Signals

GitHub stars
50
Forks
12
Last commit
Sep 2026

ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
mobile-security-scanner
Source
github.com/gonzalezpazmonica/pm-workspace