websecureaudit Website kostenlos scannen
websecureaudit
Website-Audit · Prüfbericht

Mustershop

http://127.0.0.1:8099/ 2026-08-22, 09:36 Uhr 4 Seiten · 77 Requests Rechtsstand 2026-08-16 websecureaudit 1.12.0

Überblick

15 Blocker · 14 % 3 Kritisch · 3 % 34 Hoch · 31 % 30 Mittel · 28 % 21 Niedrig · 19 % 4 Klärung nötig · 4 % 1 Bestanden · 1 %
16
von 100
Note E · Kritisch

Geprüft wurde eine wordpress / woocommerce-Anwendung auf 4 Seiten. 15 Befunde blockieren die Freigabe und stehen in Phase G des Maßnahmenplans. 4 Kontrollen hängen von Angaben ab, die eine Website nicht preisgibt. Der größte ungenutzte Hebel liegt mit 45 von 100 Punkten bei der Sichtbarkeit in KI-Systemen.

Sicherheit 20
Recht & Datenschutz 39
KI 0
Aktualität 0
Sichtbarkeit & Qualität 34
Externe Versionsabfragen deaktiviert (--no-intel) – es wurde die mitgelieferte Offline-Baseline verwendet.
Wie dieser Report zu lesen ist. Jeder Befund führt getrennt aus, wie sicher die Beobachtung ist und wie schwer er wiegt. OBSERVED heißt technisch reproduzierbar gemessen, DECLARED vom Betreiber erklärt, aber ohne hinterlegtes Artefakt, EVIDENCED durch ein hinterlegtes Dokument belegt, VERIFIED automatisiert geprüft und manuell bestätigt. Ein Scanner sieht, dass ein Request vor der Einwilligung erfolgt – ob er im Einzelfall erforderlich war, entscheidet ein Mensch.
⛔
Freigabeentscheidung

Freigabe blockiert

BLOCKED
  • 15 Blocker offen: Seite wird nicht über HTTPS ausgeliefert, Passwortübertragung über HTTP, .env-Datei öffentlich erreichbar, Einwilligungspflichtige Dienste laden vor der Einwilligung, Einwilligungspflichtige Dienste ohne Einwilligungsabfrage …
Blocker
15
Hoch, offen
23
Offene Fragen
14
Fehlende Nachweise
15
Manuell zu prüfen
38
Akzeptierte Risiken
0

Was die Freigabe blockiert

BefundBereichNormbezugAufwand
Seite wird nicht über HTTPS ausgeliefert
sec.no_https
Sicherheit
GDPR-Art-32RFC-9325OWASP-ASVS-5.0-V13
2.0–8.0 h
Passwortübertragung über HTTP
sec.form.password_http
Sicherheit
GDPR-Art-32OWASP-ASVS-5.0-V13
0.5–2.0 h
.env-Datei öffentlich erreichbar
expo.env
Sicherheit
GDPR-Art-32OWASP-Top10-2025-A02NIS2-§30-BSIG
0.3–2.0 h
Einwilligungspflichtige Dienste laden vor der Einwilligung
consent.pre_consent_tracking
Consent & TDDDG §25
GDPR-Art-4-11GDPR-Art-7TDDDG-§25
8.0–24.0 h
Einwilligungspflichtige Dienste ohne Einwilligungsabfrage
consent.missing_cmp
Consent & TDDDG §25
GDPR-Art-4-11GDPR-Art-7TDDDG-§25
8.0–24.0 h
Kein Impressum verlinkt
legal.imprint.missing
Pflichtangaben & Informationspflichten
DDG-§5
1.0–3.0 h
Keine Datenschutzerklärung gefunden
legal.privacy_policy.missing
Datenschutz / DSGVO
GDPR-Art-12GDPR-Art-13EDPB-Transparenz
4.0–12.0 h
API-Schlüssel im ausgelieferten Client-Code
ai.key_exposed
KI-Sicherheit
AI-Act-VO-2024/1689OWASP-AISVS-1.0
4.0–16.0 h
Keine erkennbare Kennzeichnung der KI-Interaktion
ai.transparency.missing
KI-Governance / AI Act
AI-Act-VO-2024/1689AI-Omnibus-VO-2026/1744
1.0–4.0 h
Modell- und Prompt-Provenienz nicht nachgewiesen
ai.provenance.missing
KI-Governance / AI Act
AI-Act-Art-11ISO-42001OWASP-AISVS-1.0
4.0–16.0 h
Keine AI-Act-Klassifizierung je KI-Funktion
ai.classification.missing
KI-Governance / AI Act
AI-Act-VO-2024/1689AI-Omnibus-VO-2026/1744
4.0–20.0 h
Prompt-Injection-Resistenz nicht nachgewiesen
ai.injection.unprotected
KI-Sicherheit
OWASP-GenAI-2026-LLM01OWASP-AISVS-1.0BSI-LLM
16.0–60.0 h
Nachweis fehlt: KI-Inventar / AI-BOM inkl. Modellversionen
evid.ai_inventory
Nachweise & Dokumentation
AI-ActISO-42001
4.0–24.0 h
Nachweis fehlt: AI-Act-Klassifizierung je KI-Funktion
evid.ai_classification
Nachweise & Dokumentation
AI-Act-Art-6AI-Act-Annex-III
4.0–24.0 h
Nachweis fehlt: KI-Red-Team-Bericht (Prompt Injection, RAG, Tools)
evid.ai_redteam
Nachweise & Dokumentation
OWASP-GenAI-2026OWASP-AISVS-1.0
4.0–24.0 h

Fehlende Nachweise

Organisatorische Anforderungen – technisch von außen nicht prüfbar.

Verzeichnis von Verarbeitungstätigkeiten (RoPA)Interessenabwägung (Legitimate Interest Assessment)Auftragsverarbeitungsverträge aller DienstleisterStandardvertragsklauseln und Transfer Impact AssessmentLösch- und AufbewahrungskonzeptProzess für Betroffenenrechte (getestet)Incident-Response- und Meldeprozess (72 Stunden)Penetrationstest oder SicherheitsprüfungKI-Inventar / AI-BOM inkl. ModellversionenAI-Act-Klassifizierung je KI-FunktionKI-Red-Team-Bericht (Prompt Injection, RAG, Tools)AI Impact AssessmentLieferanten-/Vendor-RisikobewertungErklärung zur BarrierefreiheitGetestetes Backup- und Wiederherstellungsverfahren

Was der Crawl nicht beantworten kann

11 von 25 Angaben wurden automatisch aus dem Crawl abgeleitet (siehe Anhang). Diese 14 Punkte gibt eine Website grundsätzlich nicht preis – sie entscheiden aber darüber, ob BFSG, NIS2 oder der AI Act greifen.

betreiber_land
In welchem Land sitzt der Verantwortliche?
DSGVO, TDDDG, DDG, BFSG
zielmaerkte
Welche Länder/Märkte werden adressiert?
DSGVO Art. 3, Verbraucherrecht
hosting_land
In welchem Land/Region wird gehostet?
DSGVO Kap. V
minderjaehrige
Richtet sich das Angebot (auch) an Minderjährige?
DSGVO Art. 8, DSA
mitarbeiterzahl
Zahl der Beschäftigten?
BFSG, NIS2
jahresumsatz
Jahresumsatz in Mio. EUR?
BFSG, NIS2
branche
Branche / Sektor?
NIS2
nis2_status
Besonders wichtige / wichtige Einrichtung nach BSIG?
NIS2 / § 30 BSIG
kritis
KRITIS-Betreiber?
BSIG
art9_daten
Werden besondere Kategorien nach Art. 9 DSGVO verarbeitet?
DSGVO Art. 9
beschaeftigtendaten
Werden Beschäftigtendaten verarbeitet?
BDSG
ki_entscheidungen
Trifft die KI Entscheidungen mit Rechtswirkung oder erheblicher Beeinträchtigung?
DSGVO Art. 22, AI Act
ki_agenten
Darf die KI eigenständig Aktionen ausführen (Tools, APIs, Bestellungen, E-Mails)?
OWASP Agentic
dpo
Ist ein Datenschutzbeauftragter benannt?
DSGVO Art. 37

1 · Sicherheit

Passive Prüfung von Transportverschlüsselung, Sicherheits-Headern, Cookies, Formularen und öffentlich erreichbaren Pfaden. Es wurden keine Angriffe ausgeführt und keine Zugangsdaten geraten.

⛔Blocker .env-Datei öffentlich erreichbar

/.env liefert HTTP 200 mit erwartetem Inhalt.

Belege

Blocker: Produktive Geheimnisse bzw. Quellcode sind öffentlich abrufbar; Zugangsdaten müssen rotiert werden.
http://127.0.0.1:8099/.env → 200 (49 Bytes)
APP_KEY=base64:geheim DB_PASSWORD=supersecret123

Empfehlung

.env aus dem Webroot nehmen, Zugriff sperren und alle darin enthaltenen Zugangsdaten sofort rotieren.

Behebung automatisierbarGDPR-Art-32OWASP-Top10-2025-A02NIS2-§30-BSIG

Aufwand 0.3–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % expo.env http://127.0.0.1:8099/.env

⛔Blocker Passwortübertragung über HTTP

Zugangsdaten werden unverschlüsselt übertragen.

Belege

Blocker: Zugangsdaten werden unverschlüsselt übertragen.
http://127.0.0.1:8099/: Passwortfeld an http://example.org/anmelden

Empfehlung

Form-Action sofort auf HTTPS umstellen.

Behebung automatisierbarGDPR-Art-32OWASP-ASVS-5.0-V13

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.form.password_http

⛔Blocker Seite wird nicht über HTTPS ausgeliefert

Ohne TLS sind alle Inhalte und Eingaben mitlesbar und manipulierbar.

Belege

Blocker: Ohne Transportverschlüsselung sind alle Eingaben mitlesbar.
http://127.0.0.1:8099/

Empfehlung

