Strukturierte Signale
Native Detektoren prüfen exakte und kontextgebundene Muster. Dazu gehören Injection-Signale, Secrets, Credentials, Identifikatoren sowie riskante MCP- und Operations-Muster. Treffer enthalten die Fundstelle in der Eingabe.
Patronus Ark ist der Scanning-Kern hinter Patronus Protect. Die Library untersucht Eingaben wie Prompts, Dokumente, Tool-Aufrufdaten und Tool-Ergebnisse. Daraus erzeugt sie lokale Security-Evidenz für Prompt Injection, Datenabfluss, personenbezogene Daten und Agent-Risiken.
pip install patronus-arkcargo add patronus-arkArk zerlegt lange Eingaben in Chunks, prüft exakte Signale und klassifiziert komplexere Risiken mit geteilten Modellrepräsentationen. Anwendungen erhalten strukturierte Ergebnisse, auf denen sie Regeln und Entscheidungen aufbauen können.
Native Detektoren prüfen exakte und kontextgebundene Muster. Dazu gehören Injection-Signale, Secrets, Credentials, Identifikatoren sowie riskante MCP- und Operations-Muster. Treffer enthalten die Fundstelle in der Eingabe.
Ein NTDB nutzt die einmal berechnete mmBERT-Repräsentation. Neuronale Heads, LightGBM, logistische Regression und Klassen-Zentroide werden zu einer günstigen ersten Entscheidung fusioniert.
Das Promote Gate leitet nur Chunks weiter, bei denen zusätzlicher Kontext voraussichtlich hilft. Lion Warden führt dafür die tieferen mmBERT-Schichten aus und klassifiziert mehrere Security-Aufgaben mit einem gemeinsamen Transformer.
Zehn Kategorien, jede kann gezielt aktiviert werden. Das Ergebnis bleibt strukturiert, egal ob eine native Regel oder ein lokales Modell entschieden hat.
Manipulierte oder konkurrierende Anweisungen erkennen.
Schützenswerte Dokumentinhalte klassifizieren.
Die Art einer erkannten Bedrohung einordnen.
Secrets, Credentials und weitere definierte Datenfamilien finden.
Personenbezogene Daten mit Evidenz-Spans erkennen.
Semantische Entitäten wie Personen, Organisationen und Orte erkennen.
Das verwendete Werkzeug einordnen.
Die beabsichtigte Aktion klassifizieren.
Tool-Metadaten für nachgelagerte Regeln bestimmen.
Die Absicht hinter einem Routing-Schritt erkennen.
Die gleiche Engine steht als Rust-Crate und als abi3-kompatibles Python-Paket bereit. Asynchrone Queues sind der Standard; synchrone Scans bleiben für einfache Integrationen verfügbar.
pip install patronus-arkfrom patronus_ark import SecurityGateway
scanner = SecurityGateway(
categories=["injection", "dlp", "pii"],
max_level="l2",
)
scanner.warmup()
results = scanner.scan_all(text)cargo add patronus-arkuse patronus_ark::{
SecurityCategory, SecurityGateway, SecurityLevel,
};
let mut scanner = SecurityGateway::with_max_level(
vec![SecurityCategory::Injection, SecurityCategory::Dlp],
SecurityLevel::L2, None, true,
);
scanner.warmup()?;
let results = scanner.scan_all(text);Modelle und Scanner sind kein starrer Gesamtblock. Deine Anwendung entscheidet, welche Prüfungen für einen konkreten Kontext nötig sind.
Turn-Level, Scanner, L1-Regeln und Modellgruppen lassen sich pro Request über Metadaten steuern.
Eine gemeinsame Ergebnis-Queue liefert fertige Scans aus, während tiefere Prüfungen weiterlaufen.
Asset-Synchronisierung und Runtime-Start sind getrennt. L1 benötigt überhaupt keine Downloads.
Der integrierte Benchmark erfasst Accuracy, Macro-F1, Latenz, Durchsatz und Peak-RSS auf den mitgelieferten Samples.
Ark Core, der Erkennungskern unter MIT-Lizenz, findet personenbezogene Daten und Secrets mit Regeln, Prüfsummen und Kontextprüfungen, ohne Modell. Gemessen gegen Presidio und die üblichen Secret-Scanner auf denselben Daten.
F1 bei exakter Spanne über alle gemeinsamen PII-Typen, je Datenfamilie. Neutral: öffentliche Datensätze (Gretel, OpenPII, TAB). Presidio-nah: Presidios eigene Testdaten. Ark-eigen: deutsche und EU-Testdaten.
Neutral · Ark (ausgewogen)
70,0 %Neutral · Presidio (abgestimmt)
40,6 %Presidio-nah · Ark (ausgewogen)
78,1 %Presidio-nah · Presidio (abgestimmt)
71,3 %Ark-eigen · Ark (ausgewogen)
88,2 %Ark-eigen · Presidio (abgestimmt)
39,6 %| Familie | System | Präzision | Recall | F1 | Fehlalarme |
|---|---|---|---|---|---|
| Neutral | Ark (ausgewogen) | 72,2 | 67,9 | 70,0 | 0 |
| Neutral | Presidio (abgestimmt) | 35,3 | 47,7 | 40,6 | 0 |
| Presidio-nah | Ark (ausgewogen) | 99,7 | 64,2 | 78,1 | 0 |
| Presidio-nah | Presidio (abgestimmt) | 92,1 | 58,2 | 71,3 | 0 |
| Ark-eigen | Ark (ausgewogen) | 99,9 | 79,0 | 88,2 | 0 |
| Ark-eigen | Presidio (abgestimmt) | 54,0 | 31,3 | 39,6 | 215 |
F1 bei exakter Spanne auf 1.757 Secrets und 7.012 schwierigen Negativen (Platzhalter, Testschlüssel), Standardprofile.
Patronus Ark L1 · 10 Fehlalarme
89,4 %gitleaks 8.30.1 · 974 Fehlalarme
51,1 %TruffleHog 3.97.9 · 326 Fehlalarme
46,2 %detect-secrets 1.5.0 · 1.731 Fehlalarme
40,9 %Fehlalarme je MB auf 37,8 MB echtem Quellcode aus 8 Repositories und 7,5 MB deutschen und englischen Dokumenten. Durchsatz: 10-MiB-Repository-Scan auf einer CPU. Scoreboard von patronus-security (Ark 0.1.10)
| System | Präzision | Recall | F1 | Fehlalarme | Code FP/MB | Dokumente FP/MB | MiB/s |
|---|---|---|---|---|---|---|---|
| Patronus Ark L1 | 99,3 | 81,3 | 89,4 | 10 | 0,05 | 0,13 | 6,47 |
| gitleaks 8.30.1 | 49,1 | 53,4 | 51,1 | 974 | 0,21 | 0,00 | 5,40 |
| TruffleHog 3.97.9 | 63,2 | 36,4 | 46,2 | 326 | 1,43 | 0,00 | 7,04 |
| detect-secrets 1.5.0 | 33,9 | 51,6 | 40,9 | 1.731 | 36,28 | 0,00 | 0,36 |
F1 bei exakter Spanne je Gruppe, in Klammern die Zahl der Secrets. Alle Scanner offline mit ihren Standardregeln.
ArkgitleaksTruffleHogdetect-secrets
API_KEY (320)
Ark
100,0 %gitleaks
46,5 %TruffleHog
99,5 %detect-secrets
12,6 %CLOUD_KEY (200)
Ark
100,0 %gitleaks
49,1 %TruffleHog
32,6 %detect-secrets
32,9 %PAYMENT_KEY (80)
Ark
100,0 %gitleaks
39,2 %TruffleHog
28,0 %detect-secrets
21,8 %SECRET_TOKEN (360)
Ark
99,2 %gitleaks
47,6 %TruffleHog
71,7 %detect-secrets
45,5 %CREDENTIAL (320)
Ark
98,8 %gitleaks
23,7 %TruffleHog
11,4 %detect-secrets
11,9 %PASSWORD_HASH (40)
Ark
91,9 %gitleaks
0,0 %TruffleHog
0,0 %detect-secrets
0,0 %PRIVATE_KEY (37)
Ark
88,1 %gitleaks
46,8 %TruffleHog
45,8 %detect-secrets
56,1 %CRYPTO_KEY (80)
Ark
100,0 %gitleaks
0,0 %TruffleHog
0,0 %detect-secrets
0,0 %p95 je Aufruf auf deutschem und englischem Text, Intel-Server mit 6 CPUs. Presidio braucht bei 100 KiB Sekunden, Ark Millisekunden.
Ark (nativ)
28,4 msArk (Python)
35,9 msPresidio (abgestimmt)
11.978,8 msPresidio (Standard)
13.634,6 ms| System | Eingabe | p50 ms | p95 ms | p99 ms |
|---|---|---|---|---|
| Ark (Python) | kurz | 0,3 | 0,4 | 0,5 |
| Ark (Python) | 4 KiB | 1,8 | 2,6 | 3,0 |
| Ark (Python) | 100 KiB | 30,3 | 35,9 | 39,6 |
| Ark (nativ) | kurz | 0,2 | 0,3 | 0,4 |
| Ark (nativ) | 4 KiB | 1,5 | 2,1 | 2,3 |
| Ark (nativ) | 100 KiB | 23,3 | 28,4 | 29,1 |
| Presidio (Standard) | kurz | 10,2 | 13,9 | 16,6 |
| Presidio (Standard) | 4 KiB | 212,5 | 338,8 | 390,2 |
| Presidio (Standard) | 100 KiB | 10.407,5 | 13.634,6 | 15.005,9 |
| Presidio (abgestimmt) | kurz | 12,5 | 30,8 | 33,9 |
| Presidio (abgestimmt) | 4 KiB | 200,7 | 259,9 | 290,9 |
| Presidio (abgestimmt) | 100 KiB | 9.803,6 | 11.978,8 | 12.399,7 |
Das Decision Steering Gate legt sich vor jedes Entscheidungsmodell. Es teilt nicht vertrauenswürdige Inhalte in Einheiten, fragt das Modell ohne jede einzelne erneut und behält bei riskanten Optionen das höchste Risiko. Mittlerer Angriffserfolg über sechs Entscheidungsmodelle und fünf Aufgaben, niedriger ist besser.
Ohne Gate
28,1 %Mit Decision Steering Gate
0,3 %Je Aufgabe 100 Testfälle mit drei Angriffen aus sechs Claim-Familien. Decision Steering Gate, 17. Oktober 2026
Der Quellcode von Ark ist öffentlich einsehbar. Für Community-Projekte und ausgewählte Vorhaben stellen wir die Library kostenlos bereit; für proprietäre Produkte gibt es eine kommerzielle Lizenz.
Du arbeitest an einem Community-Projekt, an Forschung oder an einem Vorhaben, das wir unterstützen sollten? Dann kannst du Ark vollständig kostenlos nutzen.
Community-Lizenz anfragen →Ark in ein proprietäres Produkt integrieren, ohne dessen Quellcode unter GPL veröffentlichen zu müssen.
Lizenz besprechen →