New here? Start with an interactive guide
Step-by-step walkthroughs for the web scanner, CLI, GitHub Action, and API — written so a non-technical founder can follow along without a security background.
How does the scanner actually work?
Regex + AST dual-layer architecture, the taint tracker's source/sink coverage, the labeled fixture corpus, and the methodology used for fair comparison against Semgrep and Bearer. All open source, all reproducible locally.
Quick Start
XploitScan can be used four ways:
Drag-and-drop files or paste a GitHub URL at xploitscan.com/scan
Run npx xploitscan scan . in your terminal
One-click install for auto-scans + inline PR comments. Setup guide
Auto-scan every PR with SARIF output
CLI Usage
No account required. Install nothing — just run with npx. Your code stays 100% local.
$ npx xploitscan scan .Scan the current directory$ npx xploitscan scan ./srcScan a specific folder$ npx xploitscan scan . --format jsonOutput results as JSON$ npx xploitscan scan . --format sarifOutput SARIF for GitHub Security tab$ npx xploitscan scan . --sbomGenerate CycloneDX 1.4 SBOMOutput Formats
text — Human-readable terminal output (default)json — Machine-readable JSON with all findingssarif — SARIF for GitHub Security tab integrationPre-commit Hook
Scan your code automatically before every git commit. Catches security issues before they land in your repo.
$ npx xploitscan hook installInstall the hook in your git repo$ npx xploitscan hook uninstallRemove the hookHow it works
xploitscan scan . --diff HEAD on every commitgit commit --no-verifyGitHub Action
Automatically scan every push and pull request. Findings appear in the GitHub Security tab.
name: Security Scan
on: [push, pull_request]
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run XploitScan
uses: bgage72590/xploitscan-action@v1
with:
path: '.'
format: 'sarif'
fail-on: 'critical'
- name: Upload SARIF
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: xploitscan-results.sarifAction Inputs
path — Directory to scan (default: .)format — Output format: text, json, or sarif (default: sarif)fail-on — Fail if findings at this severity or above: critical, high, medium, low, none (default: critical)sarif-file — Path for SARIF output (default: xploitscan-results.sarif)Action Outputs
grade — Security grade (A+ to F)score — Security score (0-100)findings-count — Total number of findingscritical-count — Number of critical findingshigh-count — Number of high findingsSecurity Badge
Add a security grade badge to your README. Configure your badge in Settings.
[](https://xploitscan.com)<a href="https://xploitscan.com"><img src="https://xploitscan-api.vercel.app/api/badge/A" alt="XploitScan"></a>Configuration
Add a .xploitscanrc file to your project root to customize scan behavior. All settings are optional.
// .xploitscanrc
{
"rules": {
"include": ["VC001-VC131"],
"exclude": ["VC042"]
},
"format": "json",
"fail-on": "high",
"ignore": ["node_modules", "dist", ".git"]
}SBOM Generation
Generate a Software Bill of Materials in CycloneDX 1.4 format. SBOMs catalog all dependencies and their versions for supply chain security.
npx xploitscan scan . --sbom to generate a CycloneDX SBOM alongside your scan results.xploitscan-sbom.json by default.Compliance Mapping
Every rule maps to industry standards so you can track compliance posture directly from scan results.
Trust Service Criteria mappings
Annex A control mappings
Web application risk coverage
Common Weakness Enumeration IDs
API Reference
The XploitScan API is available at xploitscan-api.vercel.app. Authenticated endpoints require your API key in the Authorization header.
POST /api/scan— Submit files for scanningGET /api/scans— List scan historyGET /api/scans/:id— Get scan results by IDGET /api/badge/:grade— Security badge image (public)Supported Languages & Files
Languages
JavaScript, TypeScript, Python, Ruby, Go, Rust, Java, PHP, Swift, Kotlin, C#, Dart, C/C++, and more.
Config & IaC
Dockerfile, docker-compose, Terraform, Kubernetes manifests, GitHub Actions workflows, .env files, package.json, and more.
Need Help?
Questions or feedback? We're here to help.
Contact Us