| Version | Supported |
|---|---|
| 0.2.0 | Yes |
| 0.1.0 | Yes |
If you discover a security vulnerability in Agent Fixer Stage, please report it responsibly.
Do NOT open a public GitHub Issue for security vulnerabilities.
Instead, report via email:
- Email: amurlaniakea@gmail.com
- Subject:
[SECURITY] Agent Fixer Stage vulnerability
You will receive a response within 48 hours.
Agent Fixer Stage is a defense tool, but has limitations:
- Layer 0 (Normalization): Unicode NFKC + homoglyph detection + leetspeak map. Covers common evasion techniques.
- Layer 1 (Pattern Matching): 80 patterns (EN, ES, FR, DE, IT, PT) with weighted scoring. 3 passes (normal, leetspeak variants, cross-line).
- Layer 2 (Embeddings): TF-IDF + cosine similarity with 33 malicious examples. Semantic detection.
- Layer 2.5 (Scope Drift): TF-IDF cosine similarity between scope and output. Detects off-topic outputs.
- Layer 3 (LLM Judge): Optional LLM-based consistency check (Ollama or remote API).
- MCP Integration: DefensePipeline for tool audit + output audit combination.
- Global: ~90-95% of common attacks (multi-language, multi-layer).
- Not 100% — sophisticated attackers with knowledge of patterns can design evasions.
- TF-IDF embeddings son menos precisos que modelos transformer para similitud semántica.
- LLM Judge requiere Ollama ejecutándose localmente o API key para remoto.
- Scope Drift Detection con TF-IDF es vulnerable a padding attacks (repetir scope para evadir). Mitigation: usar mode=full para alta seguridad.
- Pattern matching solo cubre firmas de ataque conocidas en 5 idiomas.
- Zero-width chars como separador inter-palabra ahora se detectan, pero pueden existir otras técnicas de colisión.
- LLM Judge es fail-open: si el servicio no disponible, retorna consistent=True por diseño. El Fixer NO es un single point of failure — Capas 1 y 2.5 proveen defensa base.
Use Agent Fixer Stage as one layer in a defense-in-depth strategy. It is not a silver bullet.
No runtime dependencies (Python stdlib only).
Dev: pytest, black, ruff, mypy, pytest-cov
Optional: requests (for LLM judge remote mode)