Back to Directory/Security & Auth

SafeWeave

Security scanner for AI-written code: SAST, secrets, dependencies, IaC, containers and DAST.

Security & AuthTypeScriptv0.7.5

SafeWeave

Security scanner for AI-written code. SafeWeave runs inside your AI editor over MCP (Claude Code, Cursor, VS Code, Windsurf) and checks your code for vulnerabilities, leaked secrets, risky dependencies, IaC and container issues, so your assistant can fix findings in the same turn.

This repository is the open-core part of SafeWeave: the scanner engines (packages/scanners), the scan gateway (packages/gateway), shared types (packages/common), Docker files and the Claude Code skill. The MCP server itself ships on npm.

Quick Start

Run one command. It downloads the scanners and configures every editor it finds:

npx -y safeweave-mcp

Or add it to your editor's MCP config yourself:

{
  "mcpServers": {
    "safeweave": {
      "command": "npx",
      "args": ["-y", "safeweave-mcp"],
      "env": {
        "SAFEWEAVE_LICENSE_KEY": "your-license-key-here"
      }
    }
  }
}

The key is optional. Without one you get a 10-scan trial (SAST, secrets and dependencies). A free account at safeweave.dev/signup unlocks unlimited local scans with 7 scanners.

Plans

PlanPriceWhere scans runScanners
No keyFreeLocal, 10-scan trial3 (SAST, secrets, dependencies)
Free accountFreeLocal7 (everything except DAST)
Cloud$29/moLocal + hostedAll 8, plus PR checks, website scans and AI-builder rules
Cloud Plus$59/moLocal + hostedAll of Cloud, plus teammates

See safeweave.dev/pricing for details.

Alternative: Docker

If you prefer running via Docker:

git clone https://github.com/nickfluxk/safeweave.git
cd safeweave
cp .env.example .env   # Edit with your license key and SCAN_DIR
docker compose up

How Scanner Binaries Work

SafeWeave automatically downloads and manages the scanner binaries it needs on first use.

ToolVersionPurpose
gitleaks8.21.2Secret and credential detection
trivy0.58.0Container vulnerability and IaC misconfiguration scanning
opengrep1.16.3SAST analysis (Semgrep-compatible, standalone binary)
  • Binaries are resolved in order: system PATH → ~/.safeweave/bin/ cache → auto-download
  • If you already have gitleaks or trivy installed via Homebrew/apt, those are used (never shadowed)
  • For SAST, system semgrep is preferred; if not found, opengrep (a standalone Semgrep-compatible fork) is downloaded — no Python required
  • Downloads happen in the background at startup — the server is ready immediately
  • Versions are pinned and updated with each SafeWeave release
  • If a download fails (no internet), that scanner is skipped gracefully

Supported platforms: macOS (arm64, x64), Linux (arm64, x64), Windows (x64)

Cache location:

~/.safeweave/
  bin/       # Downloaded binaries
  meta/      # Version metadata (JSON)

To force a re-download: rm -rf ~/.safeweave/bin ~/.safeweave/meta

What's Included

ScannerWhat it detectsPlan
SASTSQL injection, XSS, SSRF, path traversal, insecure cryptoFree
SecretsAPI keys, tokens, passwords and private keys in sourceFree
DependenciesKnown CVEs in npm, pip, Go and Cargo packagesFree
IaCTerraform, Dockerfile and Kubernetes misconfigurationsFree account
ContainerVulnerabilities in container imagesFree account
LicenseGPL, AGPL and other risky dependency licensesFree account
PostureMissing auth, rate limiting, CORS and security headersFree account
DASTRuntime API security issues in a running appCloud

MCP Integration

Works with any MCP-compatible editor — Cursor, Claude Code, VS Code, Windsurf, and more.

Once configured (see Quick Start above), ask your AI:

  • "Scan this project for security vulnerabilities"
  • "Check my dependencies for CVEs"
  • "Scan for hardcoded secrets"
  • "Run an IaC misconfiguration scan"

If running via Docker, use the SSE transport instead:

{
  "mcpServers": {
    "safeweave": {
      "url": "http://localhost:9000/sse"
    }
  }
}

HTTP API

Health Check

curl http://localhost:9000/api/health

Run a Scan

curl -X POST http://localhost:9000/api/scan \
  -H 'Content-Type: application/json' \
  -d '{"directory": "/path/to/project"}'

Scan Specific Scanners

curl -X POST http://localhost:9000/api/scan \
  -H 'Content-Type: application/json' \
  -d '{"directory": "/path/to/project", "scanners": ["sast", "secrets"]}'

Compliance Profiles

Built-in profiles: standard, hardened, owasp, soc2, pci-dss, hipaa

Set via MCP set_profile tool or create a custom .safeweave/profile.yaml in your project.

Configuration

Environment Variables

VariableRequiredDescription
SAFEWEAVE_LICENSE_KEYNoYour license key from safeweave.dev. Without it: a 10-scan trial
SCAN_DIRDocker onlyHost directory to mount for scanning
SAFEWEAVE_LICENSE_URLNoLicense server URL (defaults to https://license.safeweave.dev)

Claude Code Skill: Auto-Scan Before Push

SafeWeave includes a Claude Code skill that automatically scans your code before every git commit, git push, or PR creation.

Install the skill

Copy the skill to your Claude Code skills directory:

mkdir -p ~/.claude/skills/secure-before-push
curl -sL https://raw.githubusercontent.com/nickfluxk/safeweave/main/skills/secure-before-push/SKILL.md \
  -o ~/.claude/skills/secure-before-push/SKILL.md

Or clone and copy:

git clone https://github.com/nickfluxk/safeweave.git /tmp/safeweave
cp -r /tmp/safeweave/skills/secure-before-push ~/.claude/skills/

What happens after install

Once installed, Claude Code automatically runs a SafeWeave scan whenever you say "commit", "push", "ship it", or "create a PR":

SeverityActionBlocks push?
Critical / HighFix immediately, re-scanYes
MediumWarns, asks confirmationUser decides
Low / InfoNo actionNo

Prerequisites

SafeWeave MCP server must be configured. Run npx safeweave-mcp to set it up automatically.

Verify

Start a new Claude Code session and ask it to commit code. You should see a SafeWeave scan run before the git operation.

License

MIT. See LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y safeweave-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "dev-safeweave-safeweave": {
      "command": "npx",
      "args": [
        "-y",
        "safeweave-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

safeweave-mcpnpm

Compatible MCP Clients

SafeWeave works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More