GitHits
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
No key, nothing to install · Only the Claude desktop app (Windows or Mac), not the web or phone
Download the maker’s .mcpb file
The .mcpb file comes straight from the maker; we do not change it
Use Draugr and tell me what you can do for me, then show me one thing✓ If Claude says it is using Draugr or shows a Draugr tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Draugr yet
Draugr runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Draugr
B · Others in Cybersecurity that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Claude Code cannot connect Draugr yet
The maker only provides an installer for the Claude desktop app
A · Use an app that can connect Draugr
Cursor cannot connect Draugr yet
The maker only provides an installer for the Claude desktop app
A · Use an app that can connect Draugr
VS Code cannot connect Draugr yet
The maker only provides an installer for the Claude desktop app
A · Use an app that can connect Draugr
mcpb: …/draugr-0.178.0.mcpbBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
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 16, 2026
The registry name was verified against the domain draugr.dev (the registry checks domain ownership)
Code last changed yesterday
Uses Apache-2.0
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Not checked: only npm and PyPI packages with a version can be checked
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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).
The GitHub repo last changed yesterday, and the latest version (0.178.0) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: GitHits, Dependency Management MCP Server, Snyk MCP, Spotdb, EchelonGraph CVE & Exposure
Same category, other makers, commands already checked. Official ones first, then by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Sonatype component intelligence: versions, security analysis, and Trust Score recommendations
Easily find and fix security issues in your applications leveraging Snyk platform capabilities.
Ephemeral data sandbox for AI workflows with guardrails and security
CVE, KEV, EPSS, SBOM and advisory lookups; per-CVE exposure from Shodan data (© Shodan). Keyless.
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.
Know which security findings to fix first, across the scanners you already run. SAST, SCA, secrets, IaC and containers, every finding ranked by exposure, criticality, exploitability and, for Go, reachability.
Describe your app in one file, and Draugr hands back the findings in the order to fix them.
Every application carries problems nobody put there on purpose: a library that turned out to have a hole in it, a password committed by accident, a server setting that leaves a door open. Draugr finds them, works out which ones actually matter for *your* app, and answers the question you are really asking before a release, is this safe to ship?
It runs the established open-source scanners for you, Trivy, Semgrep, Gitleaks and others, so there is nothing to choose between, wire up, or read five of. You describe what you built, once, in one file: where the repositories are, what images it builds, what it exposes, what infrastructure it runs on. Draugr picks the checks that apply, runs the right tool for each, and produces evidence you can hand to somebody else. Bring the scanners you already pay for, or use the open-source defaults.
Findings are ranked, not listed. A scanner's "critical" describes a flaw in the abstract, how bad it could be at its worst, anywhere. The same flaw is act-now in the service strangers can reach and backlog in the internal tool three people use, and no scanner can tell those apart because the difference is in the file you wrote, not in the code. And draugr diff gates a pull request on new findings only, so inheriting two hundred existing ones does not block every change.
[Quickstart](#quickstart) · See it in action · What it checks · In your pipeline · Documentation · What Draugr doesn't promise · Security
Priority (P1–P4) is not severity. Severity says how bad a flaw is at its worst, anywhere. Priority weighs that against how exposed and how important the part of your app it sits in is, which no scanner can work out, because it is not in the code.
[draugr-dev/draugr-demo](https://github.com/draugr-dev/draugr-demo) is a deliberately vulnerable app wired to Draugr: every control lights up, findings land in the repo's Security → Code scanning tab, and its example pull requests show the new-vs-fixed diff.
curl -fsSL https://draugr.dev/install.sh | sh
Installs to ~/.local/bin, no sudo, and installs nothing if the archive fails verification. The script is readable in the repo; a download by hand, the GitHub CLI and go install are in the install guide.
draugr init # describe this project in a draugr.saga.yaml
draugr tools install # fetch the scanners it needs, pinned and verified draugr scan # scan what the descriptor describes
tools install takes its answer from the descriptor beside it, so a small service gets three scanners rather than every one Draugr can provision. --all when you are preparing a machine for several projects.
Then describe what you actually ship:
project: my-app
release: version: "1.0" config: controls: images: enabled: true components:
draugr scan draugr.saga.yaml # console summary; exits non-zero on fail
draugr scan draugr.saga.yaml -o out/ # also writes report.json + results.sarif draugr scan draugr.saga.yaml --format markdown # or html, junit, json, sarif
Your editor already knows this file. Draugr's JSON Schema is registered with SchemaStore, so any *.saga.yaml gets completion, hover docs and typo warnings on open with nothing to configure.
Or let discovery write the descriptor for you:
draugr survey github repos --org my-org -o draugr.saga.yaml
draugr survey k8s images --namespace prod -o draugr.saga.yaml
Full walkthrough: quickstart.
Setting it up on a real repository? Reply to the pinned discussion with what the repository is and which scanners you run, and we'll write the descriptor with you, including the exposure and criticality that take judgment.
Each control is backed by a tool Draugr executes rather than bundles, so every scanner stays under its own license, and you can swap it.
| Control | Looks for | By default |
|---|---|---|
sca | known flaws in the libraries you depend on | Trivy, Grype and Mend opt-in |
secrets | passwords and keys committed by accident, history included | Gitleaks |
sast | patterns in the code you wrote that let somebody in | Semgrep, gosec opt-in for Go |
iac | settings that leave a door open, in Terraform, Kubernetes and Dockerfiles | Trivy |
images | what is baked into your container images | Trivy, Grype opt-in |
licenses | terms attached to code you did not write | Trivy |
dast | problems only visible from outside a running app | Nuclei, authenticated, and from an OpenAPI spec |
headers | how your site answers a browser | native |
tls | certificates and encryption | native |
kubernetes | your Kubernetes cluster, against the CIS benchmarks | native, kube-bench opt-in |
cloud | your cloud account as it is, against the CIS benchmarks | Prowler |
threats | whether anything you talk to is on a public blocklist | abuse.ch URLhaus |
provenance | whether an image is signed by the builder you expect | Sigstore cosign |
Every scanner, what it sends and whose terms it carries: integrations catalog.
Alongside them: content-hash caching, an SBOM per repository and image, KEV/EPSS enrichment, per-control gate thresholds, and suppressions that stay in the report with the reason someone gave rather than disappearing.
The first-party GitHub Action installs Draugr, and with tools: true the scanners the descriptor needs. On a pull request it compares the head with the base, posts the findings the change adds and fixes as one comment, and fails on a new P1 finding. On a push to main it runs the full scan, fails on any P1 finding, and sends every finding to the Security tab as one Draugr tool.
name: Security
on: push: branches: [main] pull_request: permissions: contents: read pull-requests: write # the pull-request comment security-events: write # the Security tab, on a push jobs: draugr: runs-on: ubuntu-latest steps:
Save it as .github/workflows/draugr.yml and commit it with the draugr.saga.yaml that draugr init wrote. The upload needs code scanning, which public repositories have and private ones get with GitHub Advanced Security; without it, delete the last step. To block a merge on a failing run, make the draugr check a required status check in the branch's protection rule or ruleset.
GitHub Actions · Code scanning: findings in the Security tab · GitLab: an include, GitLab's own report formats, a sticky merge-request comment · Azure Pipelines: a step template
From an AI coding assistant. Ask one to check a change and it will, using whatever scanner it finds over a scope it chose. draugr mcp serves Draugr over the Model Context Protocol so it reads your *committed* descriptor instead. A scan that does more than read the checkout, such as probing a live host or sending data to a third party, asks you first.
claude mcp add draugr -- draugr mcp
See use Draugr from an AI coding assistant.
[Documentation index →](docs/README.md)
A passing verdict means the controls you configured found nothing they were looking for. It is not a statement that your software is secure. It is silent about anything your descriptor does not declare, controls you did not enable, and whatever the underlying scanners miss. License findings are information, not legal advice. Draugr is provided under Apache-2.0 without warranty.
The details, including whose terms the scanners carry and your responsibility for authorization when scanning live endpoints: scope and disclaimer.
A security tool should hold itself to what it checks. Draugr does:
checksums.txt is keyless-signed with cosign (Sigstore) into a checksums.txt.sigstore.json bundle, and each release publishes SLSA build-provenance attestations (gh attestation verify …); verify before installing (recipe).