A Chrome extension zip or crx. Replace the demo seed, or mount your package.
Results
Permission and threat findings, plus report.json.
How It Works
The package is unpacked and checked for sensitive permissions and known threat patterns.
Overview
Chrome extensions are a trust boundary sitting next to every tab. Broad host permissions, remote code patterns, and sensitive API use need a repeatable static check on the packages you care about, plus a diff when the zip changes.
This is a standing check for continuous security testing. You seed a demo MV3 zip (or bring your own .zip / .crx / store id), run BHUSA 2026 Arsenal ThreatXtension for permission and threat evidence, and correlate findings with a retest delta when the package changes.
It sits next to appsec graphs such as XSS Scanner. This Collection unit is the extension package path: demo seed by default; swap in your .zip / .crx or set store url/id on Scan.
Pipeline
Seed · Demo sensitive extension zip emits a small MV3 fixture for the smoke path.
Scan · ThreatXtension runs a static manifest and threat pass on that package.
Results · Correlate merges the scan folder into findings, inventory, remediation, and retest_delta outputs.
Inputs
Seed extension zip. Default demo MV3 fixture. Replace with your .zip or .crx, or set store url/id on the scan node.
LLM SAST (optional). Off by default (THREATXTENSION_SKIP_LLM). Turn it on and set Vault OpenAI / VirusTotal keys when you want those passes.
Outputs
findings.jsonl. Permission and threat hits with remediation hints.
inventory.jsonl. Extension packages observed in the run.
retest_delta.jsonl. Schedule-as-diff scaffold when the package changes.