TLS-Zertifikat einrichten (Let's Encrypt) und alles auf HTTPS erzwingen.

Behebung automatisierbarGDPR-Art-32RFC-9325OWASP-ASVS-5.0-V13

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.no_https

▲Hoch WordPress debug.log öffentlich

/wp-content/debug.log liefert HTTP 200 mit erwartetem Inhalt.

Belege

http://127.0.0.1:8099/wp-content/debug.log → 200 (50 Bytes)
PHP Notice: Undefined index in /var/www/html/x.php

Empfehlung

WP_DEBUG_LOG deaktivieren bzw. Logdatei außerhalb des Webroots ablegen und die alte Datei löschen.

Behebung automatisierbarGDPR-Art-32OWASP-Top10-2025-A02NIS2-§30-BSIG

Aufwand 0.3–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % expo.debuglog http://127.0.0.1:8099/wp-content/debug.log

▲Hoch Session-Cookies ohne HttpOnly

Session-Cookies sind per JavaScript auslesbar – bei einem XSS ist die Sitzungsübernahme trivial.

Belege

Betroffen: PHPSESSID, wordpress_logged_in_x, PHPSESSID, wordpress_logged_in_x, PHPSESSID, wordpress_logged_in_x

Empfehlung

HttpOnly für alle Session-/Auth-Cookies setzen.

Behebung automatisierbarOWASP-ASVS-5.0-V3GDPR-Art-32

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.cookie.httponly

▲Hoch Content-Security-Policy fehlt

Ohne CSP kann eingeschleustes JavaScript (XSS, kompromittiertes Third-Party-Skript, Magecart-Skimmer im Checkout) ungehindert laufen.

Belege

Antwort-Header `content-security-policy` nicht vorhanden auf http://127.0.0.1:8099/

Empfehlung

CSP zunächst im Report-Only-Modus ausrollen, Verstöße sammeln, dann scharf schalten. Für Shops besonders wichtig, da Kreditkarten-Skimmer genau hier ansetzen.

Behebung automatisierbarOWASP-Top10-2025-A02OWASP-ASVS-5.0-V14

Aufwand 4.0–16.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.csp http://127.0.0.1:8099/

Referenzen

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/content-security-policy

▲Hoch HSTS-Header fehlt

Ohne Strict-Transport-Security kann ein Angreifer im selben Netz die erste Verbindung auf HTTP downgraden (SSL-Stripping).

Belege

Antwort-Header `strict-transport-security` nicht vorhanden auf http://127.0.0.1:8099/

Empfehlung

Header setzen: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Behebung automatisierbarRFC-6797OWASP-ASVS-5.0-V13

Aufwand 0.5–1.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.hsts http://127.0.0.1:8099/

Referenzen

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/strict-transport-security

◆Mittel XML-RPC aktiv

/xmlrpc.php liefert HTTP 200 mit erwartetem Inhalt.

Belege

http://127.0.0.1:8099/xmlrpc.php → 200 (42 Bytes)
XML-RPC server accepts POST requests only.

Empfehlung

xmlrpc.php sperren, sofern nicht für Jetpack/App benötigt.

Behebung automatisierbarGDPR-Art-32OWASP-Top10-2025-A02NIS2-§30-BSIG

Aufwand 0.3–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % expo.xmlrpc http://127.0.0.1:8099/xmlrpc.php

◆Mittel Kein Clickjacking-Schutz

Die Seite kann in einen fremden Iframe eingebettet und für Klick-Hijacking missbraucht werden.

Belege

Weder X-Frame-Options noch CSP frame-ancestors gesetzt

Empfehlung

X-Frame-Options: SAMEORIGIN und/oder CSP frame-ancestors 'self' setzen.

Behebung automatisierbarOWASP-Top10-2025-A02OWASP-ASVS-5.0-V14

Aufwand 0.2–0.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.clickjacking http://127.0.0.1:8099/

◆Mittel Cookies ohne Secure-Flag

Cookies ohne Secure können über unverschlüsselte Verbindungen abfließen.

Belege

Betroffen: PHPSESSID, wordpress_logged_in_x, PHPSESSID, wordpress_logged_in_x, PHPSESSID, wordpress_logged_in_x

Empfehlung

Alle Cookies mit Secure ausliefern.

Behebung automatisierbarOWASP-ASVS-5.0-V3GDPR-Art-32

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.cookie.secure

◆Mittel POST-Formulare ohne erkennbaren CSRF-Token

Ohne CSRF-Token können Aktionen im Namen eingeloggter Nutzer ausgelöst werden. Hinweis: manche Frameworks setzen den Token per JavaScript – bitte manuell gegenprüfen.

Belege

http://127.0.0.1:8099/: <form action=http://example.org/anmelden> (http://example.org/anmelden)
http://127.0.0.1:8099/login: <form action=/login> (/login)

Empfehlung

CSRF-Token serverseitig erzeugen und validieren (WordPress: wp_nonce_field() / check_admin_referer()).

Behebung automatisierbarOWASP-ASVS-5.0-V4OWASP-Top10-2025-A01

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.form.csrf

◆Mittel Mixed Content (HTTP-Ressourcen auf HTTPS-Seite)

Unverschlüsselt geladene Ressourcen werden von Browsern blockiert oder als unsicher markiert.

Belege

http://127.0.0.1:8099/ → http://example.org/anmelden

Empfehlung

Alle Ressourcen auf https:// umstellen; upgrade-insecure-requests in der CSP ergänzen.

Behebung automatisierbarOWASP-ASVS-5.0-V13

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.mixed_content

◆Mittel X-Content-Type-Options fehlt

Browser dürfen den Content-Type erraten (MIME-Sniffing).

Belege

Antwort-Header `x-content-type-options` nicht vorhanden auf http://127.0.0.1:8099/

Empfehlung

X-Content-Type-Options: nosniff setzen.

Behebung automatisierbarOWASP-Top10-2025-A02OWASP-ASVS-5.0-V14

Aufwand 0.2–0.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.xcto http://127.0.0.1:8099/

Referenzen

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/x-content-type-options

•Niedrig security.txt fehlt

Ohne /.well-known/security.txt haben Sicherheitsforscher keinen definierten Meldeweg.

Empfehlung

/.well-known/security.txt mit Contact-, Policy- und Expires-Feld anlegen (RFC 9116).

Behebung automatisierbarGDPR-Art-32OWASP-Top10-2025-A02NIS2-§30-BSIG

Aufwand 0.3–1.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % expo.securitytxt.missing http://127.0.0.1:8099/.well-known/security.txt

Referenzen

https://securitytxt.org/

•Niedrig WordPress readme.html (verrät Version)

/readme.html liefert HTTP 200 mit erwartetem Inhalt.

Belege

http://127.0.0.1:8099/readme.html → 200 (18 Bytes)
<h1>WordPress</h1>

Empfehlung

Zugriff auf /readme.html serverseitig unterbinden oder die Datei entfernen.

Behebung automatisierbarGDPR-Art-32OWASP-Top10-2025-A02NIS2-§30-BSIG

Aufwand 0.3–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % expo.wp_readme http://127.0.0.1:8099/readme.html

•Niedrig Cookies ohne SameSite-Attribut

Ohne SameSite sind CSRF-Angriffe leichter möglich.

Belege

Betroffen: PHPSESSID, wordpress_logged_in_x, PHPSESSID, wordpress_logged_in_x, PHPSESSID, wordpress_logged_in_x

Empfehlung

SameSite=Lax (bzw. None; Secure für Cross-Site-Zahlungsflows) setzen.

Behebung automatisierbarOWASP-ASVS-5.0-V3GDPR-Art-32

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.cookie.samesite

•Niedrig Software-Versionen werden preisgegeben

Header verraten konkrete Versionen und erleichtern automatisierten Angreifern die Auswahl passender Exploits.

Belege

x-powered-by: PHP/7.4.3
server: nginx/1.14.0

Empfehlung

X-Powered-By entfernen (expose_php = Off), Server-Tokens abschalten (server_tokens off; / ServerTokens Prod).

Behebung automatisierbarOWASP-Top10-2025-A02

Aufwand 0.3–1.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.info_leak http://127.0.0.1:8099/

•Niedrig Permissions-Policy fehlt

Eingebettete Skripte/Iframes dürfen Kamera, Mikrofon, Geolocation etc. anfragen.

Belege

Antwort-Header `permissions-policy` nicht vorhanden auf http://127.0.0.1:8099/

Empfehlung

Permissions-Policy: geolocation=(), camera=(), microphone=(), payment=(self) setzen.

Behebung automatisierbarOWASP-Top10-2025-A02OWASP-ASVS-5.0-V14

Aufwand 0.3–1.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.permissions http://127.0.0.1:8099/

Referenzen

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/permissions-policy

•Niedrig Referrer-Policy fehlt

Vollständige URLs (inkl. Suchbegriffen, Token in Query-Strings) werden an Drittseiten weitergegeben.

Belege

Antwort-Header `referrer-policy` nicht vorhanden auf http://127.0.0.1:8099/

Empfehlung

Referrer-Policy: strict-origin-when-cross-origin setzen.

Behebung automatisierbarOWASP-Top10-2025-A02OWASP-ASVS-5.0-V14

Aufwand 0.2–0.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.referrer http://127.0.0.1:8099/

Referenzen

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/referrer-policy

iInfo E-Mail-Prüfung übersprungen

Für SPF, DKIM und DMARC wird DNS-Zugriff benötigt (dnspython ist nicht installiert).

Prüfung nur manuell

Aufwand 0–0 h OBSERVED · technisch beobachtet mail.dns.fehlt

iInfo Cross-Origin-Opener-Policy fehlt

COOP isoliert den Browsing-Context gegen Cross-Origin-Angriffe.

Belege

Antwort-Header `cross-origin-opener-policy` nicht vorhanden auf http://127.0.0.1:8099/

Empfehlung

Cross-Origin-Opener-Policy: same-origin prüfen (Achtung bei OAuth-Popups und Payment-Iframes).

Behebung automatisierbarOWASP-Top10-2025-A02OWASP-ASVS-5.0-V14

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % sec.coop http://127.0.0.1:8099/

Referenzen

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/cross-origin-opener-policy

Authentifizierung, Session und Zugriff

▲Hoch OAuth-/OIDC-Flow entspricht nicht der aktuellen Security-BCP

RFC 9700 (OAuth 2.0 Security Best Current Practice) verlangt Authorization Code mit PKCE, state, exakte Redirect-URIs und verzichtet auf Implicit- und Password-Grant.

Belege

response_type=token (Implicit/Hybrid – nach RFC 9700 nicht mehr empfohlen): https://idp.example/oauth2/authorize?response_type=token&client_id=x&redirect_uri=https://127.0.0.1/cb
state-Parameter fehlt (CSRF-Schutz): https://idp.example/oauth2/authorize?response_type=token&client_id=x&redirect_uri=https://127.0.0.1/cb

Empfehlung

Authorization Code Flow mit PKCE, state und – bei OIDC – nonce; Tokens niemals in der URL; kurze Token-Laufzeiten; Redirect-URIs exakt matchen.

Manuell zu prüfen: Client-Konfiguration im IdP gegenprüfen – die vollständige Bewertung braucht Einblick in die Server-seitige Konfiguration (White-Box).
Behebung automatisierbarRFC-9700RFC-6749OWASP-ASVS-5.0-V7

Aufwand 4.0–16.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 85 % auth.oauth.weak_parameters

Referenzen

https://www.rfc-editor.org/rfc/rfc9700.html

▲Hoch Session-Cookie ohne Secure, HttpOnly, SameSite

Session-Cookies ohne diese Attribute sind bei XSS oder Cross-Site-Requests direkt angreifbar.

Belege

http://127.0.0.1:8099/login: PHPSESSID – fehlend: Secure, HttpOnly, SameSite

Empfehlung

Secure, HttpOnly und SameSite=Lax setzen.

Behebung automatisierbarOWASP-ASVS-5.0-V3OWASP-Top10-2025-A07

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % auth.session.cookie_flags http://127.0.0.1:8099/login

◆Mittel Passwortlänge auf 20 Zeichen begrenzt

Kurze Maximallängen verhindern Passphrasen und deuten häufig auf unsichere Speicherung hin.

Belege

http://127.0.0.1:8099/login: maxlength=20

Empfehlung

Mindestens 64 Zeichen zulassen, keine künstlichen Zeichenklassenregeln.

Behebung automatisierbarOWASP-ASVS-5.0-V6OWASP-Top10-2025-A07

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % auth.password.maxlength http://127.0.0.1:8099/login

◆Mittel Session-Rotation und Logout nicht automatisiert prüfbar

Ob die Session-ID nach dem Login rotiert, ob Logout serverseitig invalidiert und ob Rate-Limits gegen Credential Stuffing greifen, lässt sich nur mit einem Testkonto verifizieren.

Empfehlung

Testkonto bereitstellen und die Prüfungen im authentifizierten Lauf durchführen.

Manuell zu prüfen: 1) Session-ID vor und nach Login vergleichen. 2) Nach Logout alte Session erneut verwenden. 3) Session Fixation testen. 4) 20 Fehlversuche: greift ein Rate-Limit? 5) Passwort-Reset invalidiert bestehende Sessions?
Behebung automatisierbarPrüfung nur manuellOWASP-ASVS-5.0-V3OWASP-Top10-2025-A07

Aufwand 2.0–6.0 h OBSERVED · technisch beobachtet auth.session.rotation

•Niedrig Passwortfeld unterbindet Passwortmanager

autocomplete="off" erschwert die Nutzung von Passwortmanagern und führt in der Praxis zu schwächeren, wiederverwendeten Passwörtern.

Belege

http://127.0.0.1:8099/login

Empfehlung

autocomplete="current-password" bzw. new-password verwenden.

Behebung automatisierbarOWASP-ASVS-5.0-V6OWASP-Top10-2025-A07

Aufwand 0.2–0.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % auth.password.autocomplete_off http://127.0.0.1:8099/login

?Klärung nötig Kein zweiter Faktor erkennbar

Auf den gefundenen Anmeldeseiten deutet nichts auf einen zweiten Faktor hin. Eine pauschale 2FA-Pflicht für Kundenkonten gibt es nicht – für NIS2-pflichtige Einrichtungen nennt § 30 BSIG Multi-Faktor- bzw. kontinuierliche Authentifizierung dagegen ausdrücklich. Für privilegierte Zugänge ist MFA in jedem Fall Stand der Technik.

Belege

Geprüfte Anmeldeseiten: http://127.0.0.1:8099/login

Empfehlung

Phishingresistente MFA (WebAuthn/Passkey) mindestens für Administratoren und privilegierte Rollen verpflichtend machen; TOTP als Fallback.

Manuell zu prüfen: Prüfen, ob MFA erst nach dem ersten Faktor abgefragt wird – dann ist sie im HTML nicht sichtbar. Ebenso prüfen, ob Recovery den zweiten Faktor aushebelt.
Behebung automatisierbarOWASP-Top10-2025-A07GDPR-Art-32

Aufwand 8.0–32.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 60 % auth.admin.no_mfa

Referenzen

https://www.w3.org/TR/webauthn-2/ · https://www.gesetze-im-internet.de/bsig_2025/__30.html

2 · Aktualität

Abgleich der erkannten Versionen gegen offizielle Release-Feeds, Schwachstellendatenbanken und Support-Ende-Termine.

!Kritisch PHP 7.4.3 erhält keine Sicherheitsupdates mehr

Support-Ende: 2022-11-28. Neue PHP-Lücken werden für diese Version nicht mehr geschlossen.

Belege

Erkannt: PHP 7.4.3
EOL: 2022-11-28

Empfehlung

Auf PHP 8.2+ migrieren; vorher Kompatibilität mit PHPCompatibility / Rector prüfen.

Behebung automatisierbarGDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 8.0–40.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.php.eol

Referenzen

https://www.php.net/supported-versions.php

!Kritisch WordPress veraltet (5.9.3 → 6.8.2)

Veraltete WordPress-Kernversionen sind das häufigste Einfallstor für automatisierte Massenangriffe.

Belege

Erkannt: 5.9.3
Aktuell: 6.8.2
Abstand: major

Empfehlung

Core-Update auf Staging einspielen, testen, danach produktiv; automatische Minor-Updates aktivieren.

Behebung automatisierbarGDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.wp.outdated

Referenzen

https://wordpress.org/download/releases/

▲Hoch jquery veraltet (1.12.4 → 3.7.1)

Keine offene CVE gefunden, die Version liegt aber deutlich hinter dem aktuellen Stand.

Belege

Erkannt: 1.12.4
Empfohlen: ≥ 3.7.1

Empfehlung

Auf 3.7.1 oder neuer aktualisieren.

Behebung automatisierbarGDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 0.5–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.lib.old.jquery

▲Hoch WooCommerce veraltet (6.1.0 → 9.9.0)

WooCommerce-Lücken betreffen direkt Bestell- und Kundendaten und werden aktiv ausgenutzt.

Belege

Erkannt: 6.1.0
Aktuell: 9.9.0

Empfehlung

Update auf Staging testen (Checkout, Zahlungen, Versand, Steuern), dann produktiv ausrollen.

Behebung automatisierbarGDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 3.0–12.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.woo.outdated

◆Mittel Universal Analytics (UA) noch eingebunden

Universal Analytics wurde abgeschaltet – es werden keine Daten mehr erhoben, das Skript kostet aber weiterhin Ladezeit.

Empfehlung

UA-Snippet entfernen, GA4 oder eine datenschutzfreundliche Alternative sauber einbinden.

Behebung automatisierbarGDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 1.0–3.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.analytics.ua_eol

◆Mittel 2 Plugins nicht im offiziellen Verzeichnis

Premium-/Custom-Plugins lassen sich nicht automatisch gegen einen Release-Feed prüfen. Genau hier fehlen Updates oft am längsten.

Belege

contact-form-7 5.4.1
woocommerce 6.1.0

Empfehlung

Lizenzstatus und Update-Kanal je Plugin dokumentieren; für Custom-Code ein Repository mit Review-Prozess einführen.

GDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.wp.plugins.premium

•Niedrig jQuery Migrate im Produktivbetrieb aktiv

jQuery Migrate ist eine Übergangshilfe für veralteten Code und ein verlässlicher Indikator für technische Schulden.

Empfehlung

Konsolen-Warnungen auswerten, betroffenen Code modernisieren, Migrate anschließend deaktivieren.

Behebung automatisierbarGDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 2.0–12.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.jquery_migrate

•Niedrig jquery-migrate wird nicht mehr weiterentwickelt

jQuery Migrate im Produktivbetrieb deutet auf veralteten Code hin

Belege

Eingesetzt: jquery-migrate 3.0.1

Empfehlung

Ersatzbibliothek einplanen und schrittweise migrieren.

Behebung automatisierbarGDPR-Art-32-1-bOWASP-Top10-2025-A03NIS2-§30-BSIG

Aufwand 2.0–12.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % cur.lib.deprecated.jquery-migrate

Ladezeit: Google PageSpeed Insights

Gemessen am mobileen Abbild der Startseite mit Lighthouse 13.4.1. Google bewertet seit dem Mobile-First-Index nach der mobilen Fassung – deshalb wird nur diese abgefragt.

41
von 100
Lighthouse · schlecht

Zwei Messungen, die nicht dasselbe sind. Der Punktestand links ist der Laborwert: eine einzelne Messung unter genormten Bedingungen – gedrosseltes Mobilfunknetz, Mittelklassegerät, leerer Cache. Er ist reproduzierbar und eignet sich, um Änderungen zu vergleichen.

Wonach Google tatsächlich rankt, sind die Felddaten: was echte Besucher in den letzten 28 Tagen erlebt haben. Sie stehen weiter unten – sofern die Seite genug Verkehr hat, dass Google sie veröffentlicht. Weichen beide auseinander, gilt das Feld.

Die Core Web Vitals aus echtem Verkehr besteht nicht für dieser Seite.

Core Web Vitals aus echtem Nutzerverkehr

Erhoben im Chrome UX Report über die letzten 28 Tage, gemessen an dieser Seite. Jede Torte zeigt, wie sich die Besucher auf die drei Bewertungsklassen verteilen – das ist die Information, die eine einzelne Zahl unterschlägt: Ein mittelmäßiger Durchschnitt kann bedeuten, dass alle mittelmäßig laden, oder dass die meisten sehr schnell laden und eine Minderheit sehr langsam. Nur der zweite Fall hat eine klare Ursache.

gut: 38 % verbesserungswürdig: 27 % schlecht: 35 %
LCP 4,10 s schlecht
gut: 54 % verbesserungswürdig: 33 % schlecht: 13 %
INP 312 ms verbesserungswürdig
gut: 61 % verbesserungswürdig: 26 % schlecht: 13 %
CLS 0,21 verbesserungswürdig
gut: 42 % verbesserungswürdig: 34 % schlecht: 24 %
TTFB 1,45 s verbesserungswürdig Diagnose, kein Vital
gut verbesserungswürdig schlecht
Metrik75. PerzentilBewertung gutmittelschlecht
LCP – größter Inhalt sichtbar 4,10 s schlecht 38 %27 %35 %
INP – Reaktion auf Eingaben 312 ms verbesserungswürdig 54 %33 %13 %
CLS – Layoutsprünge 0,21 verbesserungswürdig 61 %26 %13 %
TTFB – erste Antwort des Servers 1,45 s verbesserungswürdig 42 %34 %24 %

Der ausgewiesene Wert ist das 75. Perzentil: drei von vier Aufrufen waren mindestens so schnell. Google nimmt bewusst nicht den Durchschnitt – der verdeckt genau die langsamen Aufrufe, um die es geht.

Laborwerte im Einzelnen

Eine Messung unter genormten Bedingungen. Sie sagt nicht, wie schnell Ihre Seite für einen bestimmten Besucher ist, sondern wie schnell sie unter immer gleichen Bedingungen ist – und genau deshalb lässt sich damit vergleichen, ob eine Änderung etwas gebracht hat.

MetrikWertBewertungWas sie misst
LCP – Größter Inhalt sichtbar 4,8 s schlecht Wann der größte sichtbare Inhaltsblock fertig gezeichnet ist – meist das Titelbild oder die Überschrift. Der Wert, den ein Besucher als „die Seite ist da“ empfindet. Google nennt bis 2,5 s gut.
FCP – Erster Inhalt sichtbar 2,1 s verbesserungswürdig Wann überhaupt zum ersten Mal etwas erscheint. Bis 1,8 s gut. Ein guter FCP bei schlechtem LCP heißt: Es geht schnell los, dauert aber lange bis zum Wesentlichen.
SI – Aufbaugeschwindigkeit 5,4 s schlecht Wie schnell sich der sichtbare Bereich füllt, gemittelt über den ganzen Aufbau. Bestraft Seiten, die ruckweise erscheinen.
TBT – Blockierte Zeit 890 ms schlecht Wie lange der Hauptthread so beschäftigt war, dass er auf Klicks nicht reagiert hätte. Fast immer JavaScript. Bis 200 ms gut.
CLS – Layoutsprünge 0,18 verbesserungswürdig Wie stark Inhalte während des Ladens verrutschen – der Grund, warum man auf den falschen Knopf tippt. Bis 0,1 gut.

Einzelmaßnahmen mit beziffertem Zeitgewinn

Lighthouse beziffert, was jede Maßnahme einspart. Die Summe von rund 6.9 s ist eine Obergrenze – die Posten überschneiden sich teilweise, weil dieselbe Datei in mehreren Zeilen auftauchen kann. Von oben nach unten abarbeiten; die ersten zwei bis drei Posten machen erfahrungsgemäß den Großteil aus.

MaßnahmeZeitgewinnVolumenWorum es geht
Ungenutztes JavaScript entfernen 2.4 s 612 KB Reduziert die Übertragung und die Zeit, die der Hauptthread mit Auswerten verbringt. Mehr dazu
Bilder in modernen Formaten ausliefern 1.9 s 848 KB WebP und AVIF sind deutlich kleiner als JPEG und PNG bei gleicher Qualität.
Rendering-blockierende Ressourcen beseitigen 1.3 s 96 KB Stylesheets und Skripte im Kopf verzögern den ersten Bildaufbau.
Ungenutztes CSS entfernen 0.7 s 174 KB Ungenutzte Regeln müssen trotzdem übertragen und ausgewertet werden.
Antwortzeit des Servers verkürzen 0.6 s – Die Zeit bis zum ersten Byte geht direkt in jede weitere Messung ein.
Warum das hier steht. Ladezeit ist keine reine Komfortfrage. Die Core Web Vitals sind ein bestätigter Rankingfaktor, und sie schlagen unmittelbar auf die Abbruchquote durch. Zugleich ist es der Bereich, in dem eine einzelne technische Maßnahme oft mehr bewegt als monatelange inhaltliche Arbeit – deshalb die Bezifferung oben statt einer allgemeinen Empfehlung.

3 · SEO und GEO

3a · Klassische Suchmaschinenoptimierung

!Kritisch robots.txt sperrt die komplette Seite

Disallow: / verhindert die Indexierung vollständig.

Belege

User-agent: * Disallow: /wp-admin/ User-agent: GPTBot Disallow: / User-agent: ClaudeBot Disallow: /

Empfehlung

Regel entfernen – typischer Überbleibsel aus der Staging-Phase.

Behebung automatisierbar

Aufwand 0.2–0.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.robots.blocks_all

▲Hoch Viewport-Meta fehlt

Ohne Viewport-Meta ist die Seite auf Mobilgeräten nicht korrekt nutzbar – Google indexiert mobile-first.

Belege

http://127.0.0.1:8099/
http://127.0.0.1:8099/kontakt
http://127.0.0.1:8099/login

Empfehlung

<meta name="viewport" content="width=device-width, initial-scale=1"> ergänzen.

Behebung automatisierbar

Aufwand 0.3–1.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.viewport.missing

◆Mittel Canonical-Tag fehlt

Ohne Canonical entstehen bei Filter-/Parameter-URLs Duplicate-Content-Probleme – im Shop besonders häufig.

Belege

http://127.0.0.1:8099/
http://127.0.0.1:8099/kontakt
http://127.0.0.1:8099/login

Empfehlung

Selbstreferenzierendes <link rel="canonical"> mit absoluter URL ausgeben.

Behebung automatisierbar

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.canonical.missing

◆Mittel Seiten ohne Meta-Description

Ohne Description generiert Google ein beliebiges Snippet – die Klickrate leidet.

Belege

http://127.0.0.1:8099/
http://127.0.0.1:8099/kontakt
http://127.0.0.1:8099/login

Empfehlung

Pro Seite eine 120–155 Zeichen lange Description mit Nutzenversprechen und Handlungsaufruf schreiben.

Behebung automatisierbar

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.description.missing

◆Mittel 2 von 2 Bildern ohne alt-Attribut

Alt-Texte sind Rankingfaktor für die Bildersuche und zwingend für Barrierefreiheit (BFSG/EAA).

Belege

Anteil ohne alt: 100%

Empfehlung

Beschreibende Alt-Texte pflegen; dekorative Bilder mit alt="" auszeichnen.

Behebung automatisierbar

Aufwand 2.0–10.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.img.alt

◆Mittel `<html lang>` fehlt

Sprachauszeichnung fehlt – relevant für Suchmaschinen, Screenreader und KI-Systeme.

Belege

http://127.0.0.1:8099/

Empfehlung

<html lang="de"> (bzw. de-DE) setzen.

Behebung automatisierbar

Aufwand 0.3–1.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.lang.missing

◆Mittel Keine XML-Sitemap gefunden

Ohne Sitemap werden neue und tief verlinkte Seiten deutlich langsamer erfasst.

Belege

http://127.0.0.1:8099/sitemap.xml

Empfehlung

XML-Sitemap generieren (Yoast/RankMath/Shopify erzeugt sie automatisch) und in der Search Console einreichen.

Behebung automatisierbar

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.sitemap.missing

◆Mittel Sehr wenig Textinhalt

Dünne Seiten ranken schlecht und liefern KI-Systemen nichts Zitierfähiges.

Belege

http://127.0.0.1:8099/: ~11 Wörter
http://127.0.0.1:8099/kontakt: ~1 Wörter
http://127.0.0.1:8099/login: ~7 Wörter

Empfehlung

Inhaltstiefe erhöhen: Anwendungsfälle, FAQ, Spezifikationen, Ratgeberinhalte.

Behebung automatisierbar

Aufwand 8.0–40.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.thin_content

•Niedrig 1 tote Links nach außen

Verweise auf fremde Seiten, die nicht mehr erreichbar sind. Kein Fehler der eigenen Website, aber sichtbar für jeden Besucher.

Belege

https://idp.example/oauth2/authorize?response_type=token&client_id=x&redirect_uri=https://127.0.0.1/cb → HTTPSConnectionPool(host='idp.example', port=443): Max retries exceeded with url: /oauth2/authorize?response_type=token&client_id=x&redirect_uri=https://127.0.0.1/cb (Caused by NameResolutionError("HTTPSConnection(host='idp.example', port=443): Failed to resolve 'idp.example' ([Errno 8] nodename nor servname provided, or not known)")) (verlinkt auf http://127.0.0.1:8099/login)

Empfehlung

Ziel aktualisieren, auf eine Archivfassung verweisen oder den Link entfernen.

Behebung automatisierbar

Aufwand 0.5–3.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.broken_links.extern

•Niedrig Mehrere H1-Überschriften

Unklare Dokumenthierarchie.

Belege

http://127.0.0.1:8099/: 2× H1

Empfehlung

Nur eine H1 je Seite, weitere Ebenen als H2/H3.

Behebung automatisierbar

Aufwand 1.0–3.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.h1.multiple

•Niedrig 3 interne Links zeigen noch auf http://

Jeder Aufruf läuft erst unverschlüsselt und wird dann umgeleitet. Das kostet einen Sprung und öffnet ein Zeitfenster, in dem sich die Anfrage umbiegen lässt.

Belege

http://127.0.0.1:8099/produkte (verlinkt auf http://127.0.0.1:8099/)
http://127.0.0.1:8099/kontakt (verlinkt auf http://127.0.0.1:8099/)
http://127.0.0.1:8099/login (verlinkt auf http://127.0.0.1:8099/)

Empfehlung

Interne Verweise auf https:// umstellen oder relativ notieren.

Behebung automatisierbar

Aufwand 0.5–3.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.interne_http_links

•Niedrig Open-Graph-Daten unvollständig

Beim Teilen in sozialen Netzwerken und Messengern entsteht kein ansprechendes Vorschaubild.

Belege

Fehlend: og:title, og:description, og:image, og:url

Empfehlung

og:title, og:description, og:image (1200×630) und og:url im Template ergänzen.

Behebung automatisierbar

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.opengraph

•Niedrig Kein Sitemap-Verweis in der robots.txt

Suchmaschinen finden die Sitemap langsamer.

Empfehlung

Sitemap: https://…/sitemap.xml ergänzen.

Behebung automatisierbar

Aufwand 0.2–0.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.robots.no_sitemap

•Niedrig Title-Länge außerhalb des Optimums

Zu kurze Titles verschenken Relevanz, zu lange werden in den SERPs abgeschnitten.

Belege

http://127.0.0.1:8099/: 10 Zeichen – „Mustershop“
http://127.0.0.1:8099/produkte: 21 Zeichen – „Produkte – Mustershop“
http://127.0.0.1:8099/kontakt: 7 Zeichen – „Kontakt“
http://127.0.0.1:8099/login: 8 Zeichen – „Anmelden“

Empfehlung

Auf 50–60 Zeichen optimieren.

Behebung automatisierbar

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.title.length

iInfo Twitter-Card-Tags fehlen

Vorschau auf X/Twitter bleibt unvollständig.

Empfehlung

twitter:card, twitter:title, twitter:image ergänzen.

Behebung automatisierbar

Aufwand 0.5–1.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % seo.twittercard

3b · GEO – Sichtbarkeit in KI-Systemen

▲Hoch 2 KI-Crawler werden per robots.txt ausgesperrt

Ausgesperrte Systeme können die Seite in KI-Antworten weder zitieren noch verlinken. Das kann bewusst gewollt sein (Content-Schutz) – für Sichtbarkeit ist es ein Ausschlusskriterium.

Belege

GPTBot (ChatGPT-Training & -Suche (OpenAI))
ClaudeBot (Claude-Index (Anthropic))

Empfehlung

Bewusste Entscheidung dokumentieren. Für Sichtbarkeit: Such-Bots (OAI-SearchBot, PerplexityBot, Google-Extended) zulassen, reine Trainings-Bots ggf. separat behandeln.

Behebung automatisierbar

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.ai.blocked_crawlers

▲Hoch Keine strukturierten Daten (JSON-LD)

Ohne schema.org-Auszeichnung müssen KI-Systeme Fakten wie Preis, Verfügbarkeit, Öffnungszeiten oder Autor aus dem Fließtext raten – die Zitierwahrscheinlichkeit sinkt deutlich.

Empfehlung

Mindestens Organization + WebSite global, Product/Offer auf Produktseiten, FAQPage bei Fragen, Article bei Ratgeberinhalten, BreadcrumbList in der Navigation.

Behebung automatisierbar

Aufwand 6.0–24.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.ai.schema.missing

Referenzen

https://validator.schema.org/

◆Mittel Inhalte sind schlecht zitierfähig aufbereitet

KI-Systeme extrahieren bevorzugt klar abgegrenzte, datierte und belegte Aussagen – Fließtext ohne Struktur wird selten zitiert.

Belege

Fehlt: Keine Frage-Überschriften (KI-Systeme matchen Nutzerfragen auf H2/H3)
Fehlt: Kaum Listen/Aufzählungen – extrahierbare Fakten fehlen
Fehlt: Keine Tabellen (Vergleichsdaten sind besonders zitierfähig)
Fehlt: Keine Aktualitätsangabe (KI-Systeme bevorzugen datierte Inhalte)
Fehlt: Keine Autoren-/Quellenangabe (E-E-A-T-Signal)

Empfehlung

Frage-basierte Zwischenüberschriften, kurze Antwortabsätze direkt darunter, Vergleichstabellen, Aktualisierungsdatum und Autorenkennzeichnung ergänzen.

Behebung automatisierbar

Aufwand 8.0–32.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.ai.citability

◆Mittel llms.txt fehlt

llms.txt ist die entstehende Konvention, mit der KI-Systeme eine kuratierte Übersicht der wichtigsten Inhalte in Markdown erhalten – statt sich durch Navigations-HTML zu kämpfen.

Empfehlung

/llms.txt mit Kurzbeschreibung des Unternehmens und kommentierten Links zu Kernseiten (Produkte, Preise, FAQ, Kontakt) anlegen; optional /llms-full.txt mit den Volltexten.

Behebung automatisierbar

Aufwand 2.0–6.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.ai.llms_txt http://127.0.0.1:8099/llms.txt

Referenzen

https://llmstxt.org/

•Niedrig Keine erkennbare Über-uns-/Entitätsseite

KI-Systeme brauchen eine eindeutige Beschreibung, wer das Unternehmen ist, um es als Entität zu verankern.

Empfehlung

Über-uns-Seite mit klarer Positionierung, Gründungsjahr, Standort, Ansprechpartnern und sameAs-Verweisen (LinkedIn, Wikipedia, Branchenverzeichnisse) anlegen.

Behebung automatisierbar

Aufwand 4.0–12.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.ai.entity

3c · GEO – geografische und mehrsprachige Ausrichtung

◆Mittel Sprachattribut im <html>-Tag fehlt

Ohne lang-Attribut fehlt sowohl Suchmaschinen als auch Screenreadern und KI-Systemen die Sprachzuordnung.

Empfehlung

<html lang="de-DE"> setzen.

Behebung automatisierbar

Aufwand 0.2–0.5 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.local.html_lang

◆Mittel Standortdaten nicht maschinenlesbar ausgezeichnet

Name, Adresse und Telefonnummer (NAP) fehlen als strukturierte Daten. Für lokale Suche, Maps-Einträge und KI-Antworten auf Fragen wie „Anbieter in meiner Nähe“ ist das die Grundlage.

Belege

schema.org-Typen: –
Adresse im Markup: nein
Telefonnummer gefunden: nein

Empfehlung

LocalBusiness- bzw. Organization-Markup mit PostalAddress, geo-Koordinaten, openingHoursSpecification und areaServed ergänzen; NAP-Daten seitenweit identisch halten und mit dem Google-Unternehmensprofil abgleichen.

Behebung automatisierbar

Aufwand 3.0–10.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.local.nap

•Niedrig Kein Content-Language-Signal

Weder HTTP-Header noch lang-Attribut geben die Sprache an.

Empfehlung

Content-Language-Header oder lang-Attribut setzen.

Behebung automatisierbar

Aufwand 0.3–1.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.local.content_language

•Niedrig Währung nicht maschinenlesbar ausgezeichnet

Ohne priceCurrency können Suchmaschinen und KI-Systeme Preise keinem Markt zuordnen.

Empfehlung

priceCurrency im Offer-Markup ausgeben und regionale Preis-/Versandinformationen ergänzen.

Behebung automatisierbar

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % geo.local.currency

Performance und Core Web Vitals

▲Hoch Core Web Vitals aus echtem Nutzerverkehr: besteht nicht

Gemessen an echten Besuchern dieser Seite über die letzten 28 Tage. Das ist der Wert, nach dem Google rankt – der Laborwert von Lighthouse ist nur die Simulation dazu.

Belege

LCP – größter Inhalt sichtbar: 4,10 s – schlecht (75. Perzentil, also drei von vier Aufrufen)
INP – Reaktion auf Eingaben: 312 ms – verbesserungswürdig (75. Perzentil, also drei von vier Aufrufen)
CLS – Layoutsprünge: 0,21 – verbesserungswürdig (75. Perzentil, also drei von vier Aufrufen)
TTFB – erste Antwort des Servers: 1,45 s – verbesserungswürdig (75. Perzentil, also drei von vier Aufrufen)

Empfehlung

Zuerst die Metrik angehen, die als schlecht bewertet ist; die Einzelmaßnahmen aus Lighthouse zeigen, wo die Zeit verloren geht.

Aufwand 8.0–40.0 h EVIDENCED · Dokument hinterlegt Beobachtungssicherheit 90 % perf.crux

Referenzen

https://web.dev/articles/vitals

▲Hoch Lighthouse-Performance (mobil): 41/100

Labormessung unter genormten Bedingungen – gedrosseltes Mobilfunknetz, Mittelklassegerät. LCP 4,8 s, CLS 0,18, Total Blocking Time 890 ms.

Belege

LCP: 4,8 s
CLS: 0,18
Total Blocking Time: 890 ms
Speed Index: 5,4 s

Empfehlung

Die aufgeführten Einzelmaßnahmen abarbeiten – sie sind nach eingespartem Ladezeitanteil sortiert.

Behebung automatisierbar

Aufwand 8.0–40.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % perf.lighthouse

▲Hoch 5 Einzelmaßnahmen mit rund 6.9 s Zeitgewinn

Lighthouse beziffert, was jede Maßnahme einspart. Die Summe ist eine Obergrenze – die Posten überschneiden sich teilweise.

Belege

Ungenutztes JavaScript entfernen: rund 2.4 s, 612 KB
Bilder in modernen Formaten ausliefern: rund 1.9 s, 848 KB
Rendering-blockierende Ressourcen beseitigen: rund 1.3 s, 96 KB
Ungenutztes CSS entfernen: rund 0.7 s, 174 KB
Antwortzeit des Servers verkürzen: rund 0.6 s

Empfehlung

Von oben nach unten abarbeiten. Die ersten zwei bis drei Posten machen erfahrungsgemäß den Großteil aus.

Behebung automatisierbar

Aufwand 4.0–32.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % perf.massnahmen

◆Mittel Keine Kompression aktiv

HTML wird unkomprimiert ausgeliefert – typischerweise 60–80 % vermeidbares Übertragungsvolumen.

Belege

Content-Encoding-Header fehlt (2 KB)

Empfehlung

Brotli (bevorzugt) bzw. gzip für Text-Assets aktivieren.

Behebung automatisierbarCore-Web-Vitals

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % perf.compression

◆Mittel 2 Bilder ohne width/height

Fehlende Maßangaben verursachen Layout-Sprünge (CLS) – einer der drei Core Web Vitals.

Empfehlung

width/height (oder aspect-ratio) an allen <img>-Elementen setzen.

Behebung automatisierbarCore-Web-Vitals

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % perf.img.dimensions

◆Mittel Keine modernen Bildformate (WebP/AVIF)

JPEG/PNG statt WebP/AVIF bedeutet typischerweise 25–50 % unnötiges Datenvolumen.

Empfehlung

Bilder als WebP/AVIF mit <picture>-Fallback ausliefern; im Shop automatisiert über den Bilddienst der Plattform.

Behebung automatisierbarCore-Web-Vitals

Aufwand 3.0–12.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % perf.img.format

◆Mittel Statische Assets ohne Browser-Caching

Wiederkehrende Besucher laden CSS/JS bei jedem Aufruf neu.

Belege

http://127.0.0.1:8099/wp-content/themes/mustertheme/style.css?ver=1.2.0 → Cache-Control: fehlt

Empfehlung

Cache-Control: public, max-age=31536000, immutable für versionierte Assets setzen.

Behebung automatisierbarCore-Web-Vitals

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % perf.static_cache

✓Bestanden Serverantwortzeit: 16 ms

Serverantwortzeit im guten Bereich.

Belege

http://127.0.0.1:8099/: 16 ms, 2 KB HTML
Core-Web-Vitals

Aufwand 0–0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % perf.ttfb

4 · Recht, Datenschutz und Compliance

4a · Consent und § 25 TDDDG

Geprüft mit einer frischen Session ohne jeden Cookie: alles, was dabei geladen wird, geschieht zwangsläufig vor einer Einwilligung. JavaScript wird dabei nicht ausgeführt – was ein Consent-Tool später nachlädt, gehört in die Browser-Gegenprüfung.

⛔Blocker Einwilligungspflichtige Dienste ohne Einwilligungsabfrage

Es wurden einwilligungspflichtige Dienste erkannt, aber kein Consent-Management. Damit kann keine wirksame Einwilligung vorliegen.

Belege

Blocker: Einwilligungspflichtige Dienste ohne jede Einwilligungsabfrage.
Google Fonts (extern) (fonts.googleapis.com)
Google Tag Manager / GA4 (googletagmanager.com)

Empfehlung

Consent-Management-Plattform mit Vorab-Blocking einführen und Einwilligungen protokollieren.

Behebung automatisierbarGDPR-Art-4-11GDPR-Art-7TDDDG-§25EDPB-05/2020

Aufwand 8.0–24.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % consent.missing_cmp

⛔Blocker Einwilligungspflichtige Dienste laden vor der Einwilligung

Beim Aufruf mit einer frischen Session – also ohne jede Einwilligung – werden bereits Informationen auf dem Endgerät gespeichert bzw. einwilligungspflichtige Dienste eingebunden. § 25 TDDDG verlangt dafür grundsätzlich eine vorherige Einwilligung; die Ausnahme greift nur bei unbedingt erforderlichen Funktionen.

Belege

Blocker: Einwilligungspflichtige Zugriffe auf das Endgerät erfolgen vor der Einwilligung (§ 25 TDDDG).
Aktiv eingebunden: Google Fonts (extern) (fonts.googleapis.com)
Aktiv eingebunden: Google Tag Manager / GA4 (googletagmanager.com)

Empfehlung

Alle nicht unbedingt erforderlichen Skripte und Cookies bis zur Einwilligung blockieren – am zuverlässigsten über ein CMP mit echtem Vorab-Blocking (nicht nur nachträgliches Löschen).

Manuell zu prüfen: Je Dienst prüfen, ob er für den ausdrücklich gewünschten Dienst unbedingt erforderlich ist. Zusätzlich im Browser mit Netzwerk-Mitschnitt gegenprüfen, was nach dem Seitenaufbau nachgeladen wird.
Behebung automatisierbarGDPR-Art-4-11GDPR-Art-7TDDDG-§25EDPB-05/2020

Aufwand 8.0–24.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 95 % consent.pre_consent_tracking http://127.0.0.1:8099/

Referenzen

https://www.gesetze-im-internet.de/tddg/__25.html

▲Hoch Kein Nachweis über erteilte Einwilligungen

Der Verantwortliche muss nachweisen können, dass eine Einwilligung erteilt wurde. Ein Consent-Protokoll wurde nicht als Nachweis hinterlegt.

Empfehlung

Consent-Receipts mit Zeitpunkt, Zwecken/Kategorien, Policy-Version und Identifikator revisionssicher speichern und exportierbar halten.

Manuell zu prüfen: Export eines Consent-Protokolls anfordern und stichprobenhaft prüfen.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-4-11GDPR-Art-7TDDDG-§25EDPB-05/2020

Aufwand 4.0–12.0 h OBSERVED · technisch beobachtet consent.no_proof

4b · Datenschutz (DSGVO)

⛔Blocker Keine Datenschutzerklärung gefunden

Ohne Datenschutzerklärung sind die Informationspflichten nach Art. 13 DSGVO nicht erfüllt – schon das Ausliefern der Seite verarbeitet personenbezogene Daten (IP-Adresse).

Belege

Blocker: Ohne Datenschutzerklärung sind die Informationspflichten nach Art. 13 DSGVO nicht erfüllt.

Empfehlung

Datenschutzerklärung erstellen und auf jeder Seite verlinken.

Behebung automatisierbarGDPR-Art-12GDPR-Art-13EDPB-Transparenz

Aufwand 4.0–12.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % legal.privacy_policy.missing

▲Hoch Tracking-Dienste ohne erkennbares Consent-Management

Einwilligungspflichtige Dienste werden geladen, ohne dass ein Consent-Tool erkennbar ist. Nach §25 TDDDG/DSGVO ist das abmahnfähig.

Belege

Google Analytics
Google Fonts (extern)

Empfehlung

Consent-Management-Plattform einsetzen und Skripte erst nach erteilter Einwilligung laden (Consent Mode v2 bzw. blockierendes Tag-Management).

Behebung automatisierbarGDPR-Art-5GDPR-Art-6

Aufwand 8.0–24.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % privacy.no_consent

Referenzen

https://www.gesetze-im-internet.de/tddg/__25.html

▲Hoch Mögliche Drittlandtransfers ohne hinterlegten Nachweis (2 Anbieter)

Es werden Dienste eingebunden, deren Anbieter typischerweise außerhalb des EWR sitzen. Ob tatsächlich eine Übermittlung stattfindet und ob sie durch Angemessenheitsbeschluss, Standardvertragsklauseln plus Transfer Impact Assessment getragen wird, lässt sich aus einem Request nicht ableiten.

Belege

www.googletagmanager.com → Google
fonts.googleapis.com → Google

Empfehlung

Je Anbieter Transfergrundlage klären, SCC abschließen, TIA durchführen und in der Datenschutzerklärung ausweisen. Alternativ auf EU-Hosting oder lokale Einbindung umstellen.

Manuell zu prüfen: Vertragslage je Anbieter prüfen: Angemessenheitsbeschluss, SCC-Modul, Unterauftragsverarbeiter, ergänzende Maßnahmen.
Behebung automatisierbarGDPR-Kap-VSCC-2021/914EDPB-01/2020

Aufwand 4.0–20.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 60 % privacy.transfer.undocumented

Referenzen

https://eur-lex.europa.eu/eli/dec_impl/2021/914/oj

◆Mittel Google Fonts werden extern geladen

Beim externen Einbinden wird die IP-Adresse der Besucher an Google übertragen – in Deutschland Gegenstand zahlreicher Abmahnungen (LG München I, 3 O 17493/20).

Empfehlung

Schriften lokal hosten (self-hosted WOFF2) und die externen Verweise entfernen.

Behebung automatisierbarGDPR-Art-6TDDDG-§25LG-München-3-O-17493/20

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % privacy.google_fonts

4c · Pflichtangaben und Informationspflichten

⛔Blocker Kein Impressum verlinkt

§ 5 DDG verlangt für geschäftsmäßige digitale Dienste Anbieterinformationen, die leicht erkennbar, unmittelbar erreichbar und ständig verfügbar sind.

Belege

Blocker: Anbieterkennzeichnung nach § 5 DDG fehlt bzw. ist nicht erreichbar.

Empfehlung

Impressum anlegen und im Footer jeder Seite verlinken.

Manuell zu prüfen: Bei rein privaten, nicht geschäftsmäßigen Angeboten kann die Pflicht entfallen – Scope klären.
Behebung automatisierbarDDG-§5

Aufwand 1.0–3.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % legal.imprint.missing

Referenzen

https://www.gesetze-im-internet.de/ddg/__5.html

▲Hoch AGB / Nutzungsbedingungen nicht verlinkt

Für Verbrauchergeschäfte im elektronischen Geschäftsverkehr ist AGB / Nutzungsbedingungen regelmäßig erforderlich.

Empfehlung

AGB / Nutzungsbedingungen erstellen und im Footer sowie im Bestellprozess verlinken.

Manuell zu prüfen: Zielgruppe (B2C/B2B) und Vertragsart klären; bei reinem B2B gelten andere Anforderungen.
BGB-§312dEGBGB-Art-246a

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 80 % legal.terms.missing

▲Hoch Widerrufsbelehrung nicht verlinkt

Für Verbrauchergeschäfte im elektronischen Geschäftsverkehr ist Widerrufsbelehrung regelmäßig erforderlich.

Empfehlung

Widerrufsbelehrung erstellen und im Footer sowie im Bestellprozess verlinken.

Manuell zu prüfen: Zielgruppe (B2C/B2B) und Vertragsart klären; bei reinem B2B gelten andere Anforderungen.
BGB-§312dEGBGB-Art-246a

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 80 % legal.withdrawal.missing

4d · Barrierefreiheit / BFSG

◆Mittel 2 Formularfelder ohne Beschriftung

Screenreader-Nutzer erfahren nicht, was einzugeben ist. Bei Checkout-Formularen ist das ein Conversion- und Compliance-Problem (BFSG).

Belege

<input type=text name=benutzer>
<input type=password name=passwort>

Empfehlung

<label for> oder aria-label für jedes Eingabefeld.

Behebung automatisierbarBFSGEN-301-549WCAG-2.1-AA

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % a11y.labels

◆Mittel Keine Barrierefreiheitserklärung gefunden

B2C-Onlineshops unterliegen in Deutschland seit dem 28.06.2025 dem BFSG und benötigen u.a. eine Erklärung zur Barrierefreiheit.

Empfehlung

Erklärung zur Barrierefreiheit mit Stand, Konformitätsgrad, bekannten Einschränkungen und Feedback-Mechanismus veröffentlichen und im Footer verlinken.

Manuell zu prüfen: Wird zum Blocker, sobald die aus dem Crawl abgeleitete Scope-Angabe bestätigt ist: Erfasste B2C-Dienstleistung ohne Erklärung zur Barrierefreiheit (BFSG).
Behebung automatisierbarBFSGEN-301-549WCAG-2.1-AA

Aufwand 2.0–6.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % a11y.statement

•Niedrig Überschriftenhierarchie mit Sprüngen

Übersprungene Ebenen erschweren die Orientierung per Screenreader und verwirren auch KI-Parser.

Belege

h1→h4

Empfehlung

Ebenen lückenlos verwenden; Optik über CSS lösen.

Behebung automatisierbarBFSGEN-301-549WCAG-2.1-AA

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % a11y.heading_order

•Niedrig Keine semantischen Landmarks

Ohne <main>, <nav>, <header>, <footer> ist keine schnelle Navigation per Screenreader möglich.

Empfehlung

Semantische HTML5-Elemente statt generischer <div> verwenden.

Behebung automatisierbarBFSGEN-301-549WCAG-2.1-AA

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % a11y.landmarks

•Niedrig Kein Skip-Link zum Hauptinhalt

Tastaturnutzer müssen sich bei jedem Seitenaufruf durch die komplette Navigation arbeiten.

Empfehlung

Als erstes fokussierbares Element einen Skip-Link auf #main einbauen.

Behebung automatisierbarBFSGEN-301-549WCAG-2.1-AA

Aufwand 0.5–2.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 90 % a11y.skiplink

?Klärung nötig BFSG-Anwendbarkeit nicht geklärt

Das Barrierefreiheitsstärkungsgesetz gilt seit dem 28.06.2025 unter anderem für Dienstleistungen im elektronischen Geschäftsverkehr gegenüber Verbrauchern. Dienstleistungs-Kleinstunternehmen sind ausgenommen. Ohne Angaben zu Zielgruppe und Unternehmensgröße lässt sich die Pflicht nicht bestimmen. Die Seite weist E-Commerce-Merkmale auf.

Empfehlung

Scope-Fragen zielgruppe, mitarbeiterzahl und jahresumsatz beantworten.

Manuell zu prüfen: Kleinstunternehmen: weniger als 10 Beschäftigte und höchstens 2 Mio. EUR Jahresumsatz bzw. -bilanzsumme.
Prüfung nur manuellBFSGEN-301-549WCAG-2.1-AA

Aufwand 0.5–1.0 h OBSERVED · technisch beobachtet a11y.bfsg.scope_unknown

4f · NIS2 / BSIG

?Klärung nötig NIS2-/BSIG-Einstufung nicht geklärt

Das deutsche NIS2-Umsetzungsgesetz ist seit dem 06.12.2025 in Kraft. Ob die Organisation als besonders wichtige oder wichtige Einrichtung erfasst ist, hängt von Sektor, Größe und Umsatz ab – und entscheidet, ob der Maßnahmenkatalog des § 30 BSIG verbindlich ist (inklusive MFA, Lieferkettensicherheit und Nachweispflicht).

Empfehlung

Einstufung anhand der Anlagen des BSIG prüfen und dokumentieren; bei Erfassung Registrierung nicht vergessen.

Manuell zu prüfen: Sektor, Beschäftigtenzahl und Umsatz gegen die Schwellenwerte prüfen; auch mittelbare Erfassung über die Lieferkette bewerten.
Prüfung nur manuellNIS2-§30-BSIGISO-27001

Aufwand 2.0–8.0 h OBSERVED · technisch beobachtet nis2.scope.unknown

Referenzen

https://www.gesetze-im-internet.de/bsig_2025/

5 · KI: AI Act und KI-Sicherheit

5a · KI-Governance und AI Act

⛔Blocker Keine AI-Act-Klassifizierung je KI-Funktion

Für jede KI-Funktion sind Rolle (Anbieter/Betreiber) und Risikoklasse zu bestimmen. Verbote gelten seit 02.02.2025, GPAI-Pflichten seit 02.08.2025, die allgemeine Anwendung inkl. Transparenzpflichten seit 02.08.2026. Die High-Risk-Pflichten wurden durch den AI Omnibus (VO 2026/1744) auf den 02.12.2027 (Annex III) bzw. 02.08.2028 (Annex-I-Produkte) verschoben – Engineering-Anforderungen sollten trotzdem jetzt eingeplant werden.

Belege

Blocker: Ohne AI-Act-Klassifizierung ist nicht bewertet, ob eine verbotene Praxis oder ein Hochrisiko-Anwendungsfall vorliegt.
nicht angegeben

Empfehlung

Klassifizierungsmemo je KI-Funktion erstellen und versioniert führen.

Manuell zu prüfen: Juristische Validierung der Einstufung, insbesondere bei Scoring, Personalauswahl, Bonität, Zugangsentscheidungen.
Behebung automatisierbarPrüfung nur manuellAI-Act-VO-2024/1689AI-Omnibus-VO-2026/1744

Aufwand 4.0–20.0 h OBSERVED · technisch beobachtet ai.classification.missing

⛔Blocker Modell- und Prompt-Provenienz nicht nachgewiesen

Jede produktive KI-Instanz muss eindeutig identifizierbar sein: Anbieter, Modellfamilie, konkrete Version bzw. Snapshot, Region, System-Prompt-Version, Retrieval-Index-Version und aktive Tools. Ohne diese Angaben sind reproduzierbare Tests, Incident Response und Änderungsmanagement unmöglich.

Belege

Blocker: Ohne KI-Inventar und Modell-Provenienz ist weder Klassifizierung noch Incident Response möglich.
nicht angegeben

Empfehlung

AI-BOM/Modell-Inventar pflegen; im Deployment-Manifest eine unveränderliche Versionsreferenz statt eines Alias wie latest verwenden.

Manuell zu prüfen: Deployment-Manifest und Model Cards anfordern und mit dem Produktivstand abgleichen.
Behebung automatisierbarPrüfung nur manuellAI-Act-Art-11ISO-42001OWASP-AISVS-1.0

Aufwand 4.0–16.0 h OBSERVED · technisch beobachtet ai.provenance.missing

Referenzen

https://www.iso.org/standard/81230.html

⛔Blocker Keine erkennbare Kennzeichnung der KI-Interaktion

Der AI Act verlangt, dass Menschen erkennen können, wenn sie mit einem KI-System interagieren; bestimmte synthetische Inhalte sind zu kennzeichnen. Die entsprechenden Transparenzpflichten stehen seit dem 2. August 2026 im Enforcement-Scope.

Belege

Blocker: Kennzeichnungspflicht für KI-Interaktion bzw. synthetische Inhalte (AI Act, Enforcement seit 2. August 2026).
Erkannt: Botpress, OpenAI
Hinweistext gefunden: nein

Empfehlung

Deutlich sichtbar kennzeichnen, dass die Antworten von einem KI-System stammen – im Chat-Header und in der ersten Nachricht. KI-generierte Medien maschinenlesbar markieren.

Manuell zu prüfen: Kennzeichnung im laufenden Widget prüfen – der Text wird oft erst per JavaScript geladen.
Behebung automatisierbarAI-Act-VO-2024/1689AI-Omnibus-VO-2026/1744

Aufwand 1.0–4.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 80 % ai.transparency.missing

Referenzen

https://eur-lex.europa.eu/eli/reg/2024/1689/oj

▲Hoch Menschliche Aufsicht nicht nachgewiesen

Wenn KI-Ergebnisse Menschen betreffen, braucht es definierte Review- und Override-Punkte, qualifizierte Aufsicht und – bei ausschließlich automatisierten Entscheidungen mit erheblicher Wirkung – zusätzlich die Anforderungen aus Art. 22 DSGVO.

Belege

nicht angegeben

Empfehlung

Entscheidungs-Policy, Eskalationspfad, Override-Funktion und Protokollierung der menschlichen Eingriffe festlegen.

Manuell zu prüfen: Prüfen, an welcher Stelle ein Mensch eingreifen kann, ob er dafür qualifiziert ist und ob der Eingriff protokolliert wird.
Behebung automatisierbarPrüfung nur manuellAI-Act-Art-14GDPR-Art-22

Aufwand 4.0–20.0 h OBSERVED · technisch beobachtet ai.oversight.missing

▲Hoch KI-Lieferantenrisiko nicht bewertet

Ein externer KI-Anbieter ist gleichzeitig Sicherheits-, Datenschutz-, Verfügbarkeits-, Lieferketten- und ggf. Drittlandrisiko. Bei NIS2-Pflicht ist Lieferkettensicherheit ausdrücklich Teil des Maßnahmenkatalogs.

Belege

nicht angegeben

Empfehlung

Vendor-Dossier je Anbieter: Regionen, Unterauftragsverarbeiter, Retention, Training-on-customer-data, Security Assurance, Incident-SLA, Modellversionierung, Löschung, Exit-Strategie, Datenexport.

Manuell zu prüfen: Verträge und Anbieterdokumentation prüfen; Art.-28-Vertrag und Drittlandmechanismus bei personenbezogenen Daten.
Behebung automatisierbarPrüfung nur manuellNIS2-§30-BSIGGDPR-Art-28ISO-42001

Aufwand 4.0–16.0 h OBSERVED · technisch beobachtet ai.vendor.unassessed

◆Mittel Kein Freigabe-Gate für Modellwechsel

Ein Modellwechsel kann das Sicherheits- und Antwortverhalten verändern, ohne dass sich eine Zeile Websitecode ändert. Modellupdates sind deshalb wie Software-Releases zu behandeln.

Empfehlung

Release-Gate: Provenienz-Prüfung, Privacy-Regression, Prompt-Injection-Suite, Safety-Eval, Qualitätsregression, Autorisierungs- und Tool-Tests, Red-Team-Teilmenge, menschliche Freigabe, Canary, überwachter Rollout.

Manuell zu prüfen: Change-Records der letzten Modellwechsel anfordern.
Behebung automatisierbarPrüfung nur manuellAI-Act-VO-2024/1689OWASP-AISVS-1.0

Aufwand 4.0–16.0 h OBSERVED · technisch beobachtet ai.change_management.missing

iInfo KI-Komponenten erkannt

Diese Bestandteile lösen eine AI-Act-Einordnung aus: je Funktion sind Rolle (Anbieter/Betreiber) und Risikoklasse zu bestimmen.

Belege

Provider: OpenAI
KI-Bot-Plattform: Botpress
AI-Act-Art-11ISO-42001OWASP-AISVS-1.0

Aufwand 0–0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 85 % ai.inventory.detected

5b · KI-Sicherheit

⛔Blocker Prompt-Injection-Resistenz nicht nachgewiesen

Indirekte Prompt Injection über Webseiten, PDFs, RAG-Dokumente, Tool-Ausgaben oder Memory gilt bei anwendungsintegrierten Sprachmodellen als inhärente Schwachstelle. Entscheidend ist die Architektur: eine Modellausgabe darf niemals als Autorisierungsentscheidung gelten.

Belege

Blocker: Fremde Inhalte gelangen ungeprüft in privilegierte Prompts.
nicht angegeben

Empfehlung

Trust Boundaries definieren, fremde Inhalte als untrusted behandeln, Autorisierung ausschließlich serverseitig, Red-Team-Suite in die CI.

Manuell zu prüfen: Testklassen abarbeiten: direkte Injection, indirekte Injection über Retrieval-Dokumente, Cross-Tenant-RAG-Poisoning, System-Prompt-Extraktion, Secret-Exfiltration, Tool-Call-Manipulation, Autorisierungsumgehung per Sprache, Exfiltration über URL-/Tool-Parameter, Memory-Poisoning, verstecktes/kodiertes und mehrsprachiges Prompting.
Behebung automatisierbarPrüfung nur manuellOWASP-GenAI-2026-LLM01OWASP-AISVS-1.0BSI-LLM

Aufwand 16.0–60.0 h OBSERVED · technisch beobachtet ai.injection.unprotected

Referenzen

https://genai.owasp.org/ · https://owasp.org/www-project-artificial-intelligence-security-verification-standard/

⛔Blocker API-Schlüssel im ausgelieferten Client-Code

Ein im Browser sichtbarer Schlüssel kann von jedem Besucher verwendet werden – auf Kosten des Betreibers und mit dessen Kontingenten und Rechten.

Belege

Blocker: KI-API-Schlüssel im Client-Code – unmittelbarer Missbrauch möglich.
OpenAI: sk-proj-AAAA…AAAA (36 Zeichen)
OpenAI: sk-proj-AAAA…AAAA (36 Zeichen)

Empfehlung

Schlüssel sofort rotieren, Aufrufe über einen serverseitigen Proxy mit Authentifizierung, Rate-Limit und Kostenbegrenzung führen.

Behebung automatisierbarAI-Act-VO-2024/1689OWASP-AISVS-1.0

Aufwand 4.0–16.0 h OBSERVED · technisch beobachtet Beobachtungssicherheit 95 % ai.key_exposed

▲Hoch Datenminimierung an der Provider-Grenze ungeprüft

KI hebt die Datenminimierung nicht auf. Zu prüfen ist mit Testdaten (Canary-Werten), welche personenbezogenen Daten, Tokens oder Geheimnisse die Grenze zum Modellanbieter tatsächlich überschreiten.

Empfehlung

Vor dem Provider-Aufruf redigieren: PII-Erkennung, Pseudonymisierung, Allowlist erlaubter Felder; Retention beim Anbieter vertraglich begrenzen.

Manuell zu prüfen: Canary-Test durchführen: E-Mail, Telefonnummer, Kundennummer, API-Key und Art.-9-Testdaten einspeisen und den ausgehenden Payload mitschneiden.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-5-1-cCNIL-AI

Aufwand 8.0–24.0 h OBSERVED · technisch beobachtet ai.dlp.unverified

▲Hoch Behandlung der Modellausgabe nicht nachgewiesen

Modellausgabe ist untrusted input. Sie darf nicht ungeprüft als HTML, SQL, Shell-Kommando, Template, URL, API-Aufruf oder Code interpretiert werden.

Empfehlung

Kontextsensitives Escaping und strukturelle Validierung (Schema) aller Ausgaben; Markdown-Rendering mit Allowlist; keine javascript:-Links.

Manuell zu prüfen: Modell gezielt zu XSS-, Markdown-, SQL- und Shell-Fragmenten sowie zu manipulierten Tool-Argumenten verleiten und die Senken prüfen.
Behebung automatisierbarPrüfung nur manuellOWASP-GenAI-2026-LLM05OWASP-AISVS-1.0

Aufwand 4.0–16.0 h OBSERVED · technisch beobachtet ai.output.unvalidated

◆Mittel KI-Logging und Nachvollziehbarkeit ungeklärt

Logging muss Vorfälle rekonstruierbar machen, darf aber nicht zur unkontrollierten Kopie sämtlicher personenbezogener Prompts werden. Datenminimierung und Speicherbegrenzung gelten auch für Observability.

Empfehlung

Strukturierte, datensparsame Traces: Zeitpunkt, Request-ID, pseudonyme Mandanten-ID, Modell- und Prompt-Version, Policy-Version, Tool-Calls, Safety-Entscheidung, Klassifikation von Ein- und Ausgabe – statt Rohprompt mit Zugangsdaten und Gesundheitsdaten.

Manuell zu prüfen: Stichprobe der Produktions-Traces auf personenbezogene Inhalte prüfen und Löschfristen verifizieren.
Behebung automatisierbarPrüfung nur manuellAI-Act-Art-12GDPR-Art-5

Aufwand 4.0–12.0 h OBSERVED · technisch beobachtet ai.logging.insufficient

?Klärung nötig Tool-Berechtigungen agentischer KI nicht nachgewiesen

Sobald ein Modell Aktionen auslösen darf, wird aus einem Modellfehler oder einer Prompt Injection eine reale Handlung. Ein allgemeiner LLM-Prozess darf niemals direkt über breit privilegierte Zugangsdaten auf E-Mail, Cloud, CRM, Zahlungen oder Dateisystem zugreifen.

Belege

Scope `ki_agenten`: unknown

Empfehlung

Least-Privilege je Tool, eigene Service-Identitäten, objekt- und mandantenbezogene Autorisierung, Parameter-Allowlists, menschliche Freigabe für irreversible Aktionen, Transaktionslimits.

Manuell zu prüfen: Tool-Berechtigungsmatrix vorlegen: je Tool Scope, Identität, Autorisierungsprüfung, Limits, Freigabepunkt.
Behebung automatisierbarPrüfung nur manuellOWASP-Agentic-2026OWASP-GenAI-2026-LLM06

Aufwand 8.0–40.0 h OBSERVED · technisch beobachtet ai.agent.excessive_agency

Referenzen

https://genai.owasp.org/

6 · Nachweise und Dokumentation

Ein Scanner kann feststellen, dass ein Drittanbieter kontaktiert wird – nicht, ob dafür ein Auftragsverarbeitungsvertrag existiert.

Dieser Abschnitt ist eine Checkliste, keine Bewertung. Ob die genannten Dokumente vorliegen, ist von außen grundsätzlich nicht feststellbar. Deshalb fließt er nicht in die Gesamtnote ein und ändert das Freigabeurteil nicht. Er nennt, was die einschlägigen Normen an Rechenschaft verlangen – abhaken kann das nur, wer in die Unterlagen sieht.
⛔Blocker Nachweis fehlt: AI-Act-Klassifizierung je KI-Funktion

Erforderlich sobald KI eingesetzt wird. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Blocker: Ohne diese Nachweise ist der KI-Einsatz nicht freigabefähig.
Status: nicht angegeben

Empfehlung

AI-Act-Klassifizierung je KI-Funktion erstellen bzw. beibringen und im Scope-File unter evidence.ai_classification hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.ai_classification verlinken.
Behebung automatisierbarPrüfung nur manuellAI-Act-Art-6AI-Act-Annex-III

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.ai_classification

⛔Blocker Nachweis fehlt: KI-Inventar / AI-BOM inkl. Modellversionen

Erforderlich sobald KI eingesetzt wird. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Blocker: Ohne diese Nachweise ist der KI-Einsatz nicht freigabefähig.
Status: nicht angegeben

Empfehlung

KI-Inventar / AI-BOM inkl. Modellversionen erstellen bzw. beibringen und im Scope-File unter evidence.ai_inventory hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.ai_inventory verlinken.
Behebung automatisierbarPrüfung nur manuellAI-ActISO-42001

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.ai_inventory

⛔Blocker Nachweis fehlt: KI-Red-Team-Bericht (Prompt Injection, RAG, Tools)

Erforderlich bei produktivem LLM-Einsatz. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Blocker: Ohne diese Nachweise ist der KI-Einsatz nicht freigabefähig.
Status: nicht angegeben

Empfehlung

KI-Red-Team-Bericht (Prompt Injection, RAG, Tools) erstellen bzw. beibringen und im Scope-File unter evidence.ai_redteam hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.ai_redteam verlinken.
Behebung automatisierbarPrüfung nur manuellOWASP-GenAI-2026OWASP-AISVS-1.0

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.ai_redteam

▲Hoch Nachweis fehlt: AI Impact Assessment

Erforderlich bei KI mit Wirkung auf Personen. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

AI Impact Assessment erstellen bzw. beibringen und im Scope-File unter evidence.ai_impact hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.ai_impact verlinken.
Behebung automatisierbarPrüfung nur manuellISO-42005AI-Act

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.ai_impact

▲Hoch Nachweis fehlt: Getestetes Backup- und Wiederherstellungsverfahren

Erforderlich immer. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Getestetes Backup- und Wiederherstellungsverfahren erstellen bzw. beibringen und im Scope-File unter evidence.backup_restore hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.backup_restore verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-32-1-cNIS2-§30-BSIG

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.backup_restore

▲Hoch Nachweis fehlt: Erklärung zur Barrierefreiheit

Erforderlich bei erfassten B2C-Dienstleistungen. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Erklärung zur Barrierefreiheit erstellen bzw. beibringen und im Scope-File unter evidence.bfsg_erklaerung hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.bfsg_erklaerung verlinken.
Behebung automatisierbarPrüfung nur manuellBFSG

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.bfsg_erklaerung

▲Hoch Nachweis fehlt: Auftragsverarbeitungsverträge aller Dienstleister

Erforderlich sobald ein externer Dienstleister personenbezogene Daten verarbeitet. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Auftragsverarbeitungsverträge aller Dienstleister erstellen bzw. beibringen und im Scope-File unter evidence.dpa hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.dpa verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-28

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.dpa

▲Hoch Nachweis fehlt: Prozess für Betroffenenrechte (getestet)

Erforderlich immer. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Prozess für Betroffenenrechte (getestet) erstellen bzw. beibringen und im Scope-File unter evidence.dsar_prozess hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.dsar_prozess verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-15-22

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.dsar_prozess

▲Hoch Nachweis fehlt: Incident-Response- und Meldeprozess (72 Stunden)

Erforderlich immer. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Incident-Response- und Meldeprozess (72 Stunden) erstellen bzw. beibringen und im Scope-File unter evidence.incident_runbook hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.incident_runbook verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-33NIS2-§32-BSIG

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.incident_runbook

▲Hoch Nachweis fehlt: Interessenabwägung (Legitimate Interest Assessment)

Erforderlich wenn eine Verarbeitung auf berechtigtem Interesse beruht. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Interessenabwägung (Legitimate Interest Assessment) erstellen bzw. beibringen und im Scope-File unter evidence.lia hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.lia verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-6-1-f

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.lia

▲Hoch Nachweis fehlt: Lösch- und Aufbewahrungskonzept

Erforderlich immer. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Lösch- und Aufbewahrungskonzept erstellen bzw. beibringen und im Scope-File unter evidence.loeschkonzept hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.loeschkonzept verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-5-1-e

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.loeschkonzept

▲Hoch Nachweis fehlt: Verzeichnis von Verarbeitungstätigkeiten (RoPA)

Erforderlich immer, wenn personenbezogene Daten verarbeitet werden. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Verzeichnis von Verarbeitungstätigkeiten (RoPA) erstellen bzw. beibringen und im Scope-File unter evidence.ropa hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.ropa verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-30

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.ropa

▲Hoch Nachweis fehlt: Standardvertragsklauseln und Transfer Impact Assessment

Erforderlich bei Übermittlung in Drittländer ohne Angemessenheitsbeschluss. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Standardvertragsklauseln und Transfer Impact Assessment erstellen bzw. beibringen und im Scope-File unter evidence.scc_tia hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.scc_tia verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Kap-VSCC-2021/914

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.scc_tia

▲Hoch Nachweis fehlt: Lieferanten-/Vendor-Risikobewertung

Erforderlich bei externen Dienstleistern und KI-Providern. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Lieferanten-/Vendor-Risikobewertung erstellen bzw. beibringen und im Scope-File unter evidence.vendor_assessment hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.vendor_assessment verlinken.
Behebung automatisierbarPrüfung nur manuellNIS2-§30-BSIGGDPR-Art-28

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.vendor_assessment

◆Mittel Nachweis fehlt: Penetrationstest oder Sicherheitsprüfung

Erforderlich vor der Verarbeitung bei relevanter Datenverarbeitung. Diese Anforderung lässt sich technisch nicht von außen prüfen – ohne hinterlegten Nachweis bleibt die Rechenschaftspflicht offen.

Belege

Status: nicht angegeben

Empfehlung

Penetrationstest oder Sicherheitsprüfung erstellen bzw. beibringen und im Scope-File unter evidence.pentest hinterlegen.

Manuell zu prüfen: Dokument anfordern, auf Aktualität prüfen und unter evidence.pentest verlinken.
Behebung automatisierbarPrüfung nur manuellGDPR-Art-32-1-dNIS2-§30-BSIG

Aufwand 4.0–24.0 h OBSERVED · technisch beobachtet evid.pentest

iInfo Nachweis derzeit nicht erforderlich: Consent-Protokoll / Nachweisführung

Erforderlich sobald Einwilligungen eingeholt werden. Nach aktuellem Scope nicht einschlägig – bei Scope-Änderung neu bewerten.

Prüfung nur manuellGDPR-Art-7-1

Aufwand 0–0 h OBSERVED · technisch beobachtet evid.consent_log.na

iInfo Nachweis derzeit nicht erforderlich: Datenschutz-Folgenabschätzung

Erforderlich bei voraussichtlich hohem Risiko (Profiling, Art.-9-Daten, KI-Scoring). Nach aktuellem Scope nicht einschlägig – bei Scope-Änderung neu bewerten.

Prüfung nur manuellGDPR-Art-35

Aufwand 0–0 h OBSERVED · technisch beobachtet evid.dpia.na

iInfo Nachweis derzeit nicht erforderlich: Melde- und Abhilfeverfahren (Notice-and-Action)

Erforderlich bei Hosting-/Plattformrolle. Nach aktuellem Scope nicht einschlägig – bei Scope-Änderung neu bewerten.

Prüfung nur manuellDSA-Art-16

Aufwand 0–0 h OBSERVED · technisch beobachtet evid.dsa_prozess.na

iInfo Nachweis derzeit nicht erforderlich: ISMS-Nachweis / Risikoregister

Erforderlich bei NIS2-Pflicht oder vertraglicher Anforderung. Nach aktuellem Scope nicht einschlägig – bei Scope-Änderung neu bewerten.

Prüfung nur manuellISO-27001NIS2-§30-BSIG

Aufwand 0–0 h OBSERVED · technisch beobachtet evid.isms.na

iInfo Nachweis derzeit nicht erforderlich: SBOM / Software-Stückliste

Erforderlich bei NIS2-Pflicht, sonst empfohlen. Nach aktuellem Scope nicht einschlägig – bei Scope-Änderung neu bewerten.

Prüfung nur manuellNIS2-§30-BSIGOWASP-A03:2025

Aufwand 0–0 h OBSERVED · technisch beobachtet evid.sbom.na

7 · Phasenplan mit Kostenindikation

Aufwände sind Spannen aus Erfahrungswerten je Befundtyp. Kosten = Aufwand × Stundensatz zuzüglich Projektmanagement und Risikozuschlag. Eine Indikation für die Budgetplanung – kein Angebot.

Phase G – Freigabe & Pflichten

sofort

Alles, was die Freigabe verhindert: Blocker schließen und offene Scope-/Nachweisfragen klären.

Maßnahmen
19
Aufwand
83–344 h
Kosten
9.125–37.950
automatisierbar
17
MaßnahmeSchwereStunden Kosten (EUR)
Prompt-Injection-Resistenz nicht nachgewiesen
ai.injection.unprotected
⛔Blocker 16.0–60.0 1.760–6.600
Nachweis fehlt: KI-Inventar / AI-BOM inkl. Modellversionen
evid.ai_inventory
⛔Blocker 4.0–24.0 460–2.760
Nachweis fehlt: AI-Act-Klassifizierung je KI-Funktion
evid.ai_classification
⛔Blocker 4.0–24.0 460–2.760
Nachweis fehlt: KI-Red-Team-Bericht (Prompt Injection, RAG, Tools)
evid.ai_redteam
⛔Blocker 4.0–24.0 460–2.760
Einwilligungspflichtige Dienste laden vor der Einwilligung
consent.pre_consent_tracking
⛔Blocker 8.0–24.0 800–2.400
Einwilligungspflichtige Dienste ohne Einwilligungsabfrage
consent.missing_cmp
⛔Blocker 8.0–24.0 800–2.400
Keine AI-Act-Klassifizierung je KI-Funktion
ai.classification.missing
⛔Blocker 4.0–20.0 440–2.200
API-Schlüssel im ausgelieferten Client-Code
ai.key_exposed
⛔Blocker 4.0–16.0 440–1.760
Modell- und Prompt-Provenienz nicht nachgewiesen
ai.provenance.missing
⛔Blocker 4.0–16.0 440–1.760
Keine Datenschutzerklärung gefunden
legal.privacy_policy.missing
⛔Blocker 4.0–12.0 460–1.380
Seite wird nicht über HTTPS ausgeliefert
sec.no_https
⛔Blocker 2.0–8.0 250–1.000
Keine erkennbare Kennzeichnung der KI-Interaktion
ai.transparency.missing
⛔Blocker 1.0–4.0 100–400
Kein Impressum verlinkt
legal.imprint.missing
⛔Blocker 1.0–3.0 115–345
.env-Datei öffentlich erreichbar
expo.env
⛔Blocker 0.3–2.0 38–250
Passwortübertragung über HTTP
sec.form.password_http
⛔Blocker 0.5–2.0 55–220
Tool-Berechtigungen agentischer KI nicht nachgewiesen
ai.agent.excessive_agency
?Klärung nötig 8.0–40.0 880–4.400
Kein zweiter Faktor erkennbar
auth.admin.no_mfa
?Klärung nötig 8.0–32.0 880–3.520
NIS2-/BSIG-Einstufung nicht geklärt
nis2.scope.unknown
?Klärung nötig 2.0–8.0 230–920
BFSG-Anwendbarkeit nicht geklärt
a11y.bfsg.scope_unknown
?Klärung nötig 0.5–1.0 58–115

Phase 0 – Sofortmaßnahmen

0–2 Wochen

Akute Risiken schließen, bevor sie ausgenutzt werden. Alles hier ist Gefahr im Verzug.

Maßnahmen
4
Aufwand
10–50 h
Kosten
1.276–6.178
automatisierbar
4
MaßnahmeSchwereStunden Kosten (EUR)
PHP 7.4.3 erhält keine Sicherheitsupdates mehr
cur.php.eol
!Kritisch 8.0–40.0 1.000–5.000
WordPress veraltet (5.9.3 → 6.8.2)
cur.wp.outdated
!Kritisch 2.0–8.0 220–880
robots.txt sperrt die komplette Seite
seo.robots.blocks_all
!Kritisch 0.2–0.5 19–48
WordPress debug.log öffentlich
expo.debuglog
▲Hoch 0.3–2.0 38–250

Phase 1 – Absicherung & Aktualität

2–6 Wochen

Technische Basis auf einen wartbaren, aktuellen Stand bringen und die Angriffsfläche dauerhaft verkleinern.

Maßnahmen
39
Aufwand
111–514 h
Kosten
12.305–57.522
automatisierbar
36
MaßnahmeSchwereStunden Kosten (EUR)
Nachweis fehlt: Verzeichnis von Verarbeitungstätigkeiten (RoPA)
evid.ropa
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Interessenabwägung (Legitimate Interest Assessment)
evid.lia
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Auftragsverarbeitungsverträge aller Dienstleister
evid.dpa
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Standardvertragsklauseln und Transfer Impact Assessment
evid.scc_tia
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Lösch- und Aufbewahrungskonzept
evid.loeschkonzept
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Prozess für Betroffenenrechte (getestet)
evid.dsar_prozess
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Incident-Response- und Meldeprozess (72 Stunden)
evid.incident_runbook
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: AI Impact Assessment
evid.ai_impact
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Lieferanten-/Vendor-Risikobewertung
evid.vendor_assessment
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Erklärung zur Barrierefreiheit
evid.bfsg_erklaerung
▲Hoch 4.0–24.0 460–2.760
Nachweis fehlt: Getestetes Backup- und Wiederherstellungsverfahren
evid.backup_restore
▲Hoch 4.0–24.0 460–2.760
Datenminimierung an der Provider-Grenze ungeprüft
ai.dlp.unverified
▲Hoch 8.0–24.0 880–2.640
Tracking-Dienste ohne erkennbares Consent-Management
privacy.no_consent
▲Hoch 8.0–24.0 800–2.400
Mögliche Drittlandtransfers ohne hinterlegten Nachweis (2 Anbieter)
privacy.transfer.undocumented
▲Hoch 4.0–20.0 460–2.300
Menschliche Aufsicht nicht nachgewiesen
ai.oversight.missing
▲Hoch 4.0–20.0 440–2.200
OAuth-/OIDC-Flow entspricht nicht der aktuellen Security-BCP
auth.oauth.weak_parameters
▲Hoch 4.0–16.0 440–1.760
Behandlung der Modellausgabe nicht nachgewiesen
ai.output.unvalidated
▲Hoch 4.0–16.0 440–1.760
KI-Lieferantenrisiko nicht bewertet
ai.vendor.unassessed
▲Hoch 4.0–16.0 440–1.760
Content-Security-Policy fehlt
sec.csp
▲Hoch 4.0–16.0 400–1.600
WooCommerce veraltet (6.1.0 → 9.9.0)
cur.woo.outdated
▲Hoch 3.0–12.0 330–1.320
Kein Nachweis über erteilte Einwilligungen
consent.no_proof
▲Hoch 4.0–12.0 440–1.320
AGB / Nutzungsbedingungen nicht verlinkt
legal.terms.missing
▲Hoch 2.0–8.0 230–920
Widerrufsbelehrung nicht verlinkt
legal.withdrawal.missing
▲Hoch 2.0–8.0 230–920
jquery veraltet (1.12.4 → 3.7.1)
cur.lib.old.jquery
▲Hoch 0.5–4.0 50–400
Session-Cookies ohne HttpOnly
sec.cookie.httponly
▲Hoch 0.5–2.0 55–220
Session-Cookie ohne Secure, HttpOnly, SameSite
auth.session.cookie_flags
▲Hoch 0.5–2.0 55–220
HSTS-Header fehlt
sec.hsts
▲Hoch 0.5–1.5 62–188
KI-Logging und Nachvollziehbarkeit ungeklärt
ai.logging.insufficient
◆Mittel 4.0–12.0 440–1.320
POST-Formulare ohne erkennbaren CSRF-Token
sec.form.csrf
◆Mittel 2.0–8.0 220–880
Session-Rotation und Logout nicht automatisiert prüfbar
auth.session.rotation
◆Mittel 2.0–6.0 220–660
2 Plugins nicht im offiziellen Verzeichnis
cur.wp.plugins.premium
◆Mittel 1.0–4.0 115–460
Mixed Content (HTTP-Ressourcen auf HTTPS-Seite)
sec.mixed_content
◆Mittel 1.0–4.0 100–400
Google Fonts werden extern geladen
privacy.google_fonts
◆Mittel 1.0–4.0 100–400
Universal Analytics (UA) noch eingebunden
cur.analytics.ua_eol
◆Mittel 1.0–3.0 100–300
XML-RPC aktiv
expo.xmlrpc
◆Mittel 0.3–2.0 38–250
Cookies ohne Secure-Flag
sec.cookie.secure
◆Mittel 0.5–2.0 55–220
Passwortlänge auf 20 Zeichen begrenzt
auth.password.maxlength
◆Mittel 0.5–2.0 55–220
X-Content-Type-Options fehlt
sec.xcto
◆Mittel 0.2–0.5 25–62
Kein Clickjacking-Schutz
sec.clickjacking
◆Mittel 0.2–0.5 25–62

Phase 2 – Sichtbarkeit & Performance

6–14 Wochen

Auffindbarkeit in klassischer Suche und KI-Systemen herstellen, Ladezeiten und Conversion verbessern.

Maßnahmen
40
Aufwand
87–396 h
Kosten
8.706–39.660
automatisierbar
39
MaßnahmeSchwereStunden Kosten (EUR)
Core Web Vitals aus echtem Nutzerverkehr: besteht nicht
perf.crux
▲Hoch 8.0–40.0 800–4.000
Lighthouse-Performance (mobil): 41/100
perf.lighthouse
▲Hoch 8.0–40.0 800–4.000
5 Einzelmaßnahmen mit rund 6.9 s Zeitgewinn
perf.massnahmen
▲Hoch 4.0–32.0 400–3.200
Keine strukturierten Daten (JSON-LD)
geo.ai.schema.missing
▲Hoch 6.0–24.0 570–2.280
2 KI-Crawler werden per robots.txt ausgesperrt
geo.ai.blocked_crawlers
▲Hoch 0.5–2.0 48–190
Viewport-Meta fehlt
seo.viewport.missing
▲Hoch 0.3–1.0 28–95
Sehr wenig Textinhalt
seo.thin_content
◆Mittel 8.0–40.0 760–3.800
Inhalte sind schlecht zitierfähig aufbereitet
geo.ai.citability
◆Mittel 8.0–32.0 760–3.040
Nachweis fehlt: Penetrationstest oder Sicherheitsprüfung
evid.pentest
◆Mittel 4.0–24.0 460–2.760
Kein Freigabe-Gate für Modellwechsel
ai.change_management.missing
◆Mittel 4.0–16.0 440–1.760
Keine modernen Bildformate (WebP/AVIF)
perf.img.format
◆Mittel 3.0–12.0 300–1.200
2 von 2 Bildern ohne alt-Attribut
seo.img.alt
◆Mittel 2.0–10.0 190–950
Standortdaten nicht maschinenlesbar ausgezeichnet
geo.local.nap
◆Mittel 3.0–10.0 285–950
2 Bilder ohne width/height
perf.img.dimensions
◆Mittel 2.0–8.0 200–800
2 Formularfelder ohne Beschriftung
a11y.labels
◆Mittel 2.0–8.0 200–800
Seiten ohne Meta-Description
seo.description.missing
◆Mittel 2.0–8.0 190–760
Keine Barrierefreiheitserklärung gefunden
a11y.statement
◆Mittel 2.0–6.0 230–690
llms.txt fehlt
geo.ai.llms_txt
◆Mittel 2.0–6.0 190–570
Statische Assets ohne Browser-Caching
perf.static_cache
◆Mittel 1.0–4.0 125–500
Canonical-Tag fehlt
seo.canonical.missing
◆Mittel 1.0–4.0 95–380
Keine XML-Sitemap gefunden
seo.sitemap.missing
◆Mittel 1.0–4.0 95–380
Keine Kompression aktiv
perf.compression
◆Mittel 0.5–2.0 62–250
`<html lang>` fehlt
seo.lang.missing
◆Mittel 0.3–1.0 28–95
Sprachattribut im <html>-Tag fehlt
geo.local.html_lang
◆Mittel 0.2–0.5 20–50
jquery-migrate wird nicht mehr weiterentwickelt
cur.lib.deprecated.jquery-migrate
•Niedrig 2.0–12.0 200–1.200
jQuery Migrate im Produktivbetrieb aktiv
cur.jquery_migrate
•Niedrig 2.0–12.0 200–1.200
Keine erkennbare Über-uns-/Entitätsseite
geo.ai.entity
•Niedrig 4.0–12.0 380–1.140
Title-Länge außerhalb des Optimums
seo.title.length
•Niedrig 1.0–4.0 95–380
Open-Graph-Daten unvollständig
seo.opengraph
•Niedrig 1.0–4.0 95–380
Mehrere H1-Überschriften
seo.h1.multiple
•Niedrig 1.0–3.0 95–285
1 tote Links nach außen
seo.broken_links.extern
•Niedrig 0.5–3.0 48–285
3 interne Links zeigen noch auf http://
seo.interne_http_links
•Niedrig 0.5–3.0 48–285
WordPress readme.html (verrät Version)
expo.wp_readme
•Niedrig 0.3–2.0 38–250
Cookies ohne SameSite-Attribut
sec.cookie.samesite
•Niedrig 0.5–2.0 55–220
Permissions-Policy fehlt
sec.permissions
•Niedrig 0.3–1.0 38–125
Software-Versionen werden preisgegeben
sec.info_leak
•Niedrig 0.3–1.0 38–125
security.txt fehlt
expo.securitytxt.missing
•Niedrig 0.3–1.0 38–125
Referrer-Policy fehlt
sec.referrer
•Niedrig 0.2–0.5 25–62
Passwortfeld unterbindet Passwortmanager
auth.password.autocomplete_off
•Niedrig 0.2–0.5 20–50
Kein Sitemap-Verweis in der robots.txt
seo.robots.no_sitemap
•Niedrig 0.2–0.5 19–48

Phase 3 – Ausbau & Betrieb

3–6 Monate

Feinschliff, Barrierefreiheit, Monitoring und ein Prozess, der den erreichten Stand hält.

Maßnahmen
5
Aufwand
5–19 h
Kosten
488–1.925
automatisierbar
5
MaßnahmeSchwereStunden Kosten (EUR)
Keine semantischen Landmarks
a11y.landmarks
•Niedrig 2.0–8.0 200–800
Währung nicht maschinenlesbar ausgezeichnet
geo.local.currency
•Niedrig 1.0–4.0 100–400
Überschriftenhierarchie mit Sprüngen
a11y.heading_order
•Niedrig 1.0–4.0 100–400
Kein Skip-Link zum Hauptinhalt
a11y.skiplink
•Niedrig 0.5–2.0 50–200
Kein Content-Language-Signal
geo.local.content_language
•Niedrig 0.3–1.0 38–125
Gesamtinvestition (Indikation)
41.087 – 189.428 EUR
Umsetzung (296–1323 h) 31.900 – 143.235
Projektmanagement und QA (12–15 %) 3.828 – 21.485
Risikozuschlag (15 %) 5.359 – 24.708
Summe 41.087 – 189.428
abzüglich Automatisierungseffekt (Abschnitt 8) − bis 74.745

Stundensätze: Backend 110 · Frontend 100 · DevOps 125 · SEO 95 · PM 115 EUR/h.

8 · Automatisierte Behebung mit Claude

Aus den Befunden wurde ein ausführbares Arbeitspaket erzeugt. Jeder automatisierbare Befund ist ein fertiger Arbeitsauftrag mit Verifikationsschritt und – wo nötig – menschlichem Freigabe-Gate.

Arbeitsaufträge
101
mit Freigabe-Gate
53
manuell
6
Automatisierungsgrad
94 %

Benötigte Konnektoren

KonnektorTypZweckStatus
filesystemMCP (offiziell) Zugriff auf das ausgecheckte Theme-/Plugin-Repository, damit Claude Code Änderungen direkt im Quellcode vornimmt. erforderlich
githubMCP (offiziell) Branch je Maßnahme, Pull Request, Review, CI-Status. Sorgt dafür, dass keine Änderung ungeprüft live geht. erforderlich
wp-cli-bridgeEigenentwicklung (klein) WP-CLI auf dem Staging-System ausführen (Updates, Datenbank-Suchen/Ersetzen, Cache-Flush, Site-Health). Als schlanker eigener MCP-Server oder abgesicherter SSH-Wrapper mit Kommando-Allowlist umsetzen. erforderlich
webauditIn diesem Paket enthalten Dieses Audit-Tool selbst als Konnektor: nach jeder Maßnahme erneut scannen und prüfen, ob der Befund verschwunden ist. webaudit mcp startet den mitgelieferten MCP-Server. erforderlich
playwrightMCP (offiziell) Automatisierte Regressionstests der Kernflows (Startseite, Produktseite, Warenkorb, Checkout) nach jeder Änderung. optional
sentryMCP (offiziell) Fehler nach dem Deployment sofort erkennen – wichtigstes Abbruchkriterium für automatische Rollouts. optional
slackMCP (offiziell) Statusmeldungen und Freigabe-Anfragen in den Projektkanal. optional

Ablauf je Arbeitsauftrag

Aufgabe aus tasks.json ├─ Branch anlegen (fix/<befund-id>) ├─ Änderung auf Staging umsetzen ├─ Kernflow-Tests (Playwright) ├─ Verifikationsscan: webaudit --expect-resolved <id> │ └─ rot? → zurück zur Umsetzung (max. 2 Versuche, dann Eskalation) ├─ Pull Request mit Vorher/Nachher-Beleg ├─ [Gate] menschliche Freigabe, falls markiert └─ Merge und Deployment → Nachkontrolle nach 24 h

Arbeitsaufträge

#AufgabePhaseSchwere StundenFreigabe
1 Seite wird nicht über HTTPS ausgeliefert
prompts/sec-no-https.md
gate ⛔Blocker 2.0–8.0 Kritischer Befund – Vier-Augen-Prinzip
2 Passwortübertragung über HTTP
prompts/sec-form-password-http.md
gate ⛔Blocker 0.5–2.0 Kritischer Befund – Vier-Augen-Prinzip
3 .env-Datei öffentlich erreichbar
prompts/expo-env.md
gate ⛔Blocker 0.3–2.0 Zugangsdaten-Rotation und Löschungen nur nach Rücksprache
4 Einwilligungspflichtige Dienste laden vor der Einwilligung
prompts/consent-pre-consent-tracking.md
gate ⛔Blocker 8.0–24.0 Consent-Änderungen betreffen Rechtspflichten – Freigabe durch Datenschutz
5 Einwilligungspflichtige Dienste ohne Einwilligungsabfrage
prompts/consent-missing-cmp.md
gate ⛔Blocker 8.0–24.0 Consent-Änderungen betreffen Rechtspflichten – Freigabe durch Datenschutz
6 Kein Impressum verlinkt
prompts/legal-imprint-missing.md
gate ⛔Blocker 1.0–3.0 Rechtstexte nur nach juristischer Prüfung veröffentlichen
7 Keine Datenschutzerklärung gefunden
prompts/legal-privacy-policy-missing.md
gate ⛔Blocker 4.0–12.0 Rechtstexte nur nach juristischer Prüfung veröffentlichen
8 API-Schlüssel im ausgelieferten Client-Code
prompts/ai-key-exposed.md
gate ⛔Blocker 4.0–16.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
9 Keine erkennbare Kennzeichnung der KI-Interaktion
prompts/ai-transparency-missing.md
gate ⛔Blocker 1.0–4.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
10 Modell- und Prompt-Provenienz nicht nachgewiesen
prompts/ai-provenance-missing.md
gate ⛔Blocker 4.0–16.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
11 Keine AI-Act-Klassifizierung je KI-Funktion
prompts/ai-classification-missing.md
gate ⛔Blocker 4.0–20.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
12 Prompt-Injection-Resistenz nicht nachgewiesen
prompts/ai-injection-unprotected.md
gate ⛔Blocker 16.0–60.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
13 Nachweis fehlt: KI-Inventar / AI-BOM inkl. Modellversionen
prompts/evid-ai-inventory.md
gate ⛔Blocker 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
14 Nachweis fehlt: AI-Act-Klassifizierung je KI-Funktion
prompts/evid-ai-classification.md
gate ⛔Blocker 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
15 Nachweis fehlt: KI-Red-Team-Bericht (Prompt Injection, RAG, Tools)
prompts/evid-ai-redteam.md
gate ⛔Blocker 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
16 Kein zweiter Faktor erkennbar
prompts/auth-admin-no-mfa.md
gate ?Klärung nötig 8.0–32.0 Änderungen an der Authentifizierung können Nutzer aussperren
17 Tool-Berechtigungen agentischer KI nicht nachgewiesen
prompts/ai-agent-excessive-agency.md
gate ?Klärung nötig 8.0–40.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
18 WordPress veraltet (5.9.3 → 6.8.2)
prompts/cur-wp-outdated.md
p0 !Kritisch 2.0–8.0 Kern-/Shop-Update: Staging-Test und Freigabe zwingend
19 PHP 7.4.3 erhält keine Sicherheitsupdates mehr
prompts/cur-php-eol.md
p0 !Kritisch 8.0–40.0 PHP-Migration: Infrastruktur-Änderung mit Ausfallrisiko
20 robots.txt sperrt die komplette Seite
prompts/seo-robots-blocks-all.md
p0 !Kritisch 0.2–0.5 Kritischer Befund – Vier-Augen-Prinzip
21 WordPress debug.log öffentlich
prompts/expo-debuglog.md
p0 ▲Hoch 0.3–2.0 Zugangsdaten-Rotation und Löschungen nur nach Rücksprache
22 HSTS-Header fehlt
prompts/sec-hsts.md
p1 ▲Hoch 0.5–1.5 –
23 Content-Security-Policy fehlt
prompts/sec-csp.md
p1 ▲Hoch 4.0–16.0 CSP kann Funktionen brechen – erst Report-Only, dann scharf
24 Session-Cookies ohne HttpOnly
prompts/sec-cookie-httponly.md
p1 ▲Hoch 0.5–2.0 –
25 Session-Cookie ohne Secure, HttpOnly, SameSite
prompts/auth-session-cookie-flags.md
p1 ▲Hoch 0.5–2.0 Änderungen an der Authentifizierung können Nutzer aussperren
26 OAuth-/OIDC-Flow entspricht nicht der aktuellen Security-BCP
prompts/auth-oauth-weak-parameters.md
p1 ▲Hoch 4.0–16.0 Änderungen an der Authentifizierung können Nutzer aussperren
27 WooCommerce veraltet (6.1.0 → 9.9.0)
prompts/cur-woo-outdated.md
p1 ▲Hoch 3.0–12.0 Kern-/Shop-Update: Staging-Test und Freigabe zwingend
28 jquery veraltet (1.12.4 → 3.7.1)
prompts/cur-lib-old-jquery.md
p1 ▲Hoch 0.5–4.0 –
29 Kein Nachweis über erteilte Einwilligungen
prompts/consent-no-proof.md
p1 ▲Hoch 4.0–12.0 Consent-Änderungen betreffen Rechtspflichten – Freigabe durch Datenschutz
30 Datenminimierung an der Provider-Grenze ungeprüft
prompts/ai-dlp-unverified.md
p1 ▲Hoch 8.0–24.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
31 Behandlung der Modellausgabe nicht nachgewiesen
prompts/ai-output-unvalidated.md
p1 ▲Hoch 4.0–16.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
32 Menschliche Aufsicht nicht nachgewiesen
prompts/ai-oversight-missing.md
p1 ▲Hoch 4.0–20.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
33 KI-Lieferantenrisiko nicht bewertet
prompts/ai-vendor-unassessed.md
p1 ▲Hoch 4.0–16.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
34 Tracking-Dienste ohne erkennbares Consent-Management
prompts/privacy-no-consent.md
p1 ▲Hoch 8.0–24.0 Rechtliche Bewertung erforderlich
35 Mögliche Drittlandtransfers ohne hinterlegten Nachweis (2 Anbieter)
prompts/privacy-transfer-undocumented.md
p1 ▲Hoch 4.0–20.0 Rechtliche Bewertung erforderlich
36 Nachweis fehlt: Verzeichnis von Verarbeitungstätigkeiten (RoPA)
prompts/evid-ropa.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
37 Nachweis fehlt: Interessenabwägung (Legitimate Interest Assessment)
prompts/evid-lia.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
38 Nachweis fehlt: Auftragsverarbeitungsverträge aller Dienstleister
prompts/evid-dpa.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
39 Nachweis fehlt: Standardvertragsklauseln und Transfer Impact Assessment
prompts/evid-scc-tia.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
40 Nachweis fehlt: Lösch- und Aufbewahrungskonzept
prompts/evid-loeschkonzept.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
41 Nachweis fehlt: Prozess für Betroffenenrechte (getestet)
prompts/evid-dsar-prozess.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
42 Nachweis fehlt: Incident-Response- und Meldeprozess (72 Stunden)
prompts/evid-incident-runbook.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
43 Nachweis fehlt: AI Impact Assessment
prompts/evid-ai-impact.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
44 Nachweis fehlt: Lieferanten-/Vendor-Risikobewertung
prompts/evid-vendor-assessment.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
45 Nachweis fehlt: Erklärung zur Barrierefreiheit
prompts/evid-bfsg-erklaerung.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
46 Nachweis fehlt: Getestetes Backup- und Wiederherstellungsverfahren
prompts/evid-backup-restore.md
p1 ▲Hoch 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
47 X-Content-Type-Options fehlt
prompts/sec-xcto.md
p1 ◆Mittel 0.2–0.5 –
48 Kein Clickjacking-Schutz
prompts/sec-clickjacking.md
p1 ◆Mittel 0.2–0.5 –
49 Cookies ohne Secure-Flag
prompts/sec-cookie-secure.md
p1 ◆Mittel 0.5–2.0 –
50 Mixed Content (HTTP-Ressourcen auf HTTPS-Seite)
prompts/sec-mixed-content.md
p1 ◆Mittel 1.0–4.0 –
51 POST-Formulare ohne erkennbaren CSRF-Token
prompts/sec-form-csrf.md
p1 ◆Mittel 2.0–8.0 –
52 XML-RPC aktiv
prompts/expo-xmlrpc.md
p1 ◆Mittel 0.3–2.0 Zugangsdaten-Rotation und Löschungen nur nach Rücksprache
53 Passwortlänge auf 20 Zeichen begrenzt
prompts/auth-password-maxlength.md
p1 ◆Mittel 0.5–2.0 Änderungen an der Authentifizierung können Nutzer aussperren
54 Session-Rotation und Logout nicht automatisiert prüfbar
prompts/auth-session-rotation.md
p1 ◆Mittel 2.0–6.0 Änderungen an der Authentifizierung können Nutzer aussperren
55 Universal Analytics (UA) noch eingebunden
prompts/cur-analytics-ua-eol.md
p1 ◆Mittel 1.0–3.0 –
56 KI-Logging und Nachvollziehbarkeit ungeklärt
prompts/ai-logging-insufficient.md
p1 ◆Mittel 4.0–12.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
57 Google Fonts werden extern geladen
prompts/privacy-google-fonts.md
p1 ◆Mittel 1.0–4.0 Rechtliche Bewertung erforderlich
58 Viewport-Meta fehlt
prompts/seo-viewport-missing.md
p2 ▲Hoch 0.3–1.0 –
59 2 KI-Crawler werden per robots.txt ausgesperrt
prompts/geo-ai-blocked-crawlers.md
p2 ▲Hoch 0.5–2.0 –
60 Keine strukturierten Daten (JSON-LD)
prompts/geo-ai-schema-missing.md
p2 ▲Hoch 6.0–24.0 –
61 Lighthouse-Performance (mobil): 41/100
prompts/perf-lighthouse.md
p2 ▲Hoch 8.0–40.0 –
62 5 Einzelmaßnahmen mit rund 6.9 s Zeitgewinn
prompts/perf-massnahmen.md
p2 ▲Hoch 4.0–32.0 –
63 Seiten ohne Meta-Description
prompts/seo-description-missing.md
p2 ◆Mittel 2.0–8.0 –
64 Canonical-Tag fehlt
prompts/seo-canonical-missing.md
p2 ◆Mittel 1.0–4.0 –
65 `<html lang>` fehlt
prompts/seo-lang-missing.md
p2 ◆Mittel 0.3–1.0 –
66 2 von 2 Bildern ohne alt-Attribut
prompts/seo-img-alt.md
p2 ◆Mittel 2.0–10.0 –
67 Sehr wenig Textinhalt
prompts/seo-thin-content.md
p2 ◆Mittel 8.0–40.0 –
68 Keine XML-Sitemap gefunden
prompts/seo-sitemap-missing.md
p2 ◆Mittel 1.0–4.0 –
69 llms.txt fehlt
prompts/geo-ai-llms-txt.md
p2 ◆Mittel 2.0–6.0 –
70 Inhalte sind schlecht zitierfähig aufbereitet
prompts/geo-ai-citability.md
p2 ◆Mittel 8.0–32.0 –
71 Sprachattribut im <html>-Tag fehlt
prompts/geo-local-html-lang.md
p2 ◆Mittel 0.2–0.5 –
72 Standortdaten nicht maschinenlesbar ausgezeichnet
prompts/geo-local-nap.md
p2 ◆Mittel 3.0–10.0 –
73 Keine Kompression aktiv
prompts/perf-compression.md
p2 ◆Mittel 0.5–2.0 –
74 Statische Assets ohne Browser-Caching
prompts/perf-static-cache.md
p2 ◆Mittel 1.0–4.0 –
75 2 Bilder ohne width/height
prompts/perf-img-dimensions.md
p2 ◆Mittel 2.0–8.0 –
76 Keine modernen Bildformate (WebP/AVIF)
prompts/perf-img-format.md
p2 ◆Mittel 3.0–12.0 –
77 2 Formularfelder ohne Beschriftung
prompts/a11y-labels.md
p2 ◆Mittel 2.0–8.0 –
78 Keine Barrierefreiheitserklärung gefunden
prompts/a11y-statement.md
p2 ◆Mittel 2.0–6.0 –
79 Kein Freigabe-Gate für Modellwechsel
prompts/ai-change-management-missing.md
p2 ◆Mittel 4.0–16.0 KI-Änderungen: Freigabe durch Datenschutz und Fachbereich
80 Nachweis fehlt: Penetrationstest oder Sicherheitsprüfung
prompts/evid-pentest.md
p2 ◆Mittel 4.0–24.0 Nachweise sind Dokumente der Organisation – Entwurf ja, Freigabe durch die Fachfunktion
81 Referrer-Policy fehlt
prompts/sec-referrer.md
p2 •Niedrig 0.2–0.5 –
82 Permissions-Policy fehlt
prompts/sec-permissions.md
p2 •Niedrig 0.3–1.0 –
83 Software-Versionen werden preisgegeben
prompts/sec-info-leak.md
p2 •Niedrig 0.3–1.0 –
84 Cookies ohne SameSite-Attribut
prompts/sec-cookie-samesite.md
p2 •Niedrig 0.5–2.0 –
85 WordPress readme.html (verrät Version)
prompts/expo-wp-readme.md
p2 •Niedrig 0.3–2.0 Zugangsdaten-Rotation und Löschungen nur nach Rücksprache
86 security.txt fehlt
prompts/expo-securitytxt-missing.md
p2 •Niedrig 0.3–1.0 Zugangsdaten-Rotation und Löschungen nur nach Rücksprache
87 Passwortfeld unterbindet Passwortmanager
prompts/auth-password-autocomplete-off.md
p2 •Niedrig 0.2–0.5 Änderungen an der Authentifizierung können Nutzer aussperren
88 jquery-migrate wird nicht mehr weiterentwickelt
prompts/cur-lib-deprecated-jquery-migrate.md
p2 •Niedrig 2.0–12.0 –
89 jQuery Migrate im Produktivbetrieb aktiv
prompts/cur-jquery-migrate.md
p2 •Niedrig 2.0–12.0 –
90 Title-Länge außerhalb des Optimums
prompts/seo-title-length.md
p2 •Niedrig 1.0–4.0 –
91 Mehrere H1-Überschriften
prompts/seo-h1-multiple.md
p2 •Niedrig 1.0–3.0 –
92 Kein Sitemap-Verweis in der robots.txt
prompts/seo-robots-no-sitemap.md
p2 •Niedrig 0.2–0.5 –
93 Open-Graph-Daten unvollständig
prompts/seo-opengraph.md
p2 •Niedrig 1.0–4.0 –
94 1 tote Links nach außen
prompts/seo-broken-links-extern.md
p2 •Niedrig 0.5–3.0 –
95 3 interne Links zeigen noch auf http://
prompts/seo-interne-http-links.md
p2 •Niedrig 0.5–3.0 –
96 Keine erkennbare Über-uns-/Entitätsseite
prompts/geo-ai-entity.md
p2 •Niedrig 4.0–12.0 –
97 Kein Content-Language-Signal
prompts/geo-local-content-language.md
p3 •Niedrig 0.3–1.0 –
98 Währung nicht maschinenlesbar ausgezeichnet
prompts/geo-local-currency.md
p3 •Niedrig 1.0–4.0 –
99 Keine semantischen Landmarks
prompts/a11y-landmarks.md
p3 •Niedrig 2.0–8.0 –
100 Kein Skip-Link zum Hauptinhalt
prompts/a11y-skiplink.md
p3 •Niedrig 0.5–2.0 –
101 Überschriftenhierarchie mit Sprüngen
prompts/a11y-heading-order.md
p3 •Niedrig 1.0–4.0 –

Nicht automatisierbar – manuell einplanen

2 Plugins nicht im offiziellen VerzeichnisAGB / Nutzungsbedingungen nicht verlinktWiderrufsbelehrung nicht verlinktNIS2-/BSIG-Einstufung nicht geklärtBFSG-Anwendbarkeit nicht geklärtCore Web Vitals aus echtem Nutzerverkehr: besteht nicht
Die erzeugten Dateien liegen unter /var/folders/z5/91lq4dd1649g5j5kp7w1fg6m0000gn/T/tmpng6jom4q/claude-fixes: PROJEKTPLAN.md, CLAUDE.md, tasks.json, prompts/, .mcp.json, run.sh. Erster Lauf immer mit DRY_RUN=1 ./run.sh.

Anhang

Aus dem Crawl abgeleitete Angaben

Diese Merkmale musste niemand beantworten – sie wurden aus dem Seiteninhalt erschlossen. Es sind Annahmen mit Beleg, keine Zusicherungen: sie ersparen die Rückfrage, lösen aber allein keinen Blocker aus.

zielgruppe · 55 % sicher
b2c
Shop-Funktionen erkannt, keine eindeutigen B2B-Signale – Verbrauchergeschäft angenommen
zahlungsdaten · 70 % sicher
yes
Erkannt: Warenkorb/Checkout
dsa_rolle · 70 % sicher
no
Keine Hinweise auf Speicherung oder Verbreitung fremder Inhalte – reiner First-Party-Auftritt
drittlandtransfer · 70 % sicher
yes
Anbieter mit typischem Sitz außerhalb des EWR: Google
profiling · 55 % sicher
no
Keine Remarketing-, Personalisierungs- oder Testing-Skripte eingebunden
accounts · 90 % sicher
yes
Anmeldeflächen: http://127.0.0.1:8099/login
admin_zugang_oeffentlich · 60 % sicher
no
Die geprüften Standardpfade (/wp-admin, /administrator, /typo3 …) liefern keine erreichbare Anmeldefläche
ki_einsatz · 90 % sicher
yes
Erkannt: OpenAI, Botpress
ki_provider · 85 % sicher
OpenAI
Aufrufe an: OpenAI
ki_rolle · 55 % sicher
betreiber
Fremde KI-Dienste eingebunden – typischerweise Betreiberrolle; eigene Modelle wären Anbieterrolle
datenarten · 60 % sicher
IP-Adressen und Server-Logs; Formulardaten (passwort, viewport); Zugangsdaten / Kontodaten; Bestell- und Lieferdaten; Nutzungsdaten / Tracking-IDs
Aus Formularfeldern, Login und Shop-Funktionen abgeleitet

Bestätigte Angaben

Erkannter Technologie-Stack

Plattform
wordpress 5.9.3
E-Commerce
woocommerce 6.1.0
Theme
mustertheme 1.2.0
Server
nginx/1.14.0
PHP
7.4.3

Bibliotheken

jquery 1.12.4 jquery-migrate 3.0.1

Erkannte Plugins (2)

contact-form-7 5.4.1 woocommerce 6.1.0

Tracking

Google Analytics 4Universal Analytics (EOL)

Geprüfte Normen und Standards

GrundlageWas daraus geprüft wird
DSGVO (VO 2016/679)Rechtmäßigkeit, Transparenz, Betroffenenrechte, Sicherheit der Verarbeitung, Rechenschaftspflicht
TDDDG § 25Einwilligung für Speichern/Auslesen von Informationen auf dem Endgerät – unabhängig vom Personenbezug
DDG § 5Anbieterkennzeichnung: leicht erkennbar, unmittelbar erreichbar, ständig verfügbar
BSIG § 30 (NIS2-Umsetzung, in Kraft seit 06.12.2025)Risikomanagement inkl. MFA/kontinuierlicher Authentifizierung, Lieferkettensicherheit, Schwachstellenmanagement, Nachweispflicht
DSA (VO 2022/2065)Pflichten für Vermittler-, Hosting- und Plattformdienste – nicht für reine Unternehmensauftritte
AI Act (VO 2024/1689) i.d.F. AI Omnibus (VO 2026/1744)Verbote seit 02.02.2025, GPAI seit 02.08.2025, allgemeine Anwendung und Transparenzpflichten seit 02.08.2026; High-Risk nach Annex III verschoben auf 02.12.2027, Annex-I-Produkte auf 02.08.2028
BFSG (seit 28.06.2025)Barrierefreiheit erfasster B2C-Dienstleistungen; Ausnahme für Kleinstunternehmen
OWASP ASVS 5.0technische Verifikationsbaseline für Webanwendungen
OWASP Top 10:2025Risikoklassifikation, u.a. Broken Access Control, Supply Chain Failures
OWASP AISVS 1.0 (24.06.2026)verifizierbare KI-Sicherheitsanforderungen
OWASP GenAI LLM Top 10:2026 (03.08.2026)aktuelle GenAI-Bedrohungstaxonomie
OWASP Top 10 for Agentic Applications 2026Risiken autonomer KI-Systeme
ISO/IEC 27001:2022 / 27002:2022ISMS-Rahmen und Control-Guidance
ISO/IEC 42001:2023 / 23894:2023 / 42005:2025KI-Managementsystem, KI-Risikomanagement, AI Impact Assessment
RFC 9700 / RFC 6238 / RFC 6797 / WebAuthn L2OAuth-2.0-Security-BCP, TOTP, HSTS, phishingresistente Authentifizierung

Rechtsstand 2026-08-16

Geprüfte Seiten

http://127.0.0.1:8099/http://127.0.0.1:8099/produktehttp://127.0.0.1:8099/kontakthttp://127.0.0.1:8099/login