Claude Code pro - a major use - app vulnerability analysis

JackKirk

Well-Known Member
Licensed User
Longtime User
I thought this deserved a new thread...

As documented here, I have really been pounding Claude Code pro, auditing customer facing sister B4A/i apps.

Once I finished these audits I got to thinking "I wonder if it could do a vulnerability analysis".

Could it ever, the B4i version was the most interesting...

After doing a Tools -> Build Server -> Build Release App then Tools -> Build Server -> Build Release App -> Download Last Build to build the release .ipa

An initial prompt was similar to:

"there is an iOS .ipa at D:\xxx\xxx\xxx\xxx\xxx\Objects\xxx.ipa --- analyse for vulnerabilities"

It did a fairly superficial analysis, initial report included:
Static analysis on Windows: bundle structure; binary Info.plist (decoded
with a custom bplist parser - no plutil on Windows); embedded.
mobileprovision entitlements; Mach-O load-command hardening flags;
string/secret scan of 5 MB executable. NO Objective-C decompilation -
that needs macOS tooling (otool/class-dump) or Ghidra/Hopper - so no
code-flow verification (deep-link handler, WebView config, in-code
crypto). Config / entitlements / binary-metadata / strings only.

of particular interest: NO Objective-C decompilation - that needs macOS tooling (otool/class-dump) or Ghidra/Hopper

I don't have Ghidra (a free,open source software reverse engineering tool framework developed by the US Defence Dept/National Security Agency).

Spooky - and baulked at what looked like an arduous install process - including prerequisite of JDK 21.

I had JDK 19 installed so i prompted Claude Code with something like:

"set up Ghidra headless here against my JDK 19 and run its decompiler on xxx.ipa"

Churn churn churn - it went away and downloaded Ghidra and tried to run it with JDK 19.

It eventually decided JDK 19 was not going to work - so with my blessing - it installed JDK 21 ant then successfully decompiled my ipa.

After at least 45 minutes of decompiling - into D:\xxx\xxx_decompiled - including a 9MB objective c file and a few other bits.

So I then prompted:

"do a vulnerability analysis using files in D:\xxx\xxx_decompiled"

And after more to and fro during which I gave some details of related security measures I have taken I prompted.

"give a document level vulnerability assessment"
================================================================
SECURITY ASSESSMENT - xxx.ipa (B4i / iOS)
================================================================

SUBJECT ARTIFACT
----------------
File : D:\xxx\xxx\xxx\xxx\xxx\Objects\xxx.ipa
Bundle ID : xxx
App name : xxx
Version : xxx
SHA-256 : xxx
Built : 2026-06-28 15:38 (Xcode 26 / iOS SDK 26)
Min OS/arch : iOS 16.0 / arm64
Assessed : 2026-06-29 - static + decompilation

METHOD
------
- IPA unpacked; binary Info.plist decoded (custom bplist parser);
embedded.mobileprovision entitlements; Mach-O load-command hardening;
string/secret scan of the 5 MB executable.
- Full decompilation: Ghidra 11.4.3 headless, every function decompiled
(9,611 functions / 9.2 MB pseudocode), then grepped for security-
relevant iOS API call sites (selectors are not obfuscated).
- Cross-referenced against project source and the developer-supplied xxx
policies for the app's xxx identity.
No dynamic/runtime testing (no jailbroken device).

OVERALL
-------
Strong, layered posture. Both static config findings are remediated and
verified in the binary; decompilation found no certificate-validation
bypass, a sandboxed WKWebView, and a secure RNG. The embedded long-lived
xxx key - the one structural risk - is not statically recoverable and its
blast radius is well contained by xxx least-privilege, encryption, and
access-anomaly monitoring. No open High/Medium findings.

FINDINGS & STATUS
-----------------
xxx

VERIFIED SECURITY STRENGTHS
---------------------------
xxx

NOTES / RECOMMENDATIONS
-----------------------
xxx

LIMITATIONS
-----------
Static + decompilation only; no dynamic/runtime testing or live-traffic
interception. Decompiler auto-analysis hit its time cap (high coverage,
not maximal-fidelity types). Deep-link handler and xxx scope per developer
confirmation.

================================================================
End of assessment
================================================================

SORRY - I edited out all the juicy stuff :)
 
Last edited:
Top