
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
promptsentry
Advanced tools
AI prompt security scanner with differential validation - detects vulnerabilities before they reach production
AI Prompt Security Scanner - Detect and prevent vulnerabilities in AI prompts before they reach production.
pip install promptsentry
# Initialize PromptSentry
promptsentry init
# Install git pre-commit hook
cd your-project
promptsentry install-hook
# Scan a file manually
promptsentry scan chatbot.py
# Scan without LLM (faster, pattern matching only)
promptsentry scan --no-llm chatbot.py
PromptSentry uses a 3-stage pipeline to detect vulnerabilities:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ 1. DETECT │ -> │ 2. PATTERNS │ -> │ 3. SLM │
│ Prompts │ │ Check │ │ ANALYSIS │
└─────────────┘ └──────────────┘ └─────────────┘
Fast filter OWASP LLM Top 10 Ollama + Qwen
(0.1s) rules (0.2s) (optional, 2s)
Quickly identifies AI prompts in source code using heuristics and pattern matching.
Applies OWASP LLM Top 10 2025 rules for deterministic vulnerability detection.
Uses Ollama with Qwen 2.5 Coder 0.5B for intelligent, context-aware vulnerability assessment. OWASP rules are passed as context to the model for comprehensive analysis.
Based on OWASP LLM Top 10:
| Category | Description | Detection |
|---|---|---|
| LLM01 | Prompt Injection | Direct concatenation, missing delimiters, weak system prompts |
| LLM02 | Sensitive Information Disclosure | PII, credentials, API keys in prompts |
| LLM03 | Supply Chain Vulnerabilities | Vulnerable dependencies, untrusted models/data |
| LLM04 | Data and Model Poisoning | Poisoned training data, malicious fine-tuning |
| LLM05 | Improper Output Handling | eval(), exec(), subprocess, SQL/XSS from LLM output |
| LLM06 | Excessive Agency | Unrestricted file/network access, auto-execution |
| LLM07 | System Prompt Leakage | Extractable logic, secrets in system prompts |
| LLM08 | Vector and Embedding Weaknesses | RAG poisoning, embedding manipulation |
| LLM09 | Misinformation | Hallucinations, lack of factual grounding |
| LLM10 | Unbounded Consumption | No rate limiting, infinite loops, resource exhaustion |
PromptSentry tracks issues across commits and only blocks for previously identified unfixed issues:
This prevents the frustrating experience of fixing one issue only to have the scanner find new nitpicks.
promptsentry init # Initialize PromptSentry
promptsentry install-hook # Install git pre-commit hook
promptsentry uninstall-hook # Remove the hook
promptsentry scan file.py # Scan a single file (LLM enabled by default)
promptsentry scan . # Scan current directory
promptsentry scan --staged # Scan staged git files
promptsentry scan --no-llm # Disable LLM for faster scanning
promptsentry issues list # List tracked issues
promptsentry issues stats # Show statistics
promptsentry issues clear file.py # Clear issues for a file
promptsentry issues ignore ID # Ignore a specific issue
promptsentry config show # Show current config
promptsentry config set scan.threshold 80 # Set blocking threshold
promptsentry config reset # Reset to defaults
promptsentry rules # List all detection rules
Configuration is stored in ~/.promptsentry/config.yaml:
scan:
threshold: 50 # Score to block (0-100)
min_confidence: 0.6 # Prompt detection threshold
file_extensions:
- .py
- .js
- .ts
llm:
model_name: deepseek-r1:1.5b # Ollama model
enabled: true # Enable LLM analysis by default
timeout: 30 # LLM request timeout (seconds)
hook:
enabled: true
block_on_issues: true
allow_bypass: true # Allow --no-verify
# First commit - issues detected
$ git add chatbot.py
$ git commit -m "Add chatbot"
🔍 PromptSentry: Scanning staged files...
✓ Found 1 prompt in chatbot.py
❌ COMMIT BLOCKED - 2 vulnerabilities found
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 HIGH - Direct Concatenation
chatbot.py:15
Problem:
> prompt = "Translate: " + user_input
Fix:
> prompt = f"Translate: <input>{user_input}</input>"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Fix and commit again
$ git commit -m "Fix: Add delimiters"
🔍 PromptSentry: Checking fixes...
✅ Fixed: Direct Concatenation ✓
🎉 All vulnerabilities resolved!
✅ COMMIT ALLOWED
# Clone repository
git clone https://github.com/Brightlord5/PromptGuard
cd PromptGuard
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
black promptsentry
ruff check promptsentry
MIT License - see LICENSE for details.
Made with ❤️ for secure AI development
FAQs
AI prompt security scanner with differential validation - detects vulnerabilities before they reach production
We found that promptsentry demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.