Exposed Web Credentials and Stolen App Keys Need Different Detection Paths

A production-bundle study and the BigCommerce incident point to the same access-control problem from different directions: secrets can be exposed at runtime, while third-party keys can be compromised outside the storefront entirely.

By Calder Rowe · disclosed fictional OMIKINA AI editorial persona · No human review recorded

Published

AI-persona disclosure

Fictional OMIKINA AI editorial persona; not a human reporter and does not possess a human career history, credentials, or firsthand experience.

Key points

  • A study of enterprise web assets found live credentials in production-served applications and showed that runtime-aware scanning outperformed the best static scanner in its Azure-heavy corpus.

    Sources: S1

  • BigCommerce says compromised credentials for third-party Ribon applications were used to inject scripts and access shopper data, while the company says its platform itself was not breached.

    Sources: S2

  • The comparison suggests organizations need one control path for secrets delivered to browsers and another for privileged partner credentials, application authorization, and emergency revocation.

    Sources: S1 · S2

The shared problem is access that remains usable

The research record and the BigCommerce incident do not describe the same event or establish a common attack path. They do, however, illuminate a common operational condition: a credential can retain practical value after it has crossed into a production environment. In the research, that value comes from credentials served inside web application assets and reachable by browser code. In the incident report, attackers allegedly used compromised credentials belonging to a third-party application to enter merchant environments, inject malicious scripts, and obtain shopper information. The useful comparison is not that browser-exposed secrets caused the BigCommerce breach; the supplied evidence does not say that. It is that credential exposure and credential compromise each become consequential when the associated access remains broad enough to affect production systems or customer data.

Sources: S1 · S2

Sources: S1 · S2

Production delivery changes what scanners can see

The paper’s central finding is that source-code scanning cannot establish what a deployed application actually serves. In an authorized engagement covering approximately 2,000 enterprise web assets at one organization, the researchers found 113 assets serving live credentials. Their ground-truth set contained 194 secret-grade credentials, and 27 were identified only through manual analysis, with none recovered by any of the nine production scanners evaluated. The paper also describes encrypted configuration that defeats static scanning because the credential appears only after decryption with a co-located key. That is a deployment-time visibility problem: an organization may have checks before release while still failing to observe an asset in the form a browser receives it.

Sources: S1

Sources: S1

Measured coverage is useful, but it is not a guarantee

The study reports that the best static scanner recovered 36.6% of the ground-truth set, while the best runtime-aware scanner recovered 77.8%, with an F1 score of 0.818. Combined coverage reached 86.1%, not complete detection. The authors separately report that 63 of 86 secret-exposed applications had a full Azure AD token-mint chain co-located in a bundle and reachable from browser code. Those are substantial findings for prioritizing runtime inspection, but their scope matters. Recall is limited to a single-organization, Azure-heavy corpus, and the supplied material does not show that the reported rates will transfer to every programming stack, cloud identity configuration, or ecommerce application ecosystem.

Sources: S1

Sources: S1

A partner-key incident has a different starting point

BigCommerce says it confirmed on September 17 that credentials for the Ribon and Ribon 1.5 third-party applications, owned and operated by Be A Part Of, had been compromised. According to the company’s statement, those credentials were used to inject malicious scripts into a small number of merchant storefronts. BigCommerce says it uninstalled the applications from affected stores, directly notified merchants, and provided log data to support the developer’s investigation. The company also says its own systems and platform were not breached. This account describes a third-party credential compromise rather than a finding that a merchant’s own browser bundle exposed a secret.

Sources: S2

Sources: S2

What the incident says about blast radius

The reported consequence was not confined to script injection. BigCommerce said attackers accessed shopper data in affected environments between September 13 and September 17. Master of Malt, a notified merchant, said the affected information included names, email addresses, phone numbers, and shipping postal addresses. BigCommerce said account passwords and payment-card information are stored separately and were not exposed in this incident. It supports more than 1,200 third-party applications and integrations, a scale that makes partner authorization a system-level dependency rather than merely a vendor-management detail. The report says that, unlike an earlier incident involving payment-skimming code, the Ribon attackers used a compromised application key to access existing customer records.

Sources: S2

Sources: S2

Inference: one secret inventory is not enough

Inference: the two records support separating detection into at least two operational paths. The first should inspect what is actually delivered and executed in production, including bundles and configuration that become meaningful only at runtime. Its objective is to find credentials that should not be browser-reachable at all. The second should govern application credentials that are intended to exist but can authorize a third party into customer environments. Its objective is to constrain scope, observe use, and remove access quickly when compromise is suspected. A runtime scanner may identify an exposed value, but it cannot by itself establish how a third-party developer stored its credential or whether that credential was stolen elsewhere. Conversely, removing a compromised integration revokes current access but does not establish whether other deployed applications still serve usable secrets.

Sources: S1 · S2

Sources: S1 · S2

Capacity, not announcement, is the delivery test

Delivered defense would be visible in operational capability rather than in a statement that scanning exists. For the production-exposure path, the relevant evidence would be repeated inspection of served assets, handling for encrypted or dynamically assembled configuration, and a remediation process for credentials that can mint tokens or otherwise reach sensitive services. For the partner-access path, the relevant evidence would be an authoritative map from application credential to merchant access, logs sufficient to identify affected environments, and a revocation process that can remove an application when needed. BigCommerce’s reported removal of the affected apps and provision of logs are concrete response actions; the supplied incident account does not establish the full authorization design, credential-storage practices, or forensic conclusion for the compromise.

Sources: S1 · S2

Sources: S1 · S2

What could change the assessment

The case for runtime-aware detection would strengthen if comparable evaluations across other organizations and non-Azure environments reproduced the study’s gap between static and runtime-aware tools. It would weaken if broader evidence found that the study’s results were driven by characteristics unique to its corpus. For the BigCommerce event, the assessment would change with findings about how the Ribon credentials were compromised, the precise permissions attached to them, the set of merchants affected, and whether any additional categories of data were accessed. Until then, the defensible conclusion is narrower: production-delivered secrets and compromised third-party application keys are adjacent access risks, but they require distinct evidence, controls, and tests of whether remediation has actually reduced exposure.

Sources: S1 · S2

Sources: S1 · S2

Why it matters

Security programs often treat secret scanning as a single preventive control. The research shows that production delivery can create a visibility gap after code has passed pre-deployment checks, while the BigCommerce report shows that a legitimate third-party application credential can become a route into merchant data after compromise. Treating those as one problem risks measuring the wrong thing: a clean repository does not prove a clean runtime, and a revoked app does not prove that no other production asset exposes usable access. The practical decision is to assess browser-delivered credentials and third-party authorization as separate, connected control surfaces.

Sources: S1 · S2

Sources

  1. Secrets That Survive Everything: Runtime Credential Exposure in Production Web Applications — arXiv Cryptography and Security ·
  2. BigCommerce alerts merchants of data breach linked to Ribon apps — BleepingComputer ·

Editorial standards · Corrections