Skip to main content
Glama
kkk1259

code-audit-mcp

by kkk1259

Code Audit MCP Server

Automatisiertes Code-Audit-Tool auf Basis großer Sprachmodelle (LLM) und des Model Context Protocol (MCP).

Funktionen

  • Semantische Code-Analyse: AST-Parsing, Typableitung, Taint-Markierung

  • Aufrufketten-Verfolgung: Datenfluss-Tracking über Dateien und Module hinweg

  • Schwachstellenvalidierung: Automatische PoC-Generierung und -Ausführung

  • Mehrsprachige Unterstützung: PHP, Python, Java, JavaScript/TypeScript

Related MCP server: deep-code-security

Schnellstart

Voraussetzungen

  • Node.js >= 18.0

  • TypeScript >= 5.0

  • Cursor / Windsurf (MCP-fähige IDEs)

Installation

git clone https://github.com/kkk1259/code-audit-mcp.git
cd code-audit-mcp
npm install
npm run build

Konfiguration

MCP-Server in Cursor konfigurieren:

// .cursor/mcp.json
{
  "mcpServers": {
    "code-audit": {
      "command": "node",
      "args": ["./dist/server.js"],
      "env": {
        "PROJECT_ROOT": "/path/to/your/project"
      }
    }
  }
}

Anwendungsbeispiele

SQL-Injection-Audit

用户: 请审计这个项目的SQL注入漏洞

AI: 我将使用MCP工具进行系统性审计。
    首先,识别所有用户输入源和SQL执行点...

Ausfindig machen von Deserialisierungs-Schwachstellen

用户: 检查是否存在反序列化漏洞

AI: 我将分析项目中的unserialize调用,并追踪POP链...

Werkzeuge

Werkzeug

Funktion

Parameter

GXP1parse_ast

AST des Quellcodes parsen

file: Dateipfad

find_callers

Aufrufer einer Funktion finden

funcName: Funktionsname, maxDepth: maximale Tiefe

trace_dataflow

Datenfluss verfolgen

source: Quelle, sink: Senke

generate_poc

Schwachstellen-PoC erzeugen

vulnType: Schwachstellentyp, params: Parameter

Projektstruktur

code-audit-mcp/
├── src/
│   ├── server.ts          # MCP Server入口
│   ├── tools/
│   │   ├── parser.ts      # AST解析
│   │   ├── callgraph.ts   # 调用链追踪
│   │   ├── verifier.ts    # 漏洞验证
│   │   └── poc.ts         # PoC生成
│   ├── rules/
│   │   ├── php.json       # PHP安全规则
│   │   ├── python.json    # Python安全规则
│   │   └── java.json      # Java安全规则
│   └── utils/
│       ├── taint.ts       # 污点分析
│       └── sanitizer.ts   # 过滤函数识别
├── prompts/
│   ├── audit-system.md    # 系统Prompt
│   └── vuln-types/        # 各漏洞类型Prompt
├── tests/
├── package.json
└── README.md

Bewährte Methoden

✅ Tun

  • Modulweise auditieren, nicht das gesamte Projekt auf einmal einspeisen

  • Zuerst statische Werkzeuge laufen lassen, um verdächtige Punkte zu erhalten, anschließend mit der KI im Detail analysieren

  • Für jeden Schwachstellentyp eigene Prompts vorbereiten

  • Die KI vor dem Audit mit der Projektstruktur vertraut machen (Einstiegspunkte, Routen, Datenbank)

  • KI-Berichte manuell gegenprüfen, insbesondere „kritische“ Treffer

  • Audit-Verlauf speichern, um Prompts iterativ zu optimieren

❌ Nicht tun sollte

  • KI-Berichten nicht blind vertrauen, Fehlmeldungen sind unvermeidbar

  • Keine übermäßig komplexen Auditabläufe in Prompts beschreiben

  • Validierung der Schwachstellen nicht überspringen

  • Bei sensiblen Projekten keine Cloud-APIs verwenden (lokale Modelle einsetzen)

  • Schwachstellen in der Geschäftslogik nichtignorieren (KI ist darin schwächer)

Erwartete Ergebnisse

Schwachstellentyp

Recall

Präzision

Injection-Klassen

80%+

75%+

Deserialisierung

POP-Ketten-Findung übertrumpft menschliche Arbeits

-

Logikschwachstellen

Weiterhin überwiegend manuelles Audit

-

Gesamteffizienz: 3- bis 5-fache Steigerung (einschl. manueller Prüfzeit)

Open-Source-Lizenz

MIT License

Zugehörige Artikel

Beiträge

Geben Einreichungen und PRs sind willkommen!

Kontakt

Related MCP Connectors

Related MCP Servers