Skip to content

injection_scanner

injection_scanner

Prompt injection scanner — detect malicious patterns in text.

Classes

InjectionScanResult dataclass

InjectionScanResult(is_clean: bool, findings: List[ScanFinding], threat_level: ThreatLevel)

Result of an injection scan.

InjectionScanner

InjectionScanner()

Scan text for prompt injection patterns.

Implements pattern-based detection for common injection techniques: - System prompt overrides - Shell/code injection - Data exfiltration attempts - Jailbreak patterns - Delimiter injection

Source code in src/openjarvis/security/injection_scanner.py
def __init__(self) -> None:
    self._patterns = [
        (re.compile(pat), name, level, desc)
        for pat, name, level, desc in _INJECTION_PATTERNS
    ]
    from openjarvis._rust_bridge import get_rust_module
    _rust = get_rust_module()
    self._rust_impl = _rust.InjectionScanner()
Functions
scan
scan(text: str) -> InjectionScanResult

Scan text for injection patterns — always via Rust backend.

Source code in src/openjarvis/security/injection_scanner.py
def scan(self, text: str) -> InjectionScanResult:
    """Scan text for injection patterns — always via Rust backend."""
    from openjarvis._rust_bridge import injection_result_from_json
    return injection_result_from_json(self._rust_impl.scan(text))