mrkeyoor.com_
Fri 16 Oct 18:52 UTC
Dev Toolsevaluationupdated 15 Oct 2026

xss-specialist review

xss-specialist combines experimental AI research with a browser-backed system for checking cross-site scripting flaws on authorized targets. It lets a model advise on a suspected flaw, while requiring browser execution before calling it confirmed.

trackingstars / 7d
Verdict

Our xss-specialist run passed all 43 tests in 4 seconds after an install that used 5,868 MB, making the repository workable for a research evaluation. Use it to examine browser-backed findings and controlled model experiments. Its acknowledged coverage gaps and pilot status rule out treating it as your sole production web scanner.

We ran it

Lab card: what happened when we ran xss-specialistScreenshot of xss-specialist (github.com/SecFathy/xss-specialist)
Install✓ · 43s115 packages · 5868 MB
Build✓ · 1s
Tests✓ · 4s43 passed · 0 failed of 43 (pytest)
Known vulns0(pip-audit)
Repo188 files~6,923 lines of source · 6 MB · 0 CI workflows · tests dir

Answers from our run

Does xss-specialist build from source?

Dependencies installed in 43 seconds (115 packages), and the build succeeded in 1 seconds. We cloned commit b000fc3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do xss-specialist's tests pass?

Yes: 43 of 43 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does xss-specialist have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use xss-specialist?

Teams replacing a production web scanner: the README calls this a research prototype with authorized-pilot status.

What are the alternatives to xss-specialist?

Dalfox, ZAP. Our xss-specialist run passed all 43 tests in 4 seconds after an install that used 5,868 MB, making the repository workable for a research evaluation.

Setup2/5Passing setup, 5,868 MB footprint, and Apple Silicon model prerequisites
Docs4/5Specific backend, authorization, and coverage limits are documented
Community2/5September push and 155 stars; no issue history returned
Maturity2/5Passing tests; README explicitly limits the system to pilot use

Who it’s for

Application-security researchers studying model decisions alongside browser evidence.
Authorized testers willing to review pilot results and reproduce findings manually.
Apple Silicon users exploring the documented MLX training and inference workflows.

Who it’s NOT for

Teams replacing a production web scanner: the README calls this a research prototype with authorized-pilot status.
Assessments centered on authenticated SPAs or POST, JSON, header, and path inputs: the README acknowledges light coverage in those areas.
Linux teams expecting the full model workflow: the documented MLX training and inference path requires Apple Silicon.
Users expecting a trained specialist from the default decision server: the documented default is a deterministic heuristic backend.

Setup reality

Our run of commit b000fc3 installed 115 packages in 43 seconds and used 5,868 MB on disk. The build passed in 1 second, and pytest passed all 43 tests in 4 seconds with 0 failures. Pip-audit reported 0 known vulnerabilities in the fresh Python 3.12 Debian sandbox with 3 CPUs and 8 GB of RAM.

The README requires macOS on Apple Silicon for MLX training and inference, plus uv and a separate Playwright Chromium download. Model and adapter artifacts are outside Git. Our passing Debian setup does not verify the model workflow or the separate browser acceptance evaluation.

The default decision API uses a heuristic backend until a checkpoint is explicitly loaded. External assessments require a passed local acceptance evaluation and explicit authorization with operator identity. The repository has a tests directory, no CI workflow files, and no Dockerfile.

A browser has to execute before a finding is confirmed

xss-specialist reserves CONFIRMED for findings backed by browser execution. A model's confidence cannot promote a suspected cross-site scripting flaw into that state. That is a useful rule when a report could otherwise confuse reflected text with executable code. The project combines an experimental security model with an assessment system for authorized targets, and the distinction between those components determines how much trust to give its output.

Our 43 passing tests are encouraging for anyone inspecting that design. They do not establish how well it finds flaws in an unfamiliar application. The README calls the project a research prototype and limits the live system to an authorized pilot. I would consider it for studying how to keep model advice separate from security evidence, with an analyst reviewing the results before taking action.

What happened when we ran it

Our run installed commit b000fc3 in 43 seconds, pulling 115 packages and occupying 5,868 MB on disk. The build succeeded in 1 second. Pytest then passed all 43 tests in 4 seconds, with 0 failures. The October 15, 2026 sandbox was an unprivileged Debian container using Python 3.12, 3 CPUs, and 8 GB of RAM, without secrets.

Pip-audit reported 0 known vulnerabilities. The repository contained 188 files, roughly 6,923 source lines, and a 6 MB checkout before installation. Our scan found a tests directory, no CI workflow files, and no Dockerfile. That is a sizable installed environment for a small source checkout, so leave room for the dependency footprint when preparing a disposable evaluation environment or moving it between machines.

The 4-second pytest result covers the command our harness ran. It does not show that we trained a specialist model, completed the separate browser acceptance workflow, or assessed an external site. Those activities have their own prerequisites. Keeping that boundary explicit prevents a green software check from becoming an unsupported statement about vulnerability-detection accuracy or readiness for a client engagement.

The decision server defaults to a heuristic backend

The decision API instructions say the default server identifies itself as xss-decision-mock. Its reference backend is a deterministic heuristic, intended for developing the interface and clients. Loading a learned checkpoint requires an explicit command and the decision extra. Check what the server actually loaded before treating a probability response as evidence from a trained XSS specialist.

The 115 packages in our install do not change that default. The repository separates model research, knowledge routing, and browser assessment, so a successful command in one area says little about the others. Its model research also reports rejected candidates because they confused sanitizer names with similar-looking identifiers. An apparent safety judgment about a familiar library name deserves particular skepticism when the identifier in the code differs.

The live system uses exact sanitizer identity and execution evidence to avoid relying on that resemblance. Its findings can remain LIKELY or INCONCLUSIVE instead of being forced into a yes-or-no answer. That is useful for an analyst who needs to inspect the reason for a result. It also means someone must handle the unresolved queue, including suspicious reflections that never execute in the observed browser path.

Apple Silicon is the documented model platform

The quick-start prerequisites name macOS on Apple Silicon and Python 3.12 or newer. MLX training and inference are currently limited to that hardware path. The instructions also require a separate Playwright Chromium download. Our successful Debian package setup does not establish that the MLX model workflow works on a Linux server, and a team standardized on Linux should settle that distinction before adoption.

At 5,868 MB on disk in our run, the dependency environment is already a practical consideration before arranging model assets. The repository keeps models, adapters, and run outputs outside Git. A repeatable research setup therefore needs those artifacts recorded alongside the source revision. For a scanner evaluation, start with the documented local browser workflow rather than assuming package installation has exercised Chromium or the trained model.

Authenticated apps and SPAs have acknowledged coverage gaps

The README limitations say SPA and authentication flows receive light coverage, along with POST bodies, headers, JSON inputs, and path parameters. It also identifies dead code and CSP-blocked reflections as cases that can remain LIKELY. These are specific reasons to choose a broader assessment tool when your application depends heavily on login state or client-side navigation.

Passing 43 tests does not close those coverage gaps. The pilot code requires an operator identity and authorization acknowledgement, and external targets also require a passed local acceptance evaluation. Scope settings bound where assessment can go. Reports preserve the authorization record and require human review, while live findings stay quarantined from automatic model training. Those controls suit an experiment that should leave inspectable evidence about what it attempted.

September changes have little public support history

GitHub showed a September 28, 2026 push, 155 stars, and 0 open issues and PRs. The recent issue endpoint returned no entries, and the latest-release endpoint returned no release, although the README links experimental checkpoint release tags. Together these facts show recent source activity with little issue history to judge. The latest-release response alone cannot establish that no tagged artifacts exist.

The 43-second install and passing suite make xss-specialist practical to inspect if you can spare the disk space. For routine authorized XSS scanning, compare Dalfox, or ZAP when you need a broader web assessment environment. Choose this repository when the research controls and evidence trail are the reason for the evaluation. Require an analyst to reproduce a finding before it enters a security report.

Alternatives

ProjectWhat it isPick it when
DalfoxAn XSS scanner with parameter discovery, verification, and several report formats.pick this instead when you want an XSS scanning workflow without the model-research machinery.
ZAPA web application security assessment tool with an intercepting proxy and scanning capabilities.pick this instead when you need a broader web assessment environment around your XSS checks.

What people are saying

  1. [velocity-scout] SecFathy/xss-specialist

Sources

  1. xss-specialist README and limitations
  2. Decision API and backend documentation
  3. Pilot authorization implementation
  4. Python dependencies and scripts
  5. Dalfox
  6. ZAP

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →