Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

GSC Scanner

by poliakarmaiversion 1.0.0i★ –iRuns on your computer
Registry nameio.github.poliakarmai/gsc-scanner

Install

Overview

Description from the maker (original English)

Local security scanner for AI agents: SAST, SCA, secrets, IaC; verifies exploit and fix.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Cybersecurity

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: GSC_ALLOWED_ROOTS

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "gsc-scanner": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GSC_ALLOWED_ROOTS",
        "ghcr.io/poliakarmai/gsc-scanner:v1",
        "mcp"
      ],
      "env": {
        "GSC_ALLOWED_ROOTS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add gsc-scanner --env GSC_ALLOWED_ROOTS=your-value -- docker run -i --rm -e GSC_ALLOWED_ROOTS ghcr.io/poliakarmai/gsc-scanner:v1 mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "gsc-scanner": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GSC_ALLOWED_ROOTS",
        "ghcr.io/poliakarmai/gsc-scanner:v1",
        "mcp"
      ],
      "env": {
        "GSC_ALLOWED_ROOTS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "gsc-scanner": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GSC_ALLOWED_ROOTS",
        "ghcr.io/poliakarmai/gsc-scanner:v1",
        "mcp"
      ],
      "env": {
        "GSC_ALLOWED_ROOTS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • GSC_ALLOWED_ROOTS env
    Path inside the container that scan_repo/scan_diff may read.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account poliakarmai, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Cybersecurityi

  • More stars than 0% of the other 1003 servers in this category
  • Published to the registry more recently than 72% of the other 1003 servers in this category
  • Basic checks equal to or better than 100% of the other 1003 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is GSC Scanner safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 15 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: KillerSkills, OpenWorkProof, Shipshape MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

KillerSkills

Security verdicts for agent skills and MCP servers, from sandbox runs, before you install them.

by cyligence-karimGrowing↓ 3.1K/wkUpdated today

Runs on your computer

OpenWorkProof

Verifiable agent evidence; opt-in Codex guard and reference SOC alert review.

by dengyierVery new↓ 303/wkUpdated today

Runs on your computer

Shipshape MCP

Dockerfile and Kubernetes lint for AI agents: Pod Security Standards, A–F grade, a fix per finding.

by bytestayVery new↓ 322/wkUpdated today

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

🛡️ GSC — Git Security Checker

English

GSC is a self-learning AppSec platform that proves exploits, verifies fixes, and heals CI.

detect → prove → fix → verify → heal → learn
$ gsc scan . --ci --json

[{"rule_id": "GS001", "severity": "CRITICAL", "title": "Hardcoded API key", "file_path": "app.py", "line": 1, "fix_suggestion": "Move this value to an env var"}]

Most scanners report matches. GSC proves them: every finding can be turned into a runnable proof-of-concept, validated in a sandbox, then fixed and re-verified by re-running the exploit.

What makes it different:

  • 68 detectors across SAST, SCA, secrets and IaC — plus a YAML rule DSL.
  • PoC auto-generation with a safe-exploitation gate: a finding ships with a working exploit, not just a line number.
  • Proof-of-Fix — a patch is only accepted after the exploit stops firing in a sandbox.
  • Self-learning — detectors are re-scored nightly against a calibration network; noisy patterns are auto-deactivated at <30% TP. Federated feedback is privacy-first ({tenant_hash, rule_id, tp, fp} + DP noise).
  • Priority by exploitability, not CVSS — EPSS + CISA KEV + ExploitDB.
  • BYO-LLM — the engine, detectors and PoC logic are ours; LLM revalidation runs on *your* key (any OpenAI-compatible endpoint, including a local Ollama). No key → fast regex-only mode.

Who it is for: platform/DevSecOps teams that need findings *proven* before a PR blocks; AppSec engineers triaging noisy regex output; AI coding agents that need a scanner tool over MCP.

Use it as a GitHub Action (see below), from the CLI / Docker image, or as an MCP server for AI coding agents — ten tools (scan_repo, scan_diff, list_findings, get_finding, get_poc, verify_finding, verify_findings, verify_fix, doctor, list_detectors) over stdio or HTTP. Read-only towards your repository: no patching, no PRs, no writes to the working tree. (verify_finding does execute a PoC — see the safety notes in the MCP section.)

Proven on real code: HALL_OF_FAME.md · first public case study: CASE_STUDY_CYBERBRO.md

Measured on 100 real GitHub projects

The same fixed corpus is re-scanned after detector changes — 100 real repositories (90 clean + 10 known-vulnerable), pinned to specific commits, regex-only, no LLM key. Same projects every run, so a delta is the fix and not a new dataset.

2026-08-21 (baseline)2026-08-28 (after FP fixes)
Findings64,83141,127
CRITICAL4,302414
HIGH37,2462,187
Known-vulnerable projects flagged8 / 1010 / 10
Clean projects with ≥1 false CRITICAL48 / 9041 / 90

CRITICAL precision on a labeled review of 434 findings: ~4–5% at baseline → 31.1% (TP = 135, FP = 299, 2026-08-26). That is still noisy. The remaining false-positive mass is concentrated in GS001 (secrets), GS005 (SQLi), GS020 (XSS) and GS037 (path traversal) and is worked down rule by rule — we publish the numbers we have, not the numbers we would like.

*Method note:* corpus, severity counting and per-rule aggregation are ours; the engine ships as a closed image, so reproducing this means running gsc scan --ci --json over the same pinned projects and aggregating the same way. No clean-room comparison against other vendors is implied.

License: this repo (Action, docs, marketing) is Apache-2.0. The engine ships as a closed Docker image ghcr.io/poliakarmai/gsc-scanner under BSL 1.1 (free to scan your own repos; competing SaaS requires a commercial license; converts to Apache-2.0 on 2030-08-06).

Case study: XSS in a 698★ OSINT platform (stars as of 2026-10-26)

First public proof — stanfrbd/cyberbro (46,677 LOC, 281 files):

FindingCWE-79 XSS via search highlight — static/history.js:50, p.innerHTML = p.title.replace(...)
SeverityMEDIUM (CVSS 5.4) — reflected XSS без аутентификации
DetectorGS020 (gs020_xss_injection)
Fix9 lines, 1 file — exploit re-run in sandbox confirms it no longer fires

Full write-up → CASE_STUDY_CYBERBRO.md · more findings in production OSS → HALL_OF_FAME.md


GSC — самообучающаяся AppSec-платформа полного цикла.

detect → prove → fix → verify → heal → learn

🚀 Быстрый старт — GitHub Action

Проверьте свой репозиторий за 30 секунд. Добавьте файл .github/workflows/gsc.yml:

name: GSC Audit

on: pull_request: branches: [main, master]

jobs: audit: runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps:

  • uses: actions/checkout@v4
  • uses: poliakarmai/gsc@v1 # для воспроизводимости — pin на commit SHA with: fail_on_critical: false # true = блокировать merge при CRITICAL

Откройте pull request — GSC отсканирует код, пришлёт комментарий с находками (CRITICAL / HIGH) и поставит оценку безопасности. Ядро поставляется как закрытый Docker-образ ghcr.io/poliakarmai/gsc-scanner — исходный код движка не публикуется.

Воспроизводимость. @v1 и тег образа — плавающие ссылки: результат может

измениться без изменения вашего workflow. Для аудита/CI фиксируйте

poliakarmai/gsc@ и образ по digest

(ghcr.io/poliakarmai/gsc-scanner@sha256: ).

Входные параметры:

ВходПо умолчаниюЧто делает
path.Что сканировать (корень репозитория)
deep_scantrueГлубокий скан (Echelon 4, медленнее)
fail_on_criticalfalsetrue — упасть при CRITICAL
fail_on_score0Упасть, если score ниже порога. 0 = выключено, диапазон 1–100
max_findings_to_comment10Сколько строк показывать в комментарии на каждую секцию
llm_api_key''BYO-LLM ключ для ревалидации (без него — regex-only)
llm_base_url''Свой OpenAI-совместимый эндпоинт (DeepSeek/OpenRouter/Ollama)
llm_model''Имя модели для ревалидации
sariffalseДополнительно отдать SARIF для GitHub Code Scanning
reachabilityfalseПонизить находки в недостижимых файлах (import-graph)

Выходы: score (0–100) и grade (A+ … F).

Комментарий в PR считает находки по локациям (file:line), а не по

срабатываниям детекторов: один секрет, пойманный четырьмя правилами, — это

одна строка с перечислением правил, а не четыре. Total в таблице всегда

равен сумме категорий.

LLM-ревалидация — на вашем ключе (BYO-LLM):

- uses: poliakarmai/gsc@v1

with: llm_api_key: ${{ secrets.DEEPSEEK_API_KEY }} # DeepSeek / OpenRouter / GMI / Ollama

Без ключа — быстрый regex-only скан (уязвимости находит; confirmed-вердикты — с ключом).
Локально: CLI или Docker
gsc scan . --ci --json          # JSON-находки в stdout

gsc scan . --fail-on-blocking # exit 1 при CRITICAL/HIGH — гейт для pre-commit / CI

# тот же движок без установки

docker run --rm -v "$PWD:/repo:ro" ghcr.io/poliakarmai/gsc-scanner:v1 scan /repo --ci --json

scan — точка входа; pof (Proof-of-Fix), verify-fix, report, --compliance … и остальные ≈80 подкоманд — в gsc --help.

Что умеет

СлойВозможности
SAST68 детекторов (SAST · SCA · Secrets · IaC), YAML rule DSL, LLM-триаж с confidence scoring
ДоказательствоPoC auto-generation — рабочий эксплойт для находки *(CLI --with-poc, MCP get_poc/verify_finding)*
ИсправлениеProof-of-Fix — патч верифицируется перезапуском эксплойта в sandbox; self-healing CI (авто-PR) *(CLI, требует явного флага)*
ПриоритизацияEPSS + CISA KEV + ExploitDB (не сырой CVSS), БДУ ФСТЭК
Reconpassive reconnaissance: subdomain / tech / DNS / HTTP
Supply chainSBOM (CycloneDX / SPDX) + VEX
Complianceмаппинг находок на ГОСТ Р 56939-2024, PCI DSS 4.0, SOC2, ISO 27001, CWE, OWASP — отчёт для ФСТЭК / КИИ / аудита
Интеллектsecurity archaeology, predictive forecasting, NL-policy, federated self-learning

Где что доступно. Возможности движка не равны возможностям Action/MCP:

| Возможность | Action | MCP | CLI / engine image |

|---|---|---|---|

| Скан (SAST/SCA/Secrets/IaC) | ✅ | ✅ | ✅ |

| PoC auto-generation | — | ✅ (get_poc, verify_finding) | ✅ (--with-poc) |

| Proof-of-Fix | — | ✅ (verify_fix) | ✅ (pof generate) |

| Self-healing CI (авто-PR) | — | — | ✅ (--create-pr, human-approval) |

В MCP нет деструктивных действий (auto-patch/PR) — осознанно, они остаются

в CLI/human-лупе. verify_finding перезапускает PoC в sandbox, то есть по

побочным эффектам это не «чисто read-only».

Что уже внутри (код, а не план)

Исходники движка в публичном репо не публикуются (закрытый образ, BSL 1.1) — колонка «Где» называет модуль, а не путь в этом репозитории.

МеханикаГдеЧто делает
Мутационный re-attack PoFдвижок: PoC-мутатор → Proof-of-Fixпосле фикса PoC перезапускается в мутированных формах (url-encode, double-encode, HTML-entities, case-swap, tab/space) — ловит «залатали симптом, а не причину». Детерминированно, без LLM
Positive control + taint-recheckдвижок: PoF-sandbox + taint-recheck тестыPoC обязан срабатывать на уязвимом варианте и молчать на исправленном
OS-изоляция hostile-PoCдвижок: _isolation_backend()docker/podman (--network none, read-only, cap-drop, non-root) на хосте, bubblewrap внутри образа (--unshare-all: mount/pid/net/user/ipc/uts, --clearenv, read-only системные деревья, writable только workspace, --die-with-parent) — докер-демон и проброс сокета не нужны. Уровень изоляции (docker / podman / bwrap) возвращается в каждом результате и в ответе verify_finding (isolation); без OS-изоляции движок fail-closed и отвечает unavailable, а не «не воспроизводится»
Quick-режим без LLMCLI: gsc external-scan --scan-mode quickregex-only: находки без LLM-вердиктов, 0 токенов

🎯 Наша фишка: BYO-LLM — движок наш, судья твой

GSC — это движок + детекторы + PoC, а не очередная обёртка над LLM.

  • От GSC: 68 детекторов, V3-scoring, FP-фильтр, PoC/PoF, self-learning — закрытый IP в Docker-образе.
  • От вас: LLM-ключ (любой OpenAI-совместимый — DeepSeek/OpenRouter/GMI/локальный Ollama).

Почему это выгодно вам:

  • Ноль расходов на чужие токены — ревалидация на вашем ключе.
  • Никакой привязки к провайдеру — хоть бесплатный локальный Ollama.
  • Вы платите за детекторы и логику, а не за вызовы LLM.

🧠 Второй столп: Self-Learning — детекторы обновляются сами, каждую ночь

Помимо BYO-LLM у GSC есть замкнутый контур обучения без LLM (0 токенов, детерминированный):

скан → авто-разметка findings по calibration-сети (13 проектов: 9 clean + 4 vuln)

→ авто-деактивация шумных паттернов (<30% TP) → пополнение эталонов из security-фидов → federated feedback (приватно: только {tenant_hash, rule_id, tp, fp} + DP-шум)

Детекторы учатся на реальных находках клиентов через federated-контур — то, чего мейнстрим сознательно избегает (риск дрейфа). GSC обходит это консервативным self-learning: разметка по фиксированной сети + дискретные деактивации, без переписывания весов — скорость ежедневного апдейта без катастрофического дрейфа.

ВендорКак обновляет правилаSelf-learning

| Semgrep | вручную (semgrep-rules) | ❌

Only the beginning is shown; read the rest in the repo

Ask PopNx