🛡️ GSC — Git Security Checker
Version: v1.4.1 · Detectors: 69 (65 registry + 4 engines), Schema: v34, Modules: 267 — 69 детекторов всего
69 детекторов — точное число из gsc_meta.py
Find it. Prove it. Fix it. Verify it.
GSC is a self-learning AppSec platform that doesn't stop at detection — it proves vulnerabilities with generated exploits, fixes them with verified patches, and heals your codebase with automated pull requests.
Getting Started · Capabilities · GitHub Action · Documentation
Why GSC?
Most static-analysis tools show you a snapshot of right now — a list of findings you then triage, verify and fix by hand. GSC closes the loop:
detect → prove → fix → verify → heal → learn
- Prove — generates a working exploit so a finding is evidence, not a guess.
- Fix — produces a minimal patch instead of another ticket.
- Verify — re-runs the exploit against the patch in a sandbox; only a fix that defeats its own exploit counts as verified.
- Heal — opens a pull request with that verified fix.
- Learn — tunes itself from your TP/FP feedback to cut false positives over time.
GSC is Vulnerability Management, not just a scanner: it ranks findings by exploitability (EPSS + CISA KEV + ExploitDB, not raw CVSS), suppresses false positives deterministically (CSP/CDN-aware filters), and cross-references the Russian FSTEC BDU — closing the loop most scanners leave open.
🚀 Getting Started
git clone https://github.com/poliakarmai/gsc.git && cd gsc
pip install -e .
# Scan a repository
gsc external-scan https://github.com/user/repo --profile audit
# CI gate: scan a PR diff, block merge on new CRITICAL/HIGH
gsc external-scan ./repo --profile pr-gate \
--mode diff --base main --head HEAD --fail-on-blocking
# Scan + generate verified fixes
gsc external-scan ./repo --profile audit --with-poc --with-chains
Profiles: developer-review · pr-gate · audit · candidate-review
✨ Capabilities
Detection
- SAST — 69 detectors across Python, JS/TS, Go, Java, Rust and more, backed by adversarial AI judging (Red/Blue/Judge debate + grounded RAG) — 267 modules.
- SCA — dependency vulnerabilities via OSV.dev, with precise lock-file
resolution (
package-lock.json,yarn.lock,go.sum). - Secrets — fingerprinting with cross-repo correlation and rotation detection (stores hashes only, never values).
- Honeytokens — canary secrets (
GSC_HONEYTOKEN_*) that emit a CRITICAL finding when they leak into any scanned repository. - IaC — Terraform, Kubernetes and Dockerfile misconfigurations.
- Supply chain — SBOM (CycloneDX / SPDX), VEX, and signature verification.
- Compliance — CWE / OWASP / PCI DSS mapping for every finding.
- Exploitability ranking — EPSS + CISA KEV + ExploitDB, not raw CVSS.
Verification & Remediation
- LLM-augmented verification — the same multi-agent approach independently shown to raise SAST F1 from 78.4% to 90.9% and cut false positives 88.6% (QASecClaw, OWASP Benchmark v1.2).
- Proof-of-Fix — generate an exploit, patch the code, re-run the exploit in an isolated sandbox. A fix that defeats its own exploit is the definition of "verified".
- Safe-exploitation gate — PoC generation is programmatically blocked from
emitting destructive commands (
rm -rf,DROP TABLE, fork-bombs) before a finding is ever published. - Self-Healing CI — automatically open pull requests with verified fixes.
- DAST + Recon — dynamic scan of live sites (nuclei), passive recon (subdomains / DNS / tech-stack), and SAST↔DAST correlation. See docs/DAST_RECON.md.
Intelligence
- Adversarial AI judging — Red/Blue advocates debate TP vs FP, a grounded judge (MiniMax IE) rules; RAG-grounded CVE/CWE references kill hallucination.
- Security Archaeology — who introduced a vulnerability, when, and how long it lived before it was found.
- Predictive Forecasting — risk heatmaps of where the next vulnerability is likely to appear.
- NL Policy — write security rules in plain language, compiled to deterministic patterns.
- Exploit chains — compose individual findings into real attack paths.
- Threat intel — export findings as STIX 2.1 / TAXII 2.1 (MISP, OpenCTI), and reconcile code against IoC feeds (
gsc ioc import/gsc ioc check). - Federated learning — DP-noised TP/FP signals shared across tenants to tune detectors globally.
- Ground-truth trainer — deterministic, zero-LLM revalidation over the calibration network.
- Threat modeling — MAESTRO (CSA) 7-level threat model for agentic systems, plus auto-generated architectural threat models.
- Drift detection — n-gram consensus flags unstable multi-model verdicts.
- Red-team — 15 adversarial prompt-injection payloads (obfuscation / jailbreak / indirect) to stress-test injection detectors.
- Agent eval metrics — tool-selection (recall/precision/accuracy), retrieval (accuracy@k / MRR / NDCG), catastrophic-forgetting and consistency/coherence metrics (Albada ch.9).
Integrations
- GitHub — Action, PR comments, checks, SARIF,
/gscslash commands. - GitLab — post scan results as merge-request notes (self-hosted friendly).
- VSCode — inline diagnostics and CodeLens.
- MCP server — let your AI agent scan, prove and fix code inside its own
context (
gsc mcp, read-only tools; see docs/MCP.md andexamples/mcp-demo/). Install from source:pip install -e '.[mcp]'.
🏗️ Architecture
Three packages over a SQLite store:
gsc_core/— detection enginegsc_cli/— CLI and scannersgsc_cloud/— SaaS API (multi-tenant, SSO, workers)
Scan modes: quick (CI, regex-only) · standard (daily, LLM) · deep (full
audit with exploit chains).
🚀 GitHub Action
- uses: poliakarmai/gsc@v1
with:
deep_scan: true
with_poc: true
The engine ships as a closed-source Docker image
(ghcr.io/poliakarmai/gsc-scanner:v1); the public repo carries only action.yml.
Scans every PR and push, posts findings as a PR comment, shows a security score
badge, and can block merge on CRITICAL findings. See
.github/workflows/gsc-audit-template.yml.
📚 Documentation
Install, detectors, architecture, enterprise and roadmap — see the documentation index.
📄 License
Business Source License 1.1 (BUSL-1.1) — source-available, not open source.
- Internal production use (scanning your own repositories) is always permitted.
- Operating a competing hosted/managed SAST service requires a Commercial License.
- Converts to Apache 2.0 on the Change Date.
See LICENSE and COMMERCIAL.md.
GSC doesn't just find vulnerabilities. It proves them, fixes them, and learns from them.
Metadata
Release files for gsc-security 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gsc_security-1.4.1.tar.gz | 1.0 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gsc_security-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.3 MB
Release files / gsc_security-1.4.1.tar.gz
| Download URL | gsc_security-1.4.1.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83c576bd60ee637268816df57d7cbab5c6339df2f8532f6cc46c4e660ca07515
|
|
BLAKE2b-256 checksum How to use checksums |
4fd5c5b4e167e769a37a560e53bba25b557aa9e4b43afd190443f2859e55a640
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / gsc_security-1.4.1-py3-none-any.whl
| Download URL | gsc_security-1.4.1-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d7eaf9ac538356aa414db024cac42867b34758167afcd3b8f9a7116b53f37b3
|
|
BLAKE2b-256 checksum How to use checksums |
3c1b570c6b83c9e9cd0a1581d9af486802dbca412371b98da4c9c8912eda2323
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Security for gsc-security 1.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.