Skip to content

Add skill: bypassing-ssl-pinning-in-flutter-apps - #104

Open
michelle-hartono wants to merge 1 commit into
mukul975:mainfrom
michelle-hartono:add-flutter-ssl-pinning-skill
Open

Add skill: bypassing-ssl-pinning-in-flutter-apps#104
michelle-hartono wants to merge 1 commit into
mukul975:mainfrom
michelle-hartono:add-flutter-ssl-pinning-skill

Conversation

@michelle-hartono

Copy link
Copy Markdown

Summary

Adds a new mobile-security skill: bypassing-ssl-pinning-in-flutter-apps.

Flutter apps resist normal mobile interception because dart:io HttpClient runs on a statically-linked BoringSSL compiled into libflutter.so / the iOS Flutter framework. It ignores the system proxy and validates certificates in native code, so a user CA + Objection/Frida "universal" Java/ObjC hooks do not work. The existing performing-mobile-app-certificate-pinning-bypass skill targets the platform TLS stack and does not cover this case — this fills that gap.

What it covers

  • Detecting a Flutter build (Android + iOS).
  • Forcing proxy-blind traffic into Burp — reFlutter forced proxy, and a PCAPdroid + gost SOCKS5→HTTP bridge.
  • Defeating BoringSSL validation — reFlutter patch/repackage, or a Frida pattern-scan hook on the stripped engine (scripts/flutter-tls-bypass.js, with placeholder patterns pointing to the maintained NVISO set).
  • Keeping Firebase / native-SDK auth working — Firebase (FlutterFire) runs on the native SDK, not the Dart stack, so blanket MITM breaks OTP login / App Check. The skill routes Google/Firebase CIDRs around Burp (gost bypass=) so auth succeeds legitimately while first-party API traffic is still intercepted. This is selective routing, not an auth bypass.
  • Optional Dart symbol recovery with blutter.

Conventions

  • Follows the standard SKILL.md structure (Overview → When to Use → Prerequisites → Workflow → Key Concepts → Tools & Systems → Common Scenarios → Output Format) with references/standards.md, references/workflows.md, and scripts/.
  • Frontmatter includes nist_csf (PR.DS-01/02, ID.RA-01) and mitre_attack (T1557, T1040) mappings; MASVS-NETWORK/RESILIENCE noted in the standards reference.
  • Passes tools/validate-skill.py.
  • Includes an authorized-testing-only notice.

🤖 Generated with Claude Code

New mobile-security skill covering HTTPS interception of Flutter (Dart) apps,
which resist standard mobile MITM because traffic runs through a statically-linked
BoringSSL in libflutter.so that ignores the system proxy and validates certs in
native code. Existing pinning-bypass skills target the platform TLS stack and do
not apply.

Covers: Flutter build detection, forcing proxy-blind traffic through Burp (reFlutter
forced proxy and a PCAPdroid + gost SOCKS bridge), defeating BoringSSL validation
(reFlutter patch or Frida pattern hook on the stripped engine), and selectively
routing Firebase/native-SDK auth around the proxy so App Check and OTP login keep
working during interception. Android and iOS. Passes tools/validate-skill.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant