Install
$ agentstack add mcp-sim-xia-blind-auditor Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
🛡️ Blind Auditor - MCP Server
"Code -> audit -> amend -> audit again -> pass."
Blind Auditor is a mandatory code auditing system built on the MCP (Model Context Protocol). It uses a unique "Thinking Isolation" mechanism to force AI Agents to enter an independent "audit phase" and self-review their code before outputting the final result.
🧠 Core Philosophy: Thinking Isolation
Traditional AI coding is often "generate and output," which allows errors and biases to slip through. Blind Auditor introduces a middle layer:
- Intercept: When the Agent wants to output code, it must first submit it to Blind Auditor.
- Isolate: Blind Auditor does not return the result immediately. Instead, it injects a mandatory system instruction, forcing the Agent to pause its current persona and switch to a "Ruthless Auditor" role.
- Audit: In this isolated context, the Agent must scan the generated code line by line against the predefined
rules.json. - Release: The code is unlocked and returned to the user only when the audit score meets the threshold (default > 80) and there are no Critical issues.
🎯 Key Features
- 🛡️ Zero Trust Architecture: Default distrust of the Agent's initial draft; it must pass an audit.
- 💰 Zero Extra Cost: Reuses the host IDE's current session model, requiring no additional API Key.
- ⚖️ Bias Removal: Forces a perspective switch via Prompt injection to break generation inertia.
- 📏 Strict Compliance: Hard-codes team code standards (
rules.json) into the generation process, which is more effective than simple Prompts. - 🔄 Auto-Fix Loop: Automatically triggers a "fix-resubmit" loop upon audit failure until compliance is met or the maximum retry count is reached.
🚀 Quick Start
1. Prerequisites
This project requires Python 3.10+ and uv.
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Enter project directory
cd blind-auditor
# Install dependencies (automatically creates virtual environment)
uv sync
2. Configure Audit Rules (rules.json)
Create or edit rules.json in the project root. This is the auditor's "Rulebook".
{
"project_name": "MyCoreProject",
"strict_mode": true,
"max_retries": 3,
"rules": [
{
"id": "SEC-001",
"severity": "CRITICAL",
"description": "Strictly prohibit hardcoding any API Keys, passwords, or sensitive Tokens.",
"weight": 50
},
{
"id": "PERF-001",
"severity": "WARNING",
"description": "Avoid database queries or IO operations inside loops.",
"weight": 15
},
{
"id": "STYLE-001",
"severity": "PREFERENCE",
"description": "Use snake_case for variable names.",
"weight": 5
}
]
}
Configuration Fields:
severity:CRITICAL: Fatal error. If found, the audit fails immediately. Usually carries a high penalty.WARNING: Warning. Moderate penalty; accumulation can lead to failure.PREFERENCE: Style preference. Low penalty.weight: The penalty points deducted when this rule is violated (Total score: 100).
3. Configure IDE (Antigravity / Cursor / Windsurf)
Step A: Add System Prompt (Critical)
To ensure the Agent knows it must use this tool, add the following instruction to your .cursorrules or IDE System Prompt settings:
# Blind Auditor Protocol
**CRITICAL INSTRUCTION**:
You are integrated with the **Blind Auditor MCP**.
Whenever you generate code for a user request, you **MUST NOT** output the code block directly to the user.
**Execution Protocol**:
1. **Draft**: Generate the code internally in your thought process.
2. **Submit**: Call the `submit_draft` tool with your code and language.
3. **Obey**: The tool will return a strict "Audit Instruction". You MUST follow it exactly to audit your own code.
4. **Finalize**: Only when the tool returns "✅ AUDIT PASSED" can you display the final code to the user.
**Prohibited**:
- Do NOT output code blocks before passing the audit.
- Do NOT skip the audit step for "simple" changes.
Step B: Configure MCP Server
Add the following to your MCP client configuration file (e.g., claude_desktop_config.json or IDE settings):
Note: Replace /path/to/your/blind-auditor with the actual absolute path where you cloned this repository.
{
"mcpServers": {
"blind-auditor": {
"command": "uv",
"args": ["run", "--directory", "/path/to/your/blind-auditor", "blind-auditor"]
}
}
}
🔧 Tool Details
1. submit_draft
Submit a code draft.
- Input:
code(content),language(programming language) - Behavior: Locks the session and returns mandatory audit instructions.
2. submit_audit_result
Submit your audit conclusion.
- Input:
passed(bool): Whether you believe it passed.issues(list): List of issues found.score(int): Score from 0-100.- Behavior:
- If `score Agent
Agent["Agent Generates Draft"] -->|1. submit_draft| MCP MCP -->|2. Inject Audit Instructions| Agent
subgraph Isolation ["Thinking Isolation"] Agent -->|3. Self-Review| Agent Agent -->|4. submitauditresult| MCP end
MCP -->|5. Verdict| Decision{"Passed?"}
Decision -->|No - Issues Found| Retry["Retry Count +1"] Retry -->|Limit Not Reached| Fix["Agent Fixes Code"] Fix -->|Resubmit| Agent
Decision -->|Yes - Score >= 80| Final["✅ Output Final Code"]
Retry -->|Limit Reached| Force["⚠️ Force Output - With Warning"]
## ❓ Troubleshooting
**Q: The Agent always outputs code directly without calling tools.**
A: Check if the System Prompt is configured correctly. You must explicitly tell the Agent "Do NOT output code directly". You can also manually remind it in the chat: "Please audit via Blind Auditor first".
**Q: Why does it fail even if I give the code 100 points?**
A: Check if any `CRITICAL` rules in `rules.json` were triggered. Current logic mainly relies on the `score` passed by the Agent, but if `passed` is `True` while `score < 80`, the system will force a rejection.
**Q: Which programming languages are supported?**
A: Theoretically, all languages are supported. Blind Auditor itself does not parse code syntax but relies on the Agent's understanding to match descriptions in `rules.json`.
---
## 🛠️ Development Guide
```bash
# Run server
uv run blind-auditor
# Or run directly with Python module
uv run python -m src.main
# Debug mode (output to stderr)
# View print statements in src/main.py
📄 License
MIT License
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Sim-xia
- Source: Sim-xia/Blind-Auditor
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.