Universal AI security layer - MCP server for code scanning, PII detection, prompt injection defense, secret detection, and audit logging
Project description
GuardianShield
Universal AI security layer — an open-source MCP server for code scanning, PII detection, prompt injection defense, secret detection, dependency auditing, and audit logging.
Zero dependencies · 27 MCP tools · 5 safety profiles · 108+ detection patterns
Features
- Code Vulnerability Scanning — SQL injection, XSS, command injection, path traversal with CWE IDs and auto-fix remediation
- Cross-line Data Flow Analysis — DeepEngine tracks tainted data from sources to sinks across multiple lines using AST-based taint propagation (Python) and regex (JS/TS)
- Dependency Security — Version-aware CVE matching against OSV.dev for PyPI, npm, Go, and Packagist ecosystems
- Manifest Parsing — Auto-detects 11 formats (requirements.txt, package.json, yarn.lock, go.mod, composer.json, and more)
- Prompt Injection Defense — 9+ detection patterns for instruction override, role hijacking, ChatML injection
- PII Detection — Email, SSN, credit card, phone, IP — with automatic redaction in findings
- Secret Detection — AWS keys, GitHub tokens, Stripe keys, JWTs, passwords, connection strings
- Safety Profiles — 5 built-in profiles (general, education, healthcare, finance, children)
- Audit Logging — SQLite-backed scan history with finding retrieval and filtering
Install
pip install guardianshield
Quick Start
# Register with Claude Code
claude mcp add guardianshield -- guardianshield-mcp
# Or run directly
guardianshield-mcp
Editor Integration
# Claude Code
claude mcp add guardianshield -- guardianshield-mcp
# VS Code (.vscode/mcp.json)
{"servers": {"guardianshield": {"type": "stdio", "command": "guardianshield-mcp"}}}
# Cursor (.cursor/mcp.json)
{"mcpServers": {"guardianshield": {"command": "guardianshield-mcp"}}}
# Claude Desktop (claude_desktop_config.json)
{"mcpServers": {"guardianshield": {"command": "guardianshield-mcp"}}}
MCP Tools
Scanning
| Tool | Description |
|---|---|
scan_code |
Scan source code for vulnerabilities and hardcoded secrets |
scan_file |
Scan a single file (auto-detects language from extension) |
scan_directory |
Recursively scan a directory with filtering and progress streaming |
scan_input |
Check user/agent input for prompt injection attempts |
scan_output |
Check AI output for PII leaks and content violations |
check_secrets |
Detect hardcoded secrets and credentials |
scan_files |
Scan multiple files in one call |
scan_diff |
Parse unified diff and scan only added lines |
Dependency Security
| Tool | Description |
|---|---|
check_dependencies |
Check packages for known CVEs via OSV.dev (PyPI, npm, Go, Packagist) |
sync_vulnerabilities |
Sync the local OSV vulnerability database |
parse_manifest |
Parse any supported manifest file (11 formats) into dependency objects |
scan_dependencies |
Scan a directory for manifest files and check all deps for vulnerabilities |
False Positive Management
| Tool | Description |
|---|---|
mark_false_positive |
Mark a finding as false positive (flags future matches) |
list_false_positives |
List active false positive records with optional filter |
unmark_false_positive |
Remove a false positive record by fingerprint |
Engine Management
| Tool | Description |
|---|---|
list_engines |
List available analysis engines with capabilities |
set_engine |
Set active analysis engines for code scanning |
Three engines ship built-in: regex (line-by-line pattern matching, enabled by default), deep (cross-line taint tracking), and semantic (structure-aware confidence adjustment).
CI & Developer Workflow
| Tool | Description |
|---|---|
export_sarif |
Export findings as SARIF 2.1.0 JSON for GitHub Code Scanning and CI |
save_baseline |
Save current findings as a baseline for delta scanning |
scan_with_baseline |
Scan code and report only new findings vs. baseline |
check_quality_gate |
Evaluate findings against severity thresholds (pass/fail/warn) |
scan_files |
Scan multiple files in one call |
scan_diff |
Parse unified diff and scan only added lines |
Configuration & Utilities
| Tool | Description |
|---|---|
get_profile |
Get current safety profile configuration |
set_profile |
Switch safety profile (general, education, healthcare, finance, children) |
test_pattern |
Test a regex pattern against sample code for custom pattern development |
audit_log |
Query the security audit log |
get_findings |
Retrieve past findings with filters |
shield_status |
Get health, configuration, and OSV cache statistics |
Configuration
Set environment variables to customize behavior:
| Variable | Description | Default |
|---|---|---|
GUARDIANSHIELD_PROFILE |
Default safety profile | general |
GUARDIANSHIELD_AUDIT_PATH |
Path to SQLite audit database | ~/.guardianshield/audit.db |
GUARDIANSHIELD_DEBUG |
Enable debug logging (1) |
disabled |
Documentation
Full documentation: sparkvibe-io.github.io/GuardianShield
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file guardianshield-1.2.1.tar.gz.
File metadata
- Download URL: guardianshield-1.2.1.tar.gz
- Upload date:
- Size: 280.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cd0eed228a84e65a15696b57e9e1262ec8017c82ddae383522eb9d897e225be
|
|
| MD5 |
c9d68fba04d417cbc88e46046abf8b7c
|
|
| BLAKE2b-256 |
0726b7bdbf5bd28bdee4f95e8ba885fea540c6b6a42a03463e5566fb5c2a72bc
|
Provenance
The following attestation bundles were made for guardianshield-1.2.1.tar.gz:
Publisher:
publish.yml on sparkvibe-io/GuardianShield
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
guardianshield-1.2.1.tar.gz -
Subject digest:
7cd0eed228a84e65a15696b57e9e1262ec8017c82ddae383522eb9d897e225be - Sigstore transparency entry: 1014724227
- Sigstore integration time:
-
Permalink:
sparkvibe-io/GuardianShield@0c7afd2c198bc7fb4663eb95ce8166b27a2895b6 -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/sparkvibe-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0c7afd2c198bc7fb4663eb95ce8166b27a2895b6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file guardianshield-1.2.1-py3-none-any.whl.
File metadata
- Download URL: guardianshield-1.2.1-py3-none-any.whl
- Upload date:
- Size: 130.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3cd3c188fa51c07ee233758a6ad5fb97c70edbd5bec888bdefd7e82ae5c88a6
|
|
| MD5 |
afc71141aad065ca36348b88c2a38a1d
|
|
| BLAKE2b-256 |
be58e37295f988adf74c6d6e4dbd98531f007026f421d9f2c19c44537b863dde
|
Provenance
The following attestation bundles were made for guardianshield-1.2.1-py3-none-any.whl:
Publisher:
publish.yml on sparkvibe-io/GuardianShield
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
guardianshield-1.2.1-py3-none-any.whl -
Subject digest:
d3cd3c188fa51c07ee233758a6ad5fb97c70edbd5bec888bdefd7e82ae5c88a6 - Sigstore transparency entry: 1014724303
- Sigstore integration time:
-
Permalink:
sparkvibe-io/GuardianShield@0c7afd2c198bc7fb4663eb95ce8166b27a2895b6 -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/sparkvibe-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0c7afd2c198bc7fb4663eb95ce8166b27a2895b6 -
Trigger Event:
release
-
Statement type: