Quick Start
Why scanipy
Local & private
Your code never leaves your machine. No accounts, no uploads.
Witness-backed
Every finding shows the source → … → sink data-flow trace.
Declarative detectors
Coverage is YAML in a taint DSL — not engine hacking.
Documentation
Using scanipy
scanipy is a local, private, zero-config taint-tracking SAST CLI for Python. It follows untrusted data from sources to sinks…
Writing detectors
Detectors are how scanipy knows what to look for. They are declarative YAML specs written in scanipy's simplified taint DSL — not…
scanipy taint-DSL reference
Status: v0 — LOCKED for 0.2.0. This is the v0 schema and it is frozen for > the 0.2.0 release: the fields, pattern kinds,…
scanipy taint engine reference
Status: v1 (0.2.0). This documents the taint engine that consumes the > taint-DSL specs and the normalized > IR. It is the…
IR reference — the shared intermediate representation
The contract between the Python frontend (scanipy.frontends.pythonfrontend) > and the engine. The frontend produces the IR; the…
Testing & QA
scanipy's test suite is a layered set of fast, hermetic pytest modules plus a handful of cross-cutting enforcement suites that…
Release readiness — 0.2.0
The human checklist for cutting 0.2.0. Work top to bottom; every box must be checked before the final step. The final step is a…