MAVENS · Funktionsübersicht

Vom verbundenen Projekt zum nachprüfbaren Ergebnis.

MAVENS prüft die Sicherheit deiner Anwendung anhand ihrer Funktionen, Datenflüsse und Zugriffsregeln. MAVENS.mcp leitet daraus die Prüfanforderungen ab, bewertet Risiken und liefert konkrete Schritte zur Behebung. Über die Produktionsfreigabe entscheidest du.

So prüft MAVENS.mcp dein Produkt.

MAVENS verbindet die Analyse deiner Anwendung mit gezielten Sicherheitsprüfungen. Du erhältst nachvollziehbare Befunde, einen verständlichen Bericht und konkrete Aufgaben für deine Coding-KI.

Jede Prüfung läuft gegen einen festen Commit deines Repositories. Du bekommst einen Bericht, der zuerst die eine Frage beantwortet: freigabefähig oder nicht. Danach folgen Aufgaben statt Einzeltreffer, jede mit Priorität und Zuständigkeit.

Was geprüft wird.

20 Prüfverfahren aus vier Regelquellen: dem MAVENS-Regelkatalog (48 Regeln), Semgrep (598 Regeln: OWASP Top 10, Secrets, JavaScript), Gitleaks (222 Secret-Muster, inklusive Git-Historie) und Trivy (563 Infrastruktur-Prüfungen). Dazu kommen die Schwachstellen-Datenbanken für Abhängigkeiten. Nicht jedes Kriterium passt auf jedes Projekt: Der Bericht nennt, wie viele auf deinen Code anwendbar waren und wie viele davon ohne Befund blieben.

Ein ausgefallenes oder nicht anwendbares Verfahren gilt nie als bestanden. Testcode, Fixtures und Designdateien werden gezählt, aber nicht als Aufgabe geführt. Eine Prüfung ohne Datenbankzugang verbindet sich nie mit einer Datenbank; die Live-Prüfung der Mandantentrennung bleibt dann sichtbar offen.

Drei Prioritäten. Eine Zuständigkeit je Aufgabe.

Sofort

Vor dem nächsten Release. Von außen ausnutzbar oder Datenverlust möglich. Beispiel: eine kritische Lücke im Framework, ein Zugangsschlüssel in der Git-Historie, ein TRUNCATE in einer Migration.

Zeitnah

In den nächsten Sprint. Erhöht das Risiko, ist aber nicht direkt ausnutzbar. Beispiel: personenbezogene Daten im Logging, ungepinnte CI-Actions, fehlende Schutz-Header.

Ordnung

Kein akutes Risiko. Nachweise, Hygiene, Vorbereitung auf DSGVO- und CRA-Nachfragen. Beispiel: Verarbeitungsverzeichnis, Support-Policy, Lizenzinventar.

Wer erledigt es

Jede Aufgabe trägt ihre Zuständigkeit: KI-Agent (mechanisch im Code), Update und Release (Baustein anheben, Testlauf, Release) oder Mensch entscheidet (Schlüssel rotieren, Nachweise mit Inhalt füllen). Priorität und Zuständigkeit stammen aus dem versionierten Regelkatalog, nicht aus einer Bewertung zur Laufzeit.

Die Einzeltreffer werden nach Ursache zusammengefasst: 80 Log-Stellen mit derselben Ursache sind eine Aufgabe mit einer Behebung, nicht 80 Befunde. Jede Aufgabe nennt die Folge, wenn man sie liegen lässt, die Behebung und die Fundstellen.

Was das für DSGVO, CRA und KI-Verordnung bedeutet.

Der Bericht prüft im Code, was sich dort prüfen lässt: technische Schutzmaßnahmen und das Vorhandensein der geforderten Nachweise. Je Instrument zeigt eine Pflichten-Matrix Artikel, Ergebnis und was der Scan gesehen hat. Ob ein Gesetz für den Betreiber gilt, ergibt sich nicht aus dem Code: Dafür stehen drei Fragen an den Betreiber bei jedem Instrument. Ein Prüfbericht ist keine Rechts- oder Konformitätsgarantie.

Eine Evidenzbasis, zwei verständliche Ausgaben.

Für Menschen: die Antwort zuerst

Der PDF-Bericht sagt auf der ersten Seite, ob der Stand freigabefähig ist, wie viele Kriterien ohne Befund blieben und wie viele Aufgaben sofort, zeitnah oder zur Ordnung anstehen. Ein ausgefallenes Prüfverfahren erscheint als Lücke, nicht als zusätzliche Schwachstelle.

Für die Coding-KI: dieselben Befunde, maschinenlesbar

Das MCP-Ergebnis liefert die Befunde mit Fundstellen, Regel-IDs, Priorität und Zuständigkeit sowie den Link zum vollständigen Bericht. Die KI fasst zusammen und setzt nur um, was du ausdrücklich freigibst.

Neue Bedrohungen. Aktuelle Bewertungen.

Neue Schwachstellen, Leak-Hinweise, Prompt Injection und Jailbreaks fließen nach fachlicher Prüfung in versionierte Regeln und gezielte Neubewertungen ein. MAVENS.mcp ordnet neue Erkenntnisse den betroffenen Produktfunktionen zu. Entscheidend sind der geprüfte Stand und die nachgewiesene Produktwirkung.

Du wählst zwischen einer einmaligen Prüfung, laufenden Hinweisen und automatischen Nachprüfungen. Monitoring, Nachtests und Benachrichtigungen richten sich nach deinen ausdrücklich erteilten Berechtigungen. Frühere Berichte bleiben unverändert; neue Erkenntnisse und Korrekturen erhalten eine eigene nachvollziehbare Revision.

Prüfkatalog ansehen · Produktupdates ansehen

Prüfung und Nachweis

Von der Prüfung zur gezielten Korrektur.

MAVENS.mcp bindet jede Prüfung an einen festen Projektstand. Befunde führen zu gezielten Korrekturen und einer erneuten Prüfung. Die Grafik zeigt den Ablauf am Beispiel des lokalen Prüfkatalogs; Anforderungen und Prüftiefe ergeben sich aus deiner Anwendung.

Evidence-first-Ablauf von MAVENS: Repository, Snapshot, 20 Prüfläufe, 1.431 versionierte Kriterien, Verdict und Nachweis; danach folgen getrennt die menschliche Freigabe und der externe Release.
MAVENS QUALITY GATEEVIDENCE PIPELINE · V5
GEBUNDEN · VERSIONIERT · NACHWEISBAR
01 · INPUTRepositoryInstallation · Projekt · Commit
02SnapshotTree + Policy
0320 LäufeSecurity + Data
041.431 Kriterienversioniert
05VerdictGREEN / BLOCKED
06 · OUTPUTNachweisDigest · Findings · Revision
BEI BLOCKED◉ Findingbegrenzter Fixneuer Snapshot↺ RE-CHECK
⏸ MAVENS ENDET MIT DEM NACHWEIS
AUSSERHALB DER TECHNISCHEN PRÜFUNGDer Nachweis informiert.
Ein Mensch entscheidet über den Release.
DECISIONHuman Approvalgültig · aktuell · getrennt
EXTERNALReleaseShip / Deployment
01 · CONNECT

Repository binden

GitHub App prüft Installation und stabile Repository-ID. Namen oder URLs bestimmen nie die Tenant-Zuordnung.

VERIFIED BINDING
02 · SNAPSHOT

Run einfrieren

Commit, Tree, Policy und Runner-Image werden in einem kurzlebigen signierten Manifest festgehalten.

SIGNED INPUT
03 · CHECK

Kontrollen ausführen

Security, Datenbank, Dependencies, Logging, Tests und Evidence laufen gegen denselben Snapshot.

REPRODUCIBLE
04 · REMEDIATE

Findings beheben

Reparatur-Hinweise oder KI-gestützte Änderungen durchlaufen dieselben Regeln erneut. Kein Prompt kann die Prüfung übergehen.

CLOSED LOOP
05 · PROVE

Verdict belegen

Findings, Digests, Regelversion und Testnachweise bilden die prüfbare Evidence-Kette.

AUDIT READY
Projekttrennung

Jedes Projekt bleibt für sich.

MAVENS bindet Zugriffe und Prüfläufe an das jeweilige Konto und Projekt. Getrennte Prüfumgebungen, stabile Repository-IDs und zweckgebundene Berechtigungen schützen die Verarbeitung.

FORCE RLSDatenbankzugriff bleibt tenant- und projektgebunden.
STABLE IDSGitHub-IDs statt veränderlicher Namen.
EPHEMERAL RUNNERKein Workspace wird zwischen Kunden geteilt.
SECRET REFERENCESKeine Tokens im Browser oder Run-Payload.
Ergebnis verstehen · synthetisches Beispiel

Was wurde geprüft – und was wurde gefunden?

Ein Ergebnis allein genügt nicht. Der Bericht muss das geprüfte Projekt, den Prüfstand, die tatsächlich ausgeführten Kontrollen und ihre Ergebnisse nachvollziehbar machen. Hier siehst du ein bewusst synthetisches Beispiel, keinen echten Kundenbericht und kein Zertifikat.

Titelseite des synthetischen Musterberichts: noch nicht freigabefähig, zwei Punkte sofort, fünf zeitnah, zwei zur Ordnung; 594 von 603 anwendbaren Prüfkriterien ohne Befund.

Der vollständige Bericht als PDF.

Vorlage 2.0 · zehn Seiten · synthetische Beispieldaten. Die Antwort zuerst, dann Aufgaben nach Priorität und Zuständigkeit, dann DSGVO, CRA und KI-Verordnung, Prüfumfang und Grenzen.

PDF-Musterbericht herunterladen

Die Vorschau zeigt die erste Seite genau dieser Datei.

Projekt und Prüfstand

Beispielprojekt: example/demo-web
Beispiel-Commit: c0ffee42…a17e
Beispiel-Lauf: run-demo-0001

Im echten Bericht gehören zusätzlich Zeitpunkt, Scanner-Version, verwendetes Profil, Regelwerksversion und vollständiger Quelldigest dazu.

Ergebnis: Noch nicht freigabefähig

In diesem Beispiel müssen zwei Punkte vor dem nächsten Release erledigt sein: ein Next.js-Update mit kritischer Lücke und Zugangsdaten in einer Konfigurationsdatei. Fünf Punkte sind zeitnah einzuplanen, zwei betreffen Nachweise. 594 von 603 anwendbaren Prüfkriterien sind ohne Befund.

Jede Aufgabe nennt, wer sie erledigt: KI-Agent, Update und Release oder eine Entscheidung eines Menschen. Eine Freigabe oder Veröffentlichung erfolgt nicht automatisch.

Die Funde im Beispiel

Sofort · Update & Releasenext 16.2.6 → 16.3.3Kritische Lücke in einem Baustein: Zugriffskontrolle umgehbar. Version anheben, Testlauf, Release.
Sofort · Mensch entscheidetconfig/example.env:12Zugangsdaten in versionierter Beispielkonfiguration. Ob der Schlüssel aktiv ist, kann nur prüfen, wer ihn ausgegeben hat. Kein echter Schlüssel wird gezeigt.
Zeitnah · KI-Agent3 Stellen · 2 DateienPersonenbezogene Daten erreichen den Logger. Eine Ursache, ein Fix: Redaction im Logger-Transport.

Wo steht der vollständige Prüfumfang?

Direkt darunter: alle 20 Prüfläufe mit ihrer Aufgabe und der durchsuchbare Katalog der 48 eigenen Regeln mit Priorität und Zuständigkeit. Der Katalog beschreibt den verfügbaren Umfang – er ist kein Ausführungsnachweis für dieses Beispiel.

Ein vollständiger Laufnachweis muss pro Kontrolle ausweisen: ausgeführt und bestanden, ausgeführt mit Fund, fehlgeschlagen oder nicht ausgeführt – jeweils mit Begründung und zugehörigem Nachweis. Fehlende Ergebnisse dürfen nicht als PASS erscheinen. Für die übrigen Kontrollen liegen in diesem synthetischen Beispiel keine Einzelnachweise vor; deshalb zeigen wir keine pauschalen grünen Kacheln.

Prüfergebnis, Speicherung und Report-Mail sind getrennte Zustände. Ein gespeicherter Bericht oder der Mailstatus „sent“ bestätigt weder eine bestandene Prüfung noch den Eingang im Postfach. Mehr zur Auswertung und den Grenzen →

Prüfkatalog · MAVENS Core 0.8.7

Prüfläufe und Regeln im Detail.

MAVENS Core 0.8.7 enthält 20 Prüfläufe und 48 eigene Regeln; dazu kommen 598 Semgrep-, 222 Gitleaks- und 563 Trivy-Kriterien aus den gepinnten Regelpaketen. Welche Werkzeuge tatsächlich ausgeführt wurden, zeigt der jeweilige Bericht. Standardbezüge dienen der Einordnung und bestätigen keine Rechtskonformität. „Automatisierbar“ kennzeichnet Befunde, deren Behebung sich für einen gezielten KI-Arbeitsauftrag eignet.

Der lokale Prüfkatalog liefert technische Beobachtungen für die Produktprüfung. MAVENS.mcp bewertet sie im Zusammenhang mit den Anforderungen und Auswirkungen deiner Anwendung. Eine fehlende Dokumentation allein ist keine Produktschwachstelle.

0.8.7MAVENS Core
20Prüfläufe
48eigene Regeln
1.431Kriterien gesamt

Die 20 Prüfläufe

Im Assurance-Profil commercial-v1 sind alle folgenden Läufe verpflichtend. Ein fehlendes, abgebrochenes oder nicht verfügbares Pflichtwerkzeug blockiert das Ergebnis.

secretsBuilt-inZugangsdaten und private Schlüssel im Repository.
migrationsBuilt-inDestruktive SQL-Änderungen, offene Rollen und abgeschaltete Zugriffssperren.
rls-coverageBuilt-inAbdeckung und Vollständigkeit mandantenbezogener Datenbankregeln.
rls-liveLive-DatenbankWirksamkeit der Zugriffstrennung gegen die laufende Datenbank.
dependenciesBuilt-inBekannte Schwachstellen in produktiven Abhängigkeiten.
pii-loggingBuilt-inPersonenbezogene Daten in Browser-Code oder Protokollen.
authBuilt-inSession-Cookies, Passwort-Hashing, Weiterleitungen und Rate-Limits.
gdpr-consentBuilt-inVerarbeitungsverzeichnis, Rechtsgrundlagen, Löschfristen und Consent-Gates.
gdpr-art32Built-inNachweise für Verschlüsselung, Datenminimierung und technische Schutzmaßnahmen.
cra-readinessBuilt-inSchwachstellenannahme, Patchfristen und dokumentierter Supportzeitraum.
supply-chainBuilt-inReproduzierbare Builds, unveränderliche Bausteine und Delivery-Identität.
secrets-gitleaksGitleaksZusätzlicher Secret-Scan mit etabliertem Open-Source-Scanner.
sast-semgrepSemgrepStatische Analyse auf Injection, XSS und unsichere Eingabeverarbeitung.
sca-trivyTrivySoftware-Composition-Analyse auf verwundbare Pakete.
iac-trivyTrivyFehlkonfigurationen in Infrastruktur-, Container- und Deployment-Dateien.
security-headersBuilt-inSchutz-Header und CSRF-Schutz in der Anwendungskonfiguration.
deployment-headersLive-ServerAntwort-Header des laufenden Servers, wenn eine Deployment-URL freigegeben ist.
file-uploadsBuilt-inTypprüfung, Größenlimit, Speicherort und Auslieferung hochgeladener Dateien.
dependency-trustBuilt-inAuflösbarkeit und Verwechselbarkeit der eingesetzten Pakete.
ai-actBuilt-inKI-System-Manifest, Transparenz, menschliche Aufsicht und Protokollierung, sobald ein Modell im Code eingesetzt wird.
48 von 48 RegelnRegelwerk 2026.09.3 · Profil sme-eu-web · Core 0.8.7
Zugangsdaten & Schlüssel3 Regeln
MAV-SEC-001AUTOMATISIERBAR Hardcoded API key or secretGDPR Art. 32 · OWASP ASVS 6.2 blocker Erkennungbuiltin:secrets
Warum das wichtig ist

Ein Zugangscode liegt im Klartext im Code: jeder mit Zugriff könnte ihn missbrauchen.

Vorgesehene Behebung

Secret in .env/.env.example verschieben und über Umgebungsvariable laden; gedrückten Wert rotieren.

Priorität: Sofort · Zuständig: Mensch entscheidet

MAV-SEC-002AUTOMATISIERBAR Private key material in repositoryGDPR Art. 32 blocker Erkennungbuiltin:secrets
Warum das wichtig ist

Ein privater Schlüssel liegt im Code: damit könnte sich jemand als Ihr System ausgeben.

Vorgesehene Behebung

Schlüssel aus dem Repository entfernen, rotieren und über Secret-Manager bereitstellen.

Priorität: Sofort · Zuständig: Mensch entscheidet

MAV-SEC-003AUTOMATISIERBAR Well-known default credentialOWASP ASVS V2.1 · GDPR Art. 32(1)(b) blocker Erkennungbuiltin:secrets
Warum das wichtig ist

Im Code steht ein allgemein bekanntes Standard-Passwort. Solche Werte werden als Erstes durchprobiert.

Vorgesehene Behebung

Wert ersetzen, aus dem Code entfernen und über eine Umgebungsvariable laden. Bereits ausgerollte Zugänge rotieren.

Priorität: Sofort · Zuständig: Mensch entscheidet

Datensicherheit · Migrationen5 Regeln
MAV-MIG-001MANUELL Destructive DDL in migration (DROP TABLE / TRUNCATE)GDPR Art. 32 blocker Erkennungbuiltin:migrations
Warum das wichtig ist

Diese Änderung löscht dauerhaft Daten: Kundendaten könnten unwiederbringlich verloren gehen.

Vorgesehene Behebung

Statt DROP:.soft-delete-Muster oder dokumentierter Migration-Plan mit Backup-Bestätigung.

Priorität: Sofort · Zuständig: Mensch entscheidet

MAV-MIG-002AUTOMATISIERBAR DELETE/TRUNCATE without WHERE constraintGDPR Art. 32 blocker Erkennungbuiltin:migrations
Warum das wichtig ist

Diese Änderung könnte alle Datensätze einer Tabelle löschen.

Vorgesehene Behebung

DELETE mit expliziter WHERE-Bedingung ergänzen; TRUNCATE durch gezieltes DELETE ersetzen.

Priorität: Sofort · Zuständig: KI-Agent

MAV-MIG-003AUTOMATISIERBAR Row Level Security disabled or bypassedGDPR Art. 32 · OWASP ASVS 4.1 blocker Erkennungbuiltin:migrations
Warum das wichtig ist

Der Zugriffsschutz für Daten wird abgeschaltet: fremde Nutzer könnten Kundendaten sehen.

Vorgesehene Behebung

DISABLE ROW LEVEL SECURITY entfernen; Force RLS beibehalten.

Priorität: Sofort · Zuständig: KI-Agent

MAV-MIG-004AUTOMATISIERBAR Permissive policy for anon/public roleGDPR Art. 32 · OWASP ASVS 4.1 blocker Erkennungbuiltin:migrations
Warum das wichtig ist

Unangemeldete Personen könnten Zugriff auf Daten erhalten.

Vorgesehene Behebung

Policy auf 'TO authenticated' mit restriktivem USING einschränken oder entfernen.

Priorität: Sofort · Zuständig: KI-Agent

MAV-MIG-005AUTOMATISIERBAR GRANT to anon/public roleGDPR Art. 32 blocker Erkennungbuiltin:migrations
Warum das wichtig ist

Rechte werden an unangemeldete Personen vergeben.

Vorgesehene Behebung

GRANT an anon/public entfernen.

Priorität: Sofort · Zuständig: KI-Agent

Mandantentrennung2 Regeln
MAV-RLS-001AUTOMATISIERBAR Table without Row Level SecurityGDPR Art. 32 · OWASP ASVS 4.1 blocker Erkennungbuiltin:rls
Warum das wichtig ist

Eine Datentabelle ist nicht durch Mandantenzugriff geschützt: Kunden könnten Daten anderer Kunden sehen.

Vorgesehene Behebung

ALTER TABLE ... ENABLE ROW LEVEL SECURITY; Force RLS; Policy mit account_id-Filter ergänzen.

Priorität: Sofort · Zuständig: KI-Agent

MAV-RLS-002AUTOMATISIERBAR Table with RLS enabled but no policyOWASP ASVS 4.1 high Erkennungbuiltin:rls
Warum das wichtig ist

Eine Tabelle hat Zugriffsschutz, aber keine Zugriffsregel: der Schutz wirkt nicht wie beabsichtigt.

Vorgesehene Behebung

Mindestens eine Policy erstellen, sonst greift der Default (deny) ungewollt für alle Rollen.

Priorität: Zeitnah · Zuständig: KI-Agent

Abhängigkeiten2 Regeln
MAV-DEP-001AUTOMATISIERBAR Known vulnerabilities in production dependenciesGDPR Art. 32 · CRA-readiness high Erkennungbuiltin:deps
Warum das wichtig ist

Verwendete Bausteine haben bekannte Sicherheitslücken: Angreifer könnten sie ausnutzen.

Vorgesehene Behebung

Betroffene Pakete auf sichere Version updaten (pnpm audit / osv-scanner zeigen die Pfade).

Priorität: je Schwere · Zuständig: Update & Release

MAV-DEP-002MANUELL Dependency is unresolvable or confusableCRA-readiness · SLSA · OWASP ASVS V14.2 high Erkennungbuiltin:dependency-trust
Warum das wichtig ist

Eine Abhängigkeit lässt sich nicht auflösen oder ähnelt einem bekannten Paket. KI-Werkzeuge erfinden Paketnamen, die Angreifer anschließend registrieren.

Vorgesehene Behebung

Paketnamen gegen die Registry prüfen: existiert es, wie alt ist es, verweist es auf ein echtes Repository? Bei Verwechslungsgefahr den korrekten Namen eintragen.

Priorität: Zeitnah · Zuständig: Mensch entscheidet

Datenschutz · personenbezogene Daten1 Regel
MAV-PII-001AUTOMATISIERBAR Potential PII in client-side code or logsGDPR Art. 5 · 25 · 32 blocker Erkennungbuiltin:pii
Warum das wichtig ist

Personenbezogene Daten könnten in Protokolle oder den Browser gelangen: das darf nicht passieren.

Vorgesehene Behebung

PII nicht loggen (console.log/logger) und nicht an Client-Komponenten ('use client') übergeben.

Priorität: Zeitnah · Zuständig: KI-Agent

Eingabeprüfung & Injection2 Regeln
MAV-SAST-001AUTOMATISIERBAR High-confidence injection or XSS finding (semgrep)OWASP ASVS V5 · GDPR Art. 32(1)(b) blocker Erkennungoss:semgrep
Warum das wichtig ist

Eingaben werden ungeprüft verarbeitet: Angreifer könnten Daten manipulieren oder Code einschleusen.

Vorgesehene Behebung

Betroffene Stelle absichern: parametrisierte Queries, Output-Encoding, Validierung gegen Schema. semgrep-Meldung zeigt die exakte Stelle.

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-SAST-002AUTOMATISIERBAR Medium/low confidence semgrep findingOWASP ASVS V5 medium Erkennungoss:semgrep
Warum das wichtig ist

Eine mögliche Schwachstelle in der Eingabebehandlung sollte geprüft werden.

Vorgesehene Behebung

semgrep-Meldung prüfen: falls true positive, absichern; falls false positive, im Prüfprofil des Projekts mit Begründung suppressen.

Priorität: Ordnung · Zuständig: KI-Agent

Konfiguration & Infrastruktur2 Regeln
MAV-IAC-001AUTOMATISIERBAR High/critical infrastructure misconfigurationOWASP ASVS V14 · NIS2 Ann. I(e) blocker Erkennungoss:trivy
Warum das wichtig ist

Die Infrastruktur-Konfiguration hat eine schwerwiegende Schwachstelle (z.B. Container oder Compose-Datei).

Vorgesehene Behebung

Trivy-Empfehlung zur Meldung umsetzen (ID und Link im Detail).

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-IAC-002AUTOMATISIERBAR Infrastructure misconfiguration (medium/low)OWASP ASVS V14 medium Erkennungoss:trivy
Warum das wichtig ist

Die Infrastruktur-Konfiguration sollte gehärtet werden.

Vorgesehene Behebung

Trivy-Empfehlung umsetzen oder mit Begründung suppressen.

Priorität: Ordnung · Zuständig: KI-Agent

Anmeldung & Sessions6 Regeln
MAV-AUTH-001AUTOMATISIERBAR Session cookie without httpOnlyOWASP ASVS V3.4 · GDPR Art. 32(1)(b) blocker Erkennungbuiltin:auth
Warum das wichtig ist

Sitzungsdaten sind per JavaScript lesbar: Schadcode könnte Sitzungen übernehmen.

Vorgesehene Behebung

httpOnly: true beim Setzen des Session-Cookies ergänzen.

Priorität: Sofort · Zuständig: KI-Agent

MAV-AUTH-002AUTOMATISIERBAR Session cookie without secure flagOWASP ASVS V3.4 high Erkennungbuiltin:auth
Warum das wichtig ist

Sitzungsdaten könnten unverschlüsselt übertragen werden.

Vorgesehene Behebung

secure: true ergänzen (in Produktion Pflicht).

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-AUTH-003AUTOMATISIERBAR Session cookie without sameSite attributeOWASP ASVS V3.2 medium Erkennungbuiltin:auth
Warum das wichtig ist

Sitzungen könnten von anderen Webseiten missbraucht werden (CSRF).

Vorgesehene Behebung

sameSite: 'lax' oder 'strict' ergänzen.

Priorität: Ordnung · Zuständig: KI-Agent

MAV-AUTH-004AUTOMATISIERBAR Weak password hashing (MD5/SHA1)OWASP ASVS V2.4 · GDPR Art. 32(1)(a) blocker Erkennungbuiltin:auth
Warum das wichtig ist

Passwörter sind veraltet verschlüsselt: bei einem Diebstahl wären sie leicht knackbar.

Vorgesehene Behebung

bcrypt/argon2 verwenden; Bestandshashes bei nächster Anmeldung migrieren.

Priorität: Sofort · Zuständig: KI-Agent

MAV-AUTH-005AUTOMATISIERBAR Unvalidated post-login redirectOWASP ASVS V4.2.3 high Erkennungbuiltin:auth
Warum das wichtig ist

Nach dem Login könnte man auf fremde Seiten umgeleitet werden (Phishing-Risiko).

Vorgesehene Behebung

Redirect-Ziel gegen Whitelist prüfen (nur relative Pfade oder bekannte Hosts).

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-AUTH-006AUTOMATISIERBAR No rate limiting on auth endpointsOWASP ASVS V2.2 · NIS2 Ann. I(e) high Erkennungbuiltin:auth
Warum das wichtig ist

Angreifer könnten Passwörter oder Magic-Links in Massen durchprobieren.

Vorgesehene Behebung

Rate-Limiting für Login/Auth-Endpunkte einbauen (z.B. upstash/ratelimit, Middleware).

Priorität: Zeitnah · Zuständig: KI-Agent

Datenschutz · Pflichten5 Regeln
MAV-GDPR-001AUTOMATISIERBAR No processing manifestGDPR Art. 5 · 6 · 30 high Erkennungbuiltin:consent
Warum das wichtig ist

Es ist nicht dokumentiert, welche personenbezogenen Daten warum verarbeitet werden: DSGVO-Grundpflicht.

Vorgesehene Behebung

processing_manifest.yaml anlegen: pro Datenkategorie Zweck, legal_basis, retention, PII-Felder.

Priorität: Ordnung · Zuständig: Mensch entscheidet

MAV-GDPR-002AUTOMATISIERBAR Manifest without legal basisGDPR Art. 6 medium Erkennungbuiltin:consent
Warum das wichtig ist

Die Rechtsgrundlage der Datenverarbeitung fehlt in der Dokumentation.

Vorgesehene Behebung

legal_basis je Datenkategorie ergänzen (consent/contract/legitimate_interest/legal_obligation).

Priorität: Ordnung · Zuständig: Mensch entscheidet

MAV-GDPR-003AUTOMATISIERBAR Manifest without retention periodsGDPR Art. 5(1)(e) · 17 medium Erkennungbuiltin:consent
Warum das wichtig ist

Es fehlen Löschfristen: Daten dürfen nicht unbegrenzt gespeichert werden.

Vorgesehene Behebung

retention je Datenkategorie ergänzen und Lösch-Job/Cron anlegen.

Priorität: Ordnung · Zuständig: Mensch entscheidet

MAV-GDPR-004AUTOMATISIERBAR Analytics loaded without consent gateGDPR Art. 6(1)(a) · 7 · ePrivacy §25 blocker Erkennungbuiltin:consent
Warum das wichtig ist

Tracking wird geladen, bevor Nutzer eingewilligt haben: DSGVO-Verstoß mit Bußgeldrisiko.

Vorgesehene Behebung

Analytics-Initialisierung hinter Consent-Banner/Entscheidung verschieben (z.B. posthog erst nach opt-in initialisieren).

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-GDPR-005AUTOMATISIERBAR Incomplete processing inventoryGDPR Art. 5 · 25 · 30 · 32 high Erkennungbuiltin:gdpr-art32
Warum das wichtig ist

Datenkategorien, Zwecke, Empfänger, Speicherfristen oder Löschwege sind nicht vollständig dokumentiert.

Vorgesehene Behebung

compliance/processing-manifest.yaml vollständig und maschinenlesbar pflegen.

Priorität: Ordnung · Zuständig: Mensch entscheidet

Datenschutz · Sicherheit1 Regel
MAV-GDPR-006AUTOMATISIERBAR Encryption baseline not evidencedGDPR Art. 32 blocker Erkennungbuiltin:gdpr-art32
Warum das wichtig ist

Die Verschlüsselung bei Übertragung oder Speicherung ist nicht als verpflichtende Kontrolle nachgewiesen.

Vorgesehene Behebung

TLS 1.2+ und die At-Rest-Verschlüsselung in compliance/security-controls.yaml dokumentieren und technisch erzwingen.

Priorität: Ordnung · Zuständig: Mensch entscheidet

Datenschutz · Protokollierung1 Regel
MAV-GDPR-007AUTOMATISIERBAR Logging minimization baseline missingGDPR Art. 5 · 25 · 32 blocker Erkennungbuiltin:gdpr-art32
Warum das wichtig ist

Logs könnten personenbezogene Daten oder Rohprompts enthalten.

Vorgesehene Behebung

PII und Rohprompts in Logs untersagen; Data-Minimization als aktive Kontrolle dokumentieren.

Priorität: Ordnung · Zuständig: Mensch entscheidet

Produktsicherheit · CRA1 Regel
MAV-CRA-001AUTOMATISIERBAR Vulnerability handling or support policy missingCRA-readiness high Erkennungbuiltin:cra-readiness
Warum das wichtig ist

Sicherheitsmeldungen, Patchfristen oder der Supportzeitraum sind nicht verbindlich geregelt.

Vorgesehene Behebung

SECURITY.md und compliance/support-policy.yaml mit Intake, Disclosure, Supportende und Patch-SLAs pflegen.

Priorität: Ordnung · Zuständig: Mensch entscheidet

Software-Lieferkette3 Regeln
MAV-SUPPLY-001AUTOMATISIERBAR Reproducible build or inventory missingCRA-readiness · OWASP ASVS V14 blocker Erkennungbuiltin:supply-chain
Warum das wichtig ist

Der ausgelieferte Softwarestand ist nicht reproduzierbar oder seine Bestandteile sind nicht vollständig inventarisiert.

Vorgesehene Behebung

Lockfile-Build erzwingen, Delivery-Workflow und Lizenzinventar ergänzen.

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-SUPPLY-002AUTOMATISIERBAR Dependency, CI action or image is not immutableCRA-readiness · SLSA high Erkennungbuiltin:supply-chain
Warum das wichtig ist

Ein Build-Baustein kann sich unbemerkt ändern und damit das Ergebnis oder die Vertrauenskette manipulieren.

Vorgesehene Behebung

Abhängigkeiten exakt, Actions per Commit-SHA und Images per sha256-Digest pinnen.

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-SUPPLY-003AUTOMATISIERBAR Delivery identity controls missingCRA-readiness · SLSA blocker Erkennungbuiltin:supply-chain
Warum das wichtig ist

Build-Herkunft, Branchschutz oder kurzlebige minimale Deployment-Rechte sind nicht belegt.

Vorgesehene Behebung

Builder-Identität, geschützte Branches und OIDC-basierte kurzlebige Least-Privilege-Credentials deklarieren.

Priorität: Ordnung · Zuständig: Mensch entscheidet

AI Transparency (AI Act)2 Regeln
MAV-AIACT-001AUTOMATISIERBAR AI interaction without disclosureAI Act Art. 50(1) · GDPR Art. 13 blocker Erkennungbuiltin:ai-act
Warum das wichtig ist

Nutzer erfahren nicht, dass sie mit einer KI sprechen: der AI Act verlangt diese Offenlegung.

Vorgesehene Behebung

Im Chat-/Assistenz-Einstieg sichtbar kennzeichnen, dass die Antworten von einer KI stammen (Art. 50(1)).

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-AIACT-002AUTOMATISIERBAR Synthetic content without provenance markingAI Act Art. 50(2) blocker Erkennungbuiltin:ai-act
Warum das wichtig ist

KI-erzeugte Bilder, Audio oder Videos werden ohne maschinenlesbare Kennzeichnung ausgeliefert.

Vorgesehene Behebung

Erzeugte Medien mit C2PA/Content Credentials oder gleichwertiger Provenance-Metadatenschicht markieren (Art. 50(2)).

Priorität: Zeitnah · Zuständig: KI-Agent

AI Prohibited Practices (AI Act)1 Regel
MAV-AIACT-003MANUELL Possible prohibited AI practiceAI Act Art. 5 blocker Erkennungbuiltin:ai-act
Warum das wichtig ist

Der Code deutet auf eine im AI Act verbotene Praxis hin (z.B. Emotionserkennung, biometrische Kategorisierung, Social Scoring).

Vorgesehene Behebung

Einsatzzweck prüfen: Art. 5 verbietet diese Praktiken ohne Ausnahme. Funktion entfernen oder rechtlich klären lassen.

Priorität: Sofort · Zuständig: Mensch entscheidet

AI Governance (AI Act)4 Regeln
MAV-AIACT-004AUTOMATISIERBAR AI system manifest missing or incompleteAI Act Art. 6 · Annex III · AI Act Art. 26 high Erkennungbuiltin:ai-act
Warum das wichtig ist

Es ist nicht dokumentiert, welche Rolle und Risikoklasse das KI-System hat: ohne diese Einstufung lässt sich keine Pflicht bestimmen.

Vorgesehene Behebung

compliance/ai-system-manifest.yaml anlegen: role, risk_class, purpose, models, human_oversight, transparency_measures, annex_iii_assessment.

Priorität: Ordnung · Zuständig: Mensch entscheidet

MAV-AIACT-005AUTOMATISIERBAR AI processing not in record of processing activitiesGDPR Art. 30 · GDPR Art. 5 · AI Act Art. 26 high Erkennungbuiltin:ai-act
Warum das wichtig ist

Die Verarbeitung durch KI-Modelle fehlt im Verarbeitungsverzeichnis: auch Prompts und Modellausgaben sind Verarbeitung.

Vorgesehene Behebung

Datenkategorie für Modell-/Prompt-Verarbeitung im processing-manifest.yaml ergaenzen (Zweck, Rechtsgrundlage, Empfaenger, Loeschfrist).

Priorität: Ordnung · Zuständig: Mensch entscheidet

MAV-AIACT-006AUTOMATISIERBAR Automated decision without human oversightAI Act Art. 14 · AI Act Art. 26(2) · GDPR Art. 22 blocker Erkennungbuiltin:ai-act
Warum das wichtig ist

Eine Modellausgabe steuert eine Entscheidung ueber Personen, ohne dokumentierte menschliche Aufsicht.

Vorgesehene Behebung

Menschliche Kontrolle vor der Wirksamkeit der Entscheidung einbauen und in ai-system-manifest.yaml als human_oversight belegen.

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-AIACT-007AUTOMATISIERBAR High-risk system without log retentionAI Act Art. 12 · AI Act Art. 26(6) high Erkennungbuiltin:ai-act
Warum das wichtig ist

Fuer ein Hochrisiko-KI-System fehlt die vorgeschriebene Aufbewahrung automatisch erzeugter Protokolle.

Vorgesehene Behebung

logging.retention_months >= 6 im ai-system-manifest.yaml deklarieren und technisch durchsetzen.

Priorität: Ordnung · Zuständig: KI-Agent

File Uploads5 Regeln
MAV-FILE-001AUTOMATISIERBAR Uploaded file type decided by sender-supplied metadataOWASP ASVS V12.3.5 · OWASP ASVS V12.5.2 · GDPR Art. 32(1)(b) blocker Erkennungbuiltin:file-uploads
Warum das wichtig ist

Die App glaubt dem Absender, was für eine Datei er schickt. Wer eine Programmdatei als Bild deklariert, kommt damit durch.

Vorgesehene Behebung

Typ am Inhalt prüfen (Magic Bytes, z. B. file-type oder sharp), nicht an file.type, mimetype oder der Endung. Die Prüfung am Inhalt entscheidet, die Angabe des Absenders wird verworfen.

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-FILE-002AUTOMATISIERBAR Upload accepted without a size limitOWASP ASVS V12.1.1 · GDPR Art. 32(1)(b) high Erkennungbuiltin:file-uploads
Warum das wichtig ist

Es gibt keine Obergrenze für hochgeladene Dateien. Eine einzige große Datei kann den Speicher füllen und den Dienst lahmlegen.

Vorgesehene Behebung

Obergrenze am Upload-Pfad erzwingen (multer limits.fileSize, formidable maxFileSize, oder eine Prüfung von file.size vor dem Speichern) und zusätzlich am Reverse Proxy.

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-FILE-003AUTOMATISIERBAR Upload written into a web-served directoryOWASP ASVS V12.4.1 · GDPR Art. 32(1)(b) blocker Erkennungbuiltin:file-uploads
Warum das wichtig ist

Hochgeladene Dateien landen dort, wo der Webserver alles direkt ausliefert. Wer eine Skriptdatei hochlädt, kann sie anschließend aufrufen.

Vorgesehene Behebung

Außerhalb des Webroots ablegen (Objektspeicher oder ein nicht ausgeliefertes Verzeichnis) und nur über einen kontrollierten Endpunkt herausgeben.

Priorität: Sofort · Zuständig: KI-Agent

MAV-FILE-004AUTOMATISIERBAR Sender-supplied filename used to build a pathOWASP ASVS V12.3.1 · OWASP ASVS V12.3.2 · GDPR Art. 32(1)(b) blocker Erkennungbuiltin:file-uploads
Warum das wichtig ist

Der vom Absender gewählte Dateiname bestimmt mit, wohin geschrieben wird. Mit einem präparierten Namen lassen sich fremde Dateien überschreiben oder auslesen.

Vorgesehene Behebung

Namen des Absenders nie in den Pfad übernehmen. Eigenen Namen vergeben (UUID) und die Endung aus dem geprüften Inhaltstyp ableiten; den Originalnamen höchstens als Anzeigetext speichern.

Priorität: Sofort · Zuständig: KI-Agent

MAV-FILE-005AUTOMATISIERBAR Stored file can be served as active contentOWASP ASVS V12.5.2 · OWASP ASVS V12.3.3 · GDPR Art. 32(1)(b) high Erkennungbuiltin:file-uploads
Warum das wichtig ist

Eine hochgeladene Datei kann im Browser als Programm laufen statt nur angezeigt zu werden. Damit lässt sich Schadcode im Namen der Anwendung ausführen.

Vorgesehene Behebung

Content-Type serverseitig aus dem geprüften Inhalt setzen, nicht aus der Angabe des Absenders. SVG, HTML und JavaScript nicht als Upload zulassen oder nur mit Content-Disposition: attachment und X-Content-Type-Options: nosniff ausliefern.

Priorität: Zeitnah · Zuständig: KI-Agent

Response Hardening2 Regeln
MAV-HDR-001AUTOMATISIERBAR Security headers not configuredOWASP ASVS V14.4 · GDPR Art. 32(1)(b) blocker Erkennungbuiltin:headers
Warum das wichtig ist

Die App setzt keine Schutz-Header. Browser können Inhalte dann einbetten, Skripte fremder Herkunft ausführen oder unverschlüsselt laden.

Vorgesehene Behebung

Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options und X-Frame-Options setzen (Next.js: headers() in next.config; Express: helmet).

Priorität: Zeitnah · Zuständig: KI-Agent

MAV-HDR-002AUTOMATISIERBAR No recognisable CSRF protectionOWASP ASVS V4.2.2 · GDPR Art. 32 high Erkennungbuiltin:headers
Warum das wichtig ist

Es ist keine Absicherung gegen Anfragen von fremden Webseiten erkennbar. Angemeldete Nutzer könnten unbemerkt Aktionen auslösen.

Vorgesehene Behebung

CSRF-Token oder Origin-Prüfung für zustandsändernde Routen ergänzen; SameSite=lax/strict allein genügt nicht für alle Fälle.

Priorität: Zeitnah · Zuständig: KI-Agent

Quelle: MAVENS Core 0.8.7, signiertes Release-Paket (rules/default.yaml, Regelwerk 2026.09.3). Die tatsächliche Ausführung richtet sich nach Profil, Konfiguration und verfügbaren Werkzeugen. Der Katalog ist keine vollständige Sicherheitsprüfung.

Befunde gezielt beheben

Ein Fund bleibt nicht nur eine Meldung.

FINDScanner findet

Regel, Schweregrad, Datei und Evidenz.

FIXAgent schlägt vor

Begrenzte Änderung mit nachvollziehbarem Scope.

VERIFYGate prüft erneut

Der neue Snapshot muss alle Regeln bestehen.

Release-Grenze

Ein technisches Ergebnis ersetzt keine Freigabe.

MAVENS · Ergebnis

Technisches Ergebnis, Findings und Evidence sind an denselben Digest gebunden.

HUMAN
APPROVAL

Externer Release-Prozess

Die Veröffentlichung erfordert eine gültige, aktuelle und separate Freigabe durch einen Menschen.