Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add allsmog/vuln-scout --skill mobile-androidgit clone --depth 1 https://github.com/allsmog/vuln-scoutWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/allsmog/vuln-scout/mobile-android)<a href="https://agentmods.dev/skills/allsmog/vuln-scout/mobile-android"><img src="https://agentmods.dev/badge/skills/allsmog/vuln-scout/mobile-android/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/allsmog/vuln-scout/mobile-android"><img src="https://agentmods.dev/badge/skills/allsmog/vuln-scout/mobile-android.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.01648 |
| Opus 5 | $0.00050 | $0.00824 |
| Sonnet 5 | $0.00020 | $0.00330 |
| Haiku 4.5 | $0.00010 | $0.00165 |
Grade A, and why
Mobile Android Whitebox Audit scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Mobile Android Whitebox Audit
When this skill applies
The user is reviewing a decompiled Android target. Signals to look for:
- The working directory or referenced target contains
jadx_out/,jadx_out2/,apktool_out/,AndroidManifest.xml,*.smali, or jadx's signaturedefpackage/*.javafiles (obfuscated default-package classes). - The user mentions an APK, xAPK, or an Android package name
(
com.example.*,com.acme.app, etc.). - A previous run produced findings under
<target>/.claude/findings.jsonwhosetypestarts withmobile-*.
Workflow: prefer /vuln-scout:mobile-audit
For Android targets, the regular /vuln-scout:scan only sees one of the two
decompilation trees (code OR resources). Use the unified driver instead:
/vuln-scout:mobile-audit <target-root>
The driver auto-discovers jadx_out/sources (or jadx/sources,
decompiled/sources, android-decompiled/sources, src/main/java) for code
findings and apktool_out (or apktool, res) for manifest + NSC findings,
runs the orchestrator on each, and merges the artifacts into a single
<target>/.claude/findings.json. Use the --profile deep flag when CodeQL /
Joern are installed (run python3 vuln-scout/scripts/doctor.py to confirm).
High-signal detector cheatsheet
VulnScout ships dedicated mobile detectors. Each produces normalized findings
with the standard schema (stable_key, kind, severity, type, etc.).
| Detector | Type slug | What it finds |
|---|---|---|
detect_webview_js_injection |
mobile-webview-js-injection |
A <script> block or var X = JS literal assembled from native StringBuilder/helper calls — the in-WebView card-tokenization shape. Dispatched via evaluateJavascript somewhere in the call graph. |
detect_webview_unsafe_config |
mobile-webview-file-access, mobile-webview-js-interface |
setJavaScriptEnabled(true) + setAllowFileAccess(true) / addJavascriptInterface(). |
detect_remote_controlled_url |
mobile-remote-controlled-endpoint |
URL fetched from a config key (getString("*_URL"...)) and dispatched via OkHttp/Retrofit/CoroutineCallFactory — the remote-config URL-injection shape. |
detect_network_security_config_gaps |
mobile-nsc-no-pinning, mobile-nsc-narrow-pinning, mobile-nsc-cleartext |
Missing or partial cert pinning, cleartext traffic permitted. |
detect_android_manifest_issues |
mobile-exported-component-no-permission, mobile-debuggable-build |
Exported activity/service/receiver with no permission guard; debuggable production build. |
detect_android_storage_backup_issues |
mobile-allow-backup-true, mobile-exported-provider, mobile-deeplink-host-wildcard |
allowBackup=true; exported ContentProviders without permission; wildcard deeplink hosts. |
detect_insecure_crypto |
mobile-insecure-crypto, mobile-insecure-random |
AES default mode (ECB) / DES / 3DES / RC4 / MD5 / SHA-1 / HmacMD5; Math.random() / new Random() used for tokens/IVs/keys. |
detect_sensitive_sharedprefs |
mobile-shared-prefs-sensitive |
Tokens / passwords / JWTs / PANs written to non-Encrypted SharedPreferences. |
detect_log_sensitive_data |
mobile-log-sensitive |
Log.X call interpolating a variable whose name maps to a sensitive identifier. |
detect_insecure_tls |
mobile-insecure-tls |
Empty checkServerTrusted / always-true HostnameVerifier. |
detect_mobile_intent_redirection |
mobile-intent-redirection |
Activity re-launches an externally provided Intent (StrandHogg shape). |
detect_pendingintent_mutable |
mobile-pendingintent-mutable |
PendingIntent.get* with FLAG_MUTABLE. |
detect_hardcoded_secrets_simple |
secret-hardcoded, secret-private-key |
AKIA / sk_live_ / ghp_ / xoxb / -----BEGIN PRIVATE KEY----- blocks. |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 102 lines · 100 tokens per session scan A aa067a74e77a
Mobile Android Whitebox Audit is a skill published in the GitHub repository allsmog/vuln-scout (24 stars, last pushed 2mo ago), licensed MIT. It adds 100 tokens to every session and 1,648 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
sast-config
Reviews and tunes SAST tool configurations against OWASP ASVS 4.0.3 and CWE Top 25. Auto-invoked when reviewing Semgrep rules, CodeQL queries, SAST CI integration, or false positive triage workflows. Produces a SAST maturity assessment covering rule authoring, severity tuning, custom rule development, and CI…
sast-semgrep
Static application security testing (SAST) using Semgrep for vulnerability detection, security code review, and secure coding guidance with OWASP and CWE framework mapping. Use when: (1) Scanning code for security vulnerabilities across multiple languages, (2) Performing security code reviews with pattern-based…
sast-semgrep
Static application security testing (SAST) using Semgrep for vulnerability detection, security code review, and secure coding guidance with OWASP and CWE framework mapping. Use when: (1) Scanning code for security vulnerabilities across multiple languages, (2) Performing security code reviews with pattern-based…
test-native-extension
Validate a third-party control repo across four automated layers plus one printed manual recipe. Layer 1 asserts native-source structure (Android getName() and iOS +moduleName to manifest nativeModule; @ReactMethod / RCTEXPORTMETHOD to methods; no @ReactModule) plus load/init readiness (ReactPackage public no-arg…
add-native
Public entry point for native device capabilities and native controls — camera, image picker, barcode/QR scanner, document picker, file picker, secure storage, file system, sharing, PDF generation/viewing, pen/signature capture, background GPS/geolocation tracking, or supported local file workflows — in a Power Apps…
audit-ppmplugin
Statically audit a built .ppmplugin before wrap testing. Checks archive layout, manifest compatibility, bundle consistency, Android DEX integrity and SDK leakage, iOS framework structure, native source-to-receiver alignment, and the PCF composite-key/sendAsync transport contract. Reports CRITICAL, WARNING, and INFO…