Skip to main content
The Binarly Transparency Platform detects hardcoded secrets — credentials, tokens, keys, and other sensitive material — across all content within an analyzed image. Detection is architecture-independent: the engine normalizes everything it can extract from an image and scans it for secrets, regardless of the processor architecture the binary targets. Supported inputs include Docker container images, POSIX-based firmware (router firmware, BMC firmware), disk images, and archives. Any format the platform can unpack is eligible for secrets detection.

What is analyzed

The engine classifies extracted content into component types and applies the appropriate scanning strategy to each.
Component classWhat is scanned
Confidential filesOver 100 recognized files that may contain credentials, e.g. .bash_history, .zshrc
Source filesC, C++, C header files, Go, HTML, JavaScript, Java, JSON, Julia, Lisp, Lua, Markdown, OCaml, Perl, PHP, Python, R, Ruby, Shell, SQL, XML, YAML
PlaintextUnstructured text content
Python and Java bytecodeCompiled bytecode (.pyc, .class files)
Docker configsContainer configuration files
Docker image shadowed filesFiles deleted during the Docker image build process; not present in the final image layer
Git repositoriesGit repository content (including the commit history) and repository configuration
Database filesLMDB
Shadow password filesUnix-like /etc/shadow, with password hash cracking support
POSIX binariesRaw byte content — not disassembled or code-analyzed
POSIX binaries (ELF executables and shared libraries) are scanned as raw data. The engine does not disassemble or decompile them for secrets detection — it extracts readable strings and applies pattern matching against binary content. Secrets compiled into a binary or embedded as string literals are detected through this method. Some secret types have limited or no coverage in POSIX binaries: secrets that are encoded, split across memory, or reconstructed at runtime are not detected.

Detection method

The detection engine uses 200+ regex-based rules that match on the structure and format of known secret types: API key prefixes, JWT header patterns, webhook URL formats, URL credentials, and similar signatures. Entropy is calculated for each candidate match and reported alongside the finding. Shadow password file entries are parsed and each hashed password is checked against a list of 1,000+ common passwords. Supported hash formats: md5crypt, sha256crypt, and sha512crypt.

What is detected

Secret typeExamples
CredentialsService passwords, URL credentials
API credentialsAPI keys and tokens
OAuth credentialsClient secrets, access tokens
Encryption keysSymmetric keys embedded in firmware or application binaries
JWT tokensSigned authentication tokens
Webhook URLsSlack, Teams, and other service webhook endpoints
Generic sensitive dataGeneric API keys and tokens of an unknown format
Signed URLSigned URLs with embedded access credentials, e.g. AWS S3 signed URLs

Validation

Each secret finding carries a validity status populated by a dedicated validation service that calls out to external APIs to confirm whether the credential is still active.
StatusMeaning
ValidThe credential was confirmed active against an external service
InvalidThe credential was checked and found inactive or revoked
UndeterminedThe credential could not be checked: the service was unreachable, the secret type is not covered by a validator, or the check returned an inconclusive result
UnspecifiedThe validity status is not specified (for finding types other than Secret). Select this value when filtering by validity to include non-secret findings alongside a specific secret validity status.
All secrets are reported regardless of validity status. Undetermined does not mean a credential is inactive: it means the check could not be completed. Validation runs automatically on SaaS. On on-prem deployments, it is disabled by default.

Finding details

Each secrets finding includes:
  • Location — the file path and component within the analyzed image where the secret was found
  • Secret value — the extracted string, shown as decoded text
  • Entropy — the entropy of the identified secret value
  • Validity — the validation status: Valid, Invalid, or Undetermined
  • CWE classification — the associated weakness class (hardcoded secrets are classified under CWE-798)