JSPM

@sixthwall/cli

0.2.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q34834F
  • License UNLICENSED

Security scanner for AI-generated code. Detect vulnerabilities in Claude Code, Cursor, and Copilot output. Fix Packs with Claude prompts included.

Package Exports

  • @sixthwall/cli
  • @sixthwall/cli/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@sixthwall/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

SixthWall

AI code security scanner · MCP-native · Fix Packs · built for vibe coders

Everything Breaks Somewhere.

The security scanner built for AI-generated code. SixthWall detects vulnerabilities that Claude Code, Cursor, Copilot, and Windsurf introduce — and gives you exactly what you need to fix them.

npm version


Quick Start

npx @sixthwall/cli init

That's it. One command sets up everything:

  • Configure your MCP server so Claude Code scans as you code
  • Update your CLAUDE.md so AI auto-fixes security issues
  • Install a pre-commit hook that blocks critical vulnerabilities
  • Detect and configure Cursor / Windsurf if present
  • Create a .sixthwall/ignore file for path and rule exclusions
  • Run your first security scan immediately

After init, keep coding normally. SixthWall works in the background.

Or scan directly without setup:

npx @sixthwall/cli scan

The Problem

Every developer already has five security walls: authentication, authorization, firewalls, encryption, and dependency scanning.

None of them check whether the code itself is safe.

AI coding tools generate code that works — but not code that's secure. They forget auth middleware. They skip input validation. They hardcode API keys. They set CORS to accept every origin. They sign JWTs without expiration. They leave debug mode on in production.

Studies show 45% of AI-generated code contains security vulnerabilities and AI-generated code has 2.74x more vulnerabilities than human-written code.

SixthWall is the sixth wall. It watches the code itself.


How It Works

SixthWall operates through three automatic layers after setup:

Layer When It Runs You Do
MCP + CLAUDE.md Every time your AI writes code Nothing — AI scans and fixes proactively
Pre-commit hook Every git commit Nothing — blocks critical issues automatically
GitHub Action Every push/PR (optional) Nothing — CI catches what local missed

SixthWall is a deterministic static analysis scanner, not an AI code reviewer.

It parses your code into an AST using tree-sitter, then matches it against YAML-defined detection rules targeting patterns that are unique to or disproportionately common in AI-generated code.

Same code, same result, every time. No LLM hallucinations. No inconsistent reviews. No API calls. Runs entirely on your machine.

Every finding includes a Fix Pack:

  • What — plain English explanation, no jargon
  • Why — what an attacker could actually do
  • Fix — minimal code change to resolve it
  • Claude Prompt — copy-paste into Claude Code to fix it automatically

Features

  • 15 AI-specific detection rules targeting patterns other scanners miss
  • Fix Packs with every finding — what, why, how to fix, and a Claude prompt
  • Security score 0–100 — track your security posture with a single number
  • Zero-friction init — one command sets up MCP, hooks, IDE rules, and runs a first scan
  • Diff-only scanning — scans only what changed, finishes in milliseconds
  • Watch mode — scan automatically on every file save
  • Pre-commit hook — blocks vulnerabilities before they're committed
  • JSON and SARIF output — drop into any CI/CD pipeline
  • MCP integration — works inside Claude Code as a native tool
  • Ignore file — exclude paths, files, or specific rules from scanning
  • Status command — check setup health and last scan results at a glance
  • Zero config — works out of the box, customize with .sixthwall.yaml
  • Fully offline — no API keys, no cloud dependency, no data leaves your machine

CLI Commands

sixthwall init

One-time setup. Configures MCP server, CLAUDE.md, IDE rules, pre-commit hook, ignore file, and runs a first scan.

sixthwall init                 # full setup
sixthwall init --force         # re-initialize, overwrite existing config
sixthwall init --github-action # only add GitHub Actions workflow

sixthwall scan [path]

# Scan current git diff (default — fastest)
sixthwall scan

# Scan staged changes before committing
sixthwall scan --staged

# Full repository scan
sixthwall scan --full

# Scan a specific file or directory
sixthwall scan src/auth/login.ts
sixthwall scan ./backend/

# Only show high severity and above
sixthwall scan --severity high

# JSON output for CI pipelines
sixthwall scan --format json

# SARIF output for GitHub Code Scanning
sixthwall scan --format sarif > results.sarif

# Skip specific rules
sixthwall scan --ignore AI-CONFIG-002,AI-INJECT-001

# Compact output without fix details
sixthwall scan --no-fix-packs

sixthwall status

Check integration health, last scan results, and security score.

sixthwall status

sixthwall watch

Automatic scanning on every file save. Watches for JS, TS, and Python changes.

sixthwall watch

sixthwall remove

Clean uninstall. Removes all SixthWall configuration, hooks, and IDE integrations.

sixthwall remove        # prompts for confirmation
sixthwall remove --yes  # skip confirmation

Example Output

  SixthWall v0.2.0
  Mode: diff

  ╭──────────────────────────────────────────────────────────────╮
  │   CRITICAL   AI-SECRET-001                                    │
  │  Hardcoded API Key in Client Code                             │
  ╰──────────────────────────────────────────────────────────────╯

  > src/api/stripe.ts:12

  │ 12 │ const key = "sk_live_abc123def456ghi789jkl012";  ← HERE

  What: An API key is hardcoded directly in your source code.

  Risk: Anyone who can view your code — through browser DevTools,
        a public repo, or your built JS bundle — can steal this key
        and use it to make requests on your behalf.

  Fix:  Move the secret to an environment variable:
        const key = process.env.STRIPE_SECRET_KEY;

  Claude Prompt:
  ┌─────────────────────────────────────────────────────────────┐
  │ The file src/api/stripe.ts at line 12 contains a hardcoded │
  │ secret. Move it to an environment variable. Add .env to     │
  │ .gitignore if not already present.                          │
  └─────────────────────────────────────────────────────────────┘

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Security Score: 35/100  ███████░░░░░░░░░░░░░ POOR
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2 Critical · 3 High · 1 Medium
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

What SixthWall Catches

Secrets

Rule Severity What It Detects
AI-SECRET-001 CRITICAL Hardcoded API keys — OpenAI, Stripe, AWS, and generic patterns
AI-SECRET-002 HIGH process.env variables exposed in client-side bundles
AI-SECRET-003 HIGH dotenv loaded but .env not in .gitignore

Authentication

Rule Severity What It Detects
AI-AUTH-001 HIGH Express/Hono routes without authentication middleware
AI-AUTH-002 CRITICAL Auth checks in client-side code only (localStorage)
AI-AUTH-003 HIGH JWT tokens signed without expiration
AI-AUTH-004 MEDIUM Cookies set without httpOnly, secure, or sameSite flags
AI-AUTH-005 CRITICAL Passwords stored or compared in plain text

Injection

Rule Severity What It Detects
AI-INJECT-001 HIGH req.body / req.query / req.params used without validation
AI-INJECT-002 CRITICAL SQL queries built with string concatenation using user input

Configuration

Rule Severity What It Detects
AI-CONFIG-001 HIGH CORS set to origin: '*' — any website can call your API
AI-CONFIG-002 MEDIUM Debug or verbose mode left enabled
AI-CONFIG-003 MEDIUM Login and auth routes without rate limiting
AI-CONFIG-004 MEDIUM Error stack traces and internal details leaked to clients

Headers

Rule Severity What It Detects
AI-HEADER-001 MEDIUM Express app running without helmet or manual security headers

MCP Integration — Claude Code

SixthWall works as an MCP tool inside Claude Code. sixthwall init configures this automatically.

Or add to your MCP config manually (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "sixthwall": {
      "command": "npx",
      "args": ["-y", "@sixthwall/mcp-server"]
    }
  }
}

Then ask Claude: "Scan my code for security issues" or "What's my security score?"

Three tools are available:

Tool What It Does
scan_code Scan diff, staged, or full repo. Returns findings with Fix Packs.
explain_finding Explain any rule by ID — what it detects, why it matters, how to fix.
security_score Current 0–100 score with grade and severity breakdown.

See @sixthwall/mcp-server for full MCP documentation.


Ignoring Files or Rules

After init, edit .sixthwall/ignore:

# Ignore paths
tests/fixtures/**
*.test.ts

# Ignore a rule on a specific file
src/legacy-api.ts:AI-AUTH-003

# Ignore a rule globally
*:AI-CONFIG-002

Three formats: path/glob, file:RULE-ID, *:RULE-ID.


Configuration

Create .sixthwall.yaml in your project root (or run sixthwall init):

version: 1

# Block CI when these severities are found (exit code 1)
block_on:
  - critical
  - high

# Rules to skip
ignored_rules: []

# Paths to exclude
exclude:
  - "node_modules/**"
  - "dist/**"
  - "test/**"
  - "**/*.test.ts"

# Minimum severity to show
severity_threshold: low

CI/CD Integration

GitHub Actions

sixthwall init can generate this for you (--github-action). Or add manually:

- name: SixthWall Security Scan
  run: npx @sixthwall/cli scan --full --format sarif > sixthwall.sarif

- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: sixthwall.sarif

Pre-commit Hook

Installed automatically by sixthwall init. Scans staged files and blocks commits with critical or high severity findings. To add manually:

#!/bin/sh
# .git/hooks/pre-commit
npx @sixthwall/cli scan --staged --severity high

Why Not Just Use Snyk / Semgrep / CodeRabbit?

SixthWall Traditional Scanners AI Code Reviewers
Built for AI-generated code Rules target AI patterns Built for human-written code Partially
Deterministic Same code = same result Same code = same result LLM output varies
Fix Packs with Claude prompts Included Generic alerts N/A
MCP-native (Claude Code) First-class N/A N/A
Works offline Fully offline Varies Needs API
Zero-friction setup One command Manual config Manual config
Free Layer 1 Unlimited scans Freemium Paid

SixthWall isn't replacing your dependency scanner. It's catching the vulnerabilities they can't see — the ones in the code AI just wrote for you.


45% of AI-generated code has security flaws. SixthWall catches them before attackers do.


Frequently Asked Questions

Is SixthWall free? The CLI and MCP server (Layer 1) are completely free. Install with npx @sixthwall/cli init and scan unlimited files with all 15 rules. The cloud platform (Layer 2 and 3) with GitHub PR scanning, runtime pentesting, and dashboards is a paid service.

What's the best security scanner for AI-generated code? SixthWall is purpose-built for AI-generated code. Traditional scanners like Snyk and Semgrep were designed for human-written code. SixthWall's rules specifically target patterns that Claude Code, Cursor, Copilot, and Windsurf generate — like missing auth middleware, hardcoded secrets, JWT without expiration, and overly permissive CORS.

How do I secure my vibe coding project? Run npx @sixthwall/cli init in your project. It sets up MCP integration, pre-commit hooks, IDE rules, and runs a first scan automatically. After that, SixthWall works in the background — scanning as you code, blocking vulnerabilities on commit, and catching issues in CI.

Does SixthWall work with Claude Code? Yes. sixthwall init automatically configures the MCP server and CLAUDE.md so Claude Code scans your code and fixes vulnerabilities in the same conversation. You can also install the MCP server manually with @sixthwall/mcp-server.

How is SixthWall different from CodeRabbit or AI code review tools? CodeRabbit and similar tools use LLMs to review code — their results vary between runs and they can hallucinate issues. SixthWall is deterministic: it uses tree-sitter AST parsing with YAML-defined rules. Same code produces the same findings every time. No API calls, no cloud dependency, runs entirely offline.

What languages does SixthWall support? JavaScript, TypeScript (including JSX/TSX), and Python. More languages are planned.


sixthwall.dev · GitHub · @sixthwall