OPEN BETA
OPEN BETA
KI-GESTÜTZTE ASSET-ERKENNUNG

👤 Shadow IT KI

LLM-basierte Klassifikation aller entdeckten Assets in 12 Kategorien — von Cloud-Storage-Buckets bis zu vergessenen Entwicklungsumgebungen. Datenschutzkonform durch Privacy-Preserving Prompt Construction: keine rohen Scan-Daten verlassen die Infrastruktur.

12Asset-Kategorien
PrivacyPreserving Prompts
3LLM-Backends
On-PremOllama-Support

// Das Shadow-IT-Problem

Jede Subdomain, jeder offene Port, jede externe Cloud-Ressource, die ein Entwickler ohne Wissen der Sicherheitsabteilung eingerichtet hat, ist potenzielle Shadow IT. Klassische Scanner erkennen die Existenz dieser Assets — aber nicht deren Bedeutung. Ist staging-api.example.com ein harmloser Testserver oder ein produktionsnaher API-Endpunkt mit echten Kundendaten? YADS Shadow IT KI beantwortet genau diese Frage.

Typische Shadow-IT-Befunde

  • Vergessene Staging-/Dev-Umgebungen mit Produktionsdaten
  • Cloud-Storage-Buckets mit fehlerhaften ACLs
  • Interne Tools auf öffentlich erreichbaren Ports
  • Veraltete Subdomains nach App-Migrationen
  • Test-APIs ohne Authentifizierung
  • CI/CD-Endpunkte auf öffentlichen IPs

Privacy-First-Ansatz

Sensitive Daten wie interne Hostnamen, IP-Adressen und Response-Bodies werden vor dem LLM-Aufruf strukturell abstrahiert. Das Modell sieht ausschließlich technische Signatur-Merkmale (HTTP-Header-Pattern, Port-Kombination, TLS-Profil) — niemals Klartextinhalte.

// Privacy-Preserving Prompt Construction

Der Kern des Shadow-IT-KI-Moduls ist der strukturierte Asset-Abstraktionsprozess. Rohe Scan-Daten werden in ein datenschutzkonformes Feature-Vektoren-Format umgewandelt, das keine personenbezogenen oder geschäftskritischen Informationen enthält.

def _build_privacy_safe_prompt(asset: DiscoveredAsset) -> str: """Abstrahiert Asset-Daten zu datenschutzkonformem Feature-Vektor.""" features = { "port_profile": sorted(asset.open_ports), # z.B. [80, 443, 8080] "tls_present": asset.has_tls, "tls_version": asset.tls_version, # "TLSv1.3" "http_server": _normalize_server(asset.server_header), # "nginx/1.x" → "nginx" "http_status": asset.http_status, "content_type": asset.content_type, "has_auth": asset.has_auth_header, "has_login_form": asset.login_form_detected, "tech_stack": asset.detected_technologies, # ["React", "Node.js"] "subdomain_pattern": _classify_subdomain(asset.subdomain), # "staging|dev|api|..." "response_size_bucket": _bucket_size(asset.response_size), # "small|medium|large" "headers_security": _score_security_headers(asset), } prompt = f"""Classify this discovered web asset into one of 12 Shadow IT categories. Asset features (no raw data): {json.dumps(features, indent=2)} Categories: dev_environment | staging_environment | cloud_storage | admin_panel | api_endpoint | ci_cd_pipeline | monitoring_tool | collaboration_tool | database_ui | file_sharing | vpn_gateway | unknown Respond with JSON: {{"category": "...", "confidence": 0.0-1.0, "risk_indicators": [...]}}""" return prompt

// Die 12 Asset-Kategorien

Das Klassifikationsmodell unterscheidet 12 Shadow-IT-Kategorien mit je spezifischen Risikoprofilen. Jede Kategorie löst bei Konfidenz ≥ 0.7 automatisch einen entsprechenden YADS-Befund aus.

KategorieTypische IndikatorenStandard-Schweregrad
dev_environmentPort 3000/5000/8080, Node.js/React, kein Auth, subdomain: dev/local/testHigh
staging_environmentÄhnliches Tech-Stack wie Prod, subdomain: staging/uat/preprod, oft schwächeres TLSHigh
cloud_storageS3-/GCS-Header, XML-Directory-Listing, Port 443, öffentlicher ACL-HinweisCritical
admin_panelLogin-Form, Admin/Dashboard-Titel, Port 8080/9090, Basic AuthCritical
api_endpointJSON-Content-Type, REST-Pfade erkennbar, kein Browser-UI, API-Keys in Headern?Medium
ci_cd_pipelineJenkins/GitLab/GitHub-Runner-Header, Port 8080/50000, Pipeline-UI-PatternCritical
monitoring_toolGrafana/Prometheus/Kibana-Pattern, Port 3000/9090/5601, Metrics-EndpunkteHigh
collaboration_toolJira/Confluence/Mattermost-Pattern, Port 8090/8065, SSO-HeaderMedium
database_uiphpMyAdmin/Adminer/pgAdmin-Pattern, Port 8080, SQL-Interface erkennbarCritical
file_sharingNextcloud/Seafile/OwnCloud-Pattern, WebDAV-Header, Port 443/8080High
vpn_gatewayOpenVPN/WireGuard-UDP, Port 1194/51820, VPN-Hersteller-HeaderMedium
unknownKein eindeutiger Pattern-Match, Konfidenz < 0.5Low

// LLM-Backends & Konfiguration

YADS Shadow IT KI unterstützt drei LLM-Backends. Für datenschutzkritische Umgebungen empfiehlt sich Ollama mit einem lokal betriebenen Modell — alle Daten verbleiben in der eigenen Infrastruktur.

SHADOW_IT_BACKENDS = { "gemini": { "model": "gemini-1.5-flash", "api_key_spec": "gemini_api_key", "max_tokens": 512, "privacy_note": "Daten gehen zu Google-Servern — nur abstrahierte Features", }, "openai": { "model": "gpt-4o-mini", "api_key_spec": "openai_api_key", "max_tokens": 512, "privacy_note": "Daten gehen zu OpenAI-Servern — nur abstrahierte Features", }, "ollama": { "model": "llama3.2:3b", # Lokal, kein Datentransfer "endpoint": "OLLAMA_ENDPOINT", # z.B. http://localhost:11434 "max_tokens": 512, "privacy_note": "Vollständig lokal — empfohlen für kritische Umgebungen", }, }
EigenschaftWert
Modul-Nameshadow_it_ai (Add-On)
Scan-TriggerNach jedem Group-A-Scan — klassifiziert neu entdeckte Assets
Batch-Größe20 Assets pro LLM-Batch (parallele Requests)
Konfidenz-Schwelle≥ 0.7 für automatischen Befund; 0.5–0.69 → Review-Queue
CachingKlassifikationsergebnis wird gecacht — kein Re-Call bei unverändertem Asset-Fingerprint
Ollama-Modell-Empfehlungllama3.2:3b (schnell) oder mistral:7b (höhere Genauigkeit)