hunting-mobile-secret-and-storage-exposurelisted
Install: claude install-skill UnboundCompute/security-agent-skills
# Hunting mobile secret and storage exposure: a real credential a real reader can reach
Not every string that looks like a key is a secret, and not every file an app writes is exposed, so this
hunt turns on two questions the noisy scanners skip: is this value actually a credential, and can a party
who should not read it actually reach it. A public app identifier shipped in the binary is meant to be
public; a value inside the platform sandbox is readable only by the app itself on a non-compromised device.
The bug is a live credential in the package or in storage that a reachable party (another app, a
device-level reader, a backup, a log sink) can read. You hunt it by finding the mobile-specific sinks and
adjudicating both the value's sensitivity and the reader's reach. Stay on mobile-specific storage and
packaging; server-side secret handling is a different skill.
## When to use
- You have a mobile app package, its embedded resources, and the code that writes storage and logs.
- You see an embedded key or token, a file written to storage, a cache, a log line, or a backup rule.
- You want to know which values are real credentials and which of those a party can actually read.
## Scope check
Audit only apps you own or are authorized to assess, and extract secrets only from a package or device in
scope, a real embedded credential is a live secret. Treat any credential you surface as sensitive and do
not use it. If you can't name the authorization, stop.
## The loop
1. **Sep