HOME / USER GUIDE

How to use Spartyx.

A complete walkthrough — from your first sign-in to running scans, understanding findings, chaining them into attack paths, fixing issues, and exporting compliance-ready reports. No security background required.

What Spartyx is

Spartyx is a security scanner. You point it at your code (or a live website) and it reports the security problems it finds — hardcoded secrets, SQL injection, command injection, vulnerable dependencies, misconfigurations, and more — along with plain-language explanations and how to fix each one.

It works in three levels of depth so you only pay for the intelligence you need: a fast deterministic pass, an intelligence pass that cross-references real-world vulnerability databases, and a deep AI review. You can scan a GitHub repository, a public repo URL, an uploaded folder, a pasted snippet, or a live website.

Getting started

  1. 1
    Sign in
    Click Sign in in the top-right and authenticate. New here? Join the beta from the landing page first.
  2. 2
    Register this device
    The first time you open the dashboard, Spartyx asks you to register your browser as a trusted device. Open the Overview tab (or the Scan workspace) and click Register this device. This is a one-time security step — scans stay locked until it's done.
  3. 3
    Open the Scan workspace
    From the left sidebar choose Scan workspace. This is where every scan begins.
If the Start scan button is greyed out and says "Device needed", you simply haven't registered this browser yet — use the Register button right there on the panel.

The three scan modes

Before starting a scan you pick a Review depth. Each one builds on the previous:

Baseline

Fast, deterministic rules for code, secrets, and configuration. Pure static analysis — no external lookups, no AI. Best for quick pull-request checks and first-pass triage.

Intelligence

Everything in Baseline, plus your dependencies are matched against real-world vulnerability databases (OSV.dev, CISA KEV, NVD, GitHub Advisories). You get CVE IDs, fixed versions, and advisory links. Best when dependencies and advisories matter.

Deep Review

Everything above, plus an AI (Gemini) semantic review that reasons about your code's logic and explains the actual attack technique behind each issue. Best for release review and evidence quality.

Deep Review takes longer and uses AI. If the AI is ever unavailable, the scan doesn't fail — it falls back to the deterministic result and tells you so in the scan summary.

Running a code scan

In the Scan workspace you choose a target (step 1), a review depth (step 2), confirm consent and retention (step 3), then start (step 4). There are four ways to give Spartyx a target:

GitHub repository (recommended)

Install the Spartyx GitHub App once to unlock private-repo import, branch selection, incremental scans, and code maps. Then pick a repository and branch and scan.

Public GitHub URL

Paste any public repository URL (e.g. github.com/owner/repo). No GitHub App or login to that repo required — it runs a quick Baseline check on the bundled source.

Upload a folder

Select a local folder from your machine. Spartyx uploads only supported source files (after you approve the consent checkbox) and scans them securely.

Paste source

Paste a single file or focused snippet when you just want to check one piece of code fast.

  1. 1
    Pick a target
    Choose one of the four options above.
  2. 2
    Choose review depth
    Baseline, Intelligence, or Deep Review.
  3. 3
    Review retention & consent
    Decide whether Spartyx keeps your source after the scan (for audit/admin review) and, for uploads, approve the upload consent checkbox.
  4. 4
    Start scan
    Click Start scan. Progress shows live in the panel; large repositories run as a background job you can track.

Website surface scan

The Website surface tab checks a live site from the outside: security headers, cookie flags, redirects, technology fingerprinting, and exposed sensitive files. Passive checks (headers, metadata) need only a URL. Deeper "active" or "red team" testing requires you to fill in a written authorization with scope and approval evidence first — that's a safeguard so nobody scans a site they aren't allowed to.

Only scan websites you own or are explicitly authorized to test. Active testing without permission can be illegal.

Reading your results

When a scan finishes you get a prioritized triage list. Each finding shows:

  • Severity — Critical, High, Medium, or Low. Start at the top.
  • What & where — the vulnerability type, the file, and the exact line.
  • Evidence — the specific code that triggered it.
  • Reachability — whether the risky code is actually reachable from user input (confirmed, guarded, or unproven), so you can tell real risk from noise.
  • Remediation — how to fix it. In Deep Review, an AI explanation of the attack technique is included.

Dependency findings additionally show the CVE/GHSA identifiers, the fixed version to upgrade to, and links to the official advisories.

Attack chains

A single finding tells you what's wrong in one spot. An attack chain shows how an attacker would string several findings together into one multi-step path — for example, a route missing an authentication check that then reaches a SQL injection is one "unauthenticated database breach" story, not two unrelated rows.

Open the Attack Path tab to see them. Each chain is laid out in stages — Entry PropagationImpact — with a plain-language narrative and a risk score. Expand a chain to walk through every step, file, and line. Chains only appear when two or more related findings actually connect, so they highlight your most dangerous, realistic exposures.

Fixing issues

The Fix queue tab tracks remediation. For findings in a connected GitHub repository, Spartyx can generate a remediation pull request for you — a proposed code patch you review and merge on GitHub. You can also set a finding's status (open, in progress, resolved, false positive) and assign it, so a team can work through the queue together.

Reports & exports

From the results panel you can export your findings in three formats:

PDF report

A human-readable security report — good for sharing with stakeholders or attaching to a release review.

SARIF

The standard machine format for security findings. It also powers the automatic GitHub Code Scanning integration (next section).

SBOM (CycloneDX)

A Software Bill of Materials — your full dependency inventory plus the known vulnerabilities affecting it, in CycloneDX 1.5 JSON that compliance tools can ingest. Click the SBOM button next to PDF report.

GitHub Code Scanning

When you scan a repository through the GitHub App, Spartyx automatically pushes the findings into GitHub's own Security tab and as pull-request annotations — so they show up right where your team already works, no manual upload needed.

This requires the Spartyx GitHub App to have the "Code scanning alerts: read & write" permission. If findings aren't appearing in GitHub, an org admin needs to grant that permission and re-authorize the installation. Everything else keeps working regardless.

Scanning from CI

A build pipeline has no browser to sign in with, so it authenticates with an API key instead. Create one under Settings → API keys in your dashboard. The key is shown once — we store a hash of it, not the key itself, so it cannot be shown again. Treat it like a password.

  1. 1
    Create the key
    Dashboard → Settings → API keys → Create key. Name it after whatever will use it, so a list of keys stays readable later.
  2. 2
    Store it as a repository secret
    In GitHub: Settings → Secrets and variables → Actions → New repository secret, named SPARTYX_API_KEY. Never paste a key into a workflow file — that commits it to your history.
  3. 3
    Add the workflow
    Commit the file below as .github/workflows/security.yml. There is no checkout step, because the scan reads your repository through the API rather than from the runner's disk.
name: Security

on:
  pull_request:

permissions:
  contents: read          # read the repository to scan it
  pull-requests: write    # write the summary comment

jobs:
  spartyx:
    runs-on: ubuntu-latest
    steps:
      - uses: waleed-khan13/spartyx-action@v1
        with:
          api-key: ${{ secrets.SPARTYX_API_KEY }}
          fail-on: none   # report first; gate once you have looked

Open a pull request and a comment appears when the scan finishes. Every later push edits that same comment rather than adding another, so the thread stays readable.

It asks for no new access

Your repository is read using the workflow's own GITHUB_TOKEN, which GitHub scopes to that single run and invalidates when the job ends. The Spartyx GitHub App is not involved and need not be installed. Delete the workflow and there is nothing left to revoke.

Choose when it blocks a merge

fail-on decides which severity fails the job: critical, high, medium, low, or none. Start at none. Once you have seen what a first scan reports on your codebase, raise it and make the check required in your branch protection rules.

The mode input takes the internal name for each review depth rather than the label used elsewhere in the product:

In the dashboardIn the workflow
Baselineghost
Intelligencerecon
Deep Reviewaxiom
GitHub deliberately withholds repository secrets from workflows triggered by a pull request from a fork, so those runs cannot scan — the key never reaches them. If you take contributions from forks, scan on push to your own branches instead.

Every input, more workflow recipes, and how to send findings to GitHub's Security tab are documented at github.com/waleed-khan13/spartyx-action.

Troubleshooting & FAQ

The Start scan button is greyed out.

You either haven't registered this browser as a trusted device, or you haven't selected a target yet. Register the device from the panel, then pick a repo/upload/URL/snippet.

My scan finished very fast — did Deep Review actually run?

Check the scan summary. If the AI was unavailable it will say so and note it used the deterministic fallback. Also note that AI models are genuinely fast — a quick finish isn't necessarily a sign it didn't run.

Why does a GitHub repo scan only cover some files?

Very large repositories are capped at a maximum number of imported files per scan to keep scans fast and affordable. Split large monorepos or scan specific subfolders if needed.

What's the difference between Archive and Delete permanently?

Archive hides a scan from your history but keeps it for audit recovery. Delete permanently removes the record from the database for good — it cannot be undone.

Is my source code stored?

Only if you choose to retain it. Each scan has a retention control, and you can purge the stored source of any scan afterwards while keeping the findings.

Ready to run your first scan?

Head to your dashboard, register your device, and point Spartyx at a repository.