1. Conduid
  2. Developer Tools
  3. Owasp Wstg RAG
MCP server · Developer Tools

Owasp Wstg RAG

OWASP Web Security Testing Guide RAG system with ChromaDB, MCP for Claude Code

Unclaimed last commit 10 months ago devtools
50Fair

Scored 5 months ago · breakdown

About Owasp Wstg RAG

Owasp Wstg RAG is an MCP server published by zilbonn in the Developer Tools category: oWASP Web Security Testing Guide RAG system with ChromaDB, MCP for Claude Code.

The repository has 23 stars and 3 forks, with the last commit 10 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/zilbonn/OWASP-WSTG-Rag

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (8)

get_wstg_documentGet document by ID

Parameters not published.

get_wstg_test_caseGet complete test case by WSTG ID

Parameters not published.

list_wstg_categoriesList all categories and WSTG IDs

Parameters not published.

search_test_methodologySearch for how-to testing guides

Parameters not published.

search_test_objectivesSearch for test objectives

Parameters not published.

search_wstgSearch WSTG for testing methodologies

Parameters not published.

wstg_healthHealth check

Parameters not published.

wstg_infoDatabase statistics

Parameters not published.

Ask AI

✦

Ask AI about Owasp Wstg RAG

Powered by Claude · Grounded in docs

I know everything about Owasp Wstg RAG. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

OWASP WSTG RAG

A Retrieval-Augmented Generation (RAG) system that indexes the OWASP Web Security Testing Guide (WSTG) into a vector database, providing instant access to security testing methodologies via REST API and MCP (Model Context Protocol) for Claude Code integration.

Features

  • Complete WSTG Coverage - All 12 WSTG testing categories indexed and searchable
  • Semantic Search - Find relevant testing methodologies using natural language queries
  • MCP Integration - Direct integration with Claude Code for AI-assisted penetration testing
  • REST API - HTTP endpoints for programmatic access
  • WSTG ID Lookup - Retrieve complete test cases by WSTG identifier (e.g., WSTG-INPV-05)

WSTG Categories

Category WSTG ID Description
Information Gathering WSTG-INFO Fingerprinting, enumeration, mapping
Configuration WSTG-CONF Server/platform configuration testing
Identity Management WSTG-IDNT User registration, account provisioning
Authentication WSTG-ATHN Login, password policy, MFA testing
Authorization WSTG-ATHZ Privilege escalation, IDOR, access control
Session Management WSTG-SESS Session tokens, cookies, fixation
Input Validation WSTG-INPV SQLi, XSS, command injection, SSTI
Error Handling WSTG-ERRH Error messages, stack traces
Cryptography WSTG-CRYP TLS, encryption, hashing
Business Logic WSTG-BUSL Workflow bypass, file upload
Client-Side WSTG-CLNT DOM XSS, clickjacking, WebSockets
API Testing WSTG-APIT REST, GraphQL, API security

Quick Start

1. Install Dependencies

cd RAG_runner
pip install -r requirements.txt

2. Build the Database

python3 build_database.py

This will:

  • Parse all OWASP WSTG HTML files
  • Create semantic chunks for retrieval
  • Build the ChromaDB vector database

3. Start the Server

python3 -m server.http_server

Server runs on http://localhost:5004

4. Test the API

# Health check
curl http://localhost:5004/health

# Search for SQL injection testing
curl -X POST http://localhost:5004/search \
  -H "Content-Type: application/json" \
  -d '{"query": "SQL injection testing methodology"}'

# Get specific WSTG test case
curl http://localhost:5004/wstg/WSTG-INPV-05

REST API Endpoints

Endpoint Method Description
/health GET Health check
/info GET Database statistics
/list GET List all documents
/categories GET List categories and WSTG IDs
/doc/{id} GET Get document by ID
/wstg/{id} GET Get all chunks for WSTG ID
/search POST Semantic search

Search Request Body

{
  "query": "SQL injection testing",
  "n_results": 5,
  "category": "input_validation",
  "wstg_id": "WSTG-INPV-05"
}

Claude Code Integration (MCP)

Add to ~/.claude.json:

{
  "mcpServers": {
    "owasp-wstg-rag": {
      "command": "python3",
      "args": ["/path/to/OWASP_WSTG_Rag/RAG_runner/server/mcp_client.py"],
      "env": {
        "WSTG_RAG_URL": "http://localhost:5004"
      }
    }
  }
}

MCP Tools

Tool Description
search_wstg Search WSTG for testing methodologies
search_test_methodology Search for how-to testing guides
search_test_objectives Search for test objectives
get_wstg_test_case Get complete test case by WSTG ID
get_wstg_document Get document by ID
list_wstg_categories List all categories and WSTG IDs
wstg_health Health check
wstg_info Database statistics

Example Usage in Claude Code

# Search for SQL injection testing methodology
search_wstg("SQL injection testing methodology")

# Get specific test case
get_wstg_test_case("WSTG-INPV-05")

# Search within a category
search_wstg("authentication bypass", category_filter="authentication")

# Get test objectives for IDOR
search_test_objectives("IDOR insecure direct object reference")

Project Structure

OWASP_WSTG_Rag/
├── README.md
├── CLAUDE.md                    # Claude Code project guide
├── raw_data/                    # OWASP WSTG HTML source files
│   ├── 01-Information_Gathering/
│   ├── 02-Configuration_and_Deployment_Management_Testing/
│   ├── 03-Identity_Management_Testing/
│   ├── 04-Authentication_Testing/
│   ├── 05-Authorization_Testing/
│   ├── 06-Session_Management_Testing/
│   ├── 07-Input_Validation_Testing/
│   ├── 08-Testing_for_Error_Handling/
│   ├── 09-Testing_for_Weak_Cryptography/
│   ├── 10-Business_Logic_Testing/
│   ├── 11-Client-side_Testing/
│   └── 12-API_Testing/
└── RAG_runner/
    ├── build_database.py        # Main build pipeline
    ├── requirements.txt
    ├── parsers/
    │   └── wstg_parser.py       # HTML parser for WSTG
    ├── chunking/
    │   └── chunker.py           # Semantic chunking
    ├── server/
    │   ├── vector_store.py      # ChromaDB wrapper
    │   ├── http_server.py       # REST API server
    │   └── mcp_client.py        # MCP tools for Claude Code
    └── data/
        ├── processed/           # Intermediate JSON files
        └── chroma_db/           # Vector database

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                    OWASP WSTG HTML Files                        │
│                      (raw_data/*.html)                          │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             ▼
┌─────────────────────────────────────────────────────────────────┐
│                     wstg_parser.py                              │
│              Parse HTML → Structured JSON                       │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             ▼
┌─────────────────────────────────────────────────────────────────┐
│                       chunker.py                                │
│              Create Semantic Chunks for RAG                     │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             ▼
┌─────────────────────────────────────────────────────────────────┐
│                   ChromaDB Vector Store                         │
│                 (data/chroma_db/)                               │
└────────────────────────────┬────────────────────────────────────┘
                             │
              ┌──────────────┴──────────────┐
              ▼                             ▼
┌──────────────────────────┐   ┌──────────────────────────┐
│    http_server.py        │   │    mcp_client.py         │
│    REST API :5004        │   │    MCP for Claude Code   │
│                          │   │                          │
│  GET  /health            │   │  search_wstg()           │
│  GET  /info              │   │  get_wstg_test_case()    │
│  GET  /wstg/{id}         │   │  search_test_methodology │
│  POST /search            │   │  list_wstg_categories()  │
└──────────────────────────┘   └──────────────────────────┘

Use Cases

AI-Assisted Penetration Testing

Integrate with Claude Code to get instant access to OWASP testing methodologies during security assessments:

User: "How do I test for SQL injection?"

Claude: [Queries WSTG RAG]
→ Returns WSTG-INPV-05 methodology with:
  - Test objectives
  - Step-by-step testing procedures
  - Example payloads
  - Tools to use

Automated Security Testing

Use the REST API to integrate WSTG methodologies into automated security pipelines:

import requests

# Get testing methodology for current test
response = requests.post('http://localhost:5004/search', json={
    'query': 'session fixation testing',
    'n_results': 3
})
methodology = response.json()['results']

Security Training

Quick reference for security testing methodologies during training or CTF challenges.

Requirements

  • Python 3.8+
  • ChromaDB
  • BeautifulSoup4
  • httpx
  • MCP SDK (for Claude Code integration)

License

This project uses content from the OWASP Web Security Testing Guide, which is licensed under Creative Commons Attribution-ShareAlike 4.0.

Related Projects

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About Owasp Wstg RAG

How do I install Owasp Wstg RAG?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Owasp Wstg RAG safe to use with an AI agent?

Its trust score is 50 out of 100 (fair). It passes 2 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Owasp Wstg RAG still maintained?

The last commit was 10 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.