Sicherheit und verantwortungsvolle KI für Windows Entwicklung

KI-Tools können Windows App-Entwicklung erheblich beschleunigen – aber die Geschwindigkeit entfernt keine Verantwortung. Der Code, den Ihr KI-Agent generiert, ist Code, den Sie versenden, und Sie sind für alles in Ihrer App verantwortlich, unabhängig davon, wie er geschrieben wurde.

Diese Seite behandelt zwei verwandte Themen: verantwortungsvolle Methoden für die Verwendung von KI-Tools zum Erstellen von Apps und Sicherheitsprobleme, die für KI-generierten Code spezifisch sind.

Sie besitzen den Code

Wenn ein KI-Agent eine Funktion, ein Layout oder einen API-Aufruf generiert, wird er zum Code, sobald Sie ihn übernehmen. Die gleichen Standards gelten, ob Code von Hand geschrieben oder generiert wurde:

  • Lesen und Verstehen jeder Änderung vor der Annahme
  • Testen Sie KI-generierten Code mindestens so gründlich wie handgeschriebenen Code – Modelle können plausiblen aussehenden Code generieren, der subtil falsch ist.
  • Verwenden Sie „die KI hat es geschrieben“ nicht als Erklärung für einen Fehler oder ein Sicherheitsproblem im Produktivbetrieb.

KI-Tools entfernen nicht die Notwendigkeit für die Codeüberprüfung. Sie ändern, was Sie prüfen – nicht, ob Sie prüfen.

Was nicht an KI-Tools gesendet werden soll

Achten Sie darauf, was Sie in Eingabeaufforderungen und Kontextfenstern einschließen:

  • Geheime Schlüssel und Anmeldeinformationen – Fügen Sie niemals API-Schlüssel, Kennwörter oder Verbindungszeichenfolgen in eine Eingabeaufforderung ein. Auch in einer privaten Chatsitzung sind Anmeldeinformationen in Eingabeaufforderungen ein Sicherheitsrisiko und können in Protokollen angezeigt werden. Siehe Anmeldedaten und Geheimnisverwaltung weiter unten.
  • Kundendaten und PII – Verwenden Sie keine echten Kundennamen, E-Mails oder Nutzungsdaten als Beispieleingaben, um einen Fehler zu erklären. Verwenden Sie synthetische Daten.
  • Proprietäre Geschäftslogik – Verstehen Sie die Richtlinie Ihrer Organisation, welche Quellcode an externe KI-Dienste gesendet werden kann, bevor Sie internen Systemcode freigeben.

Eingabevalidierung

KI erzeugt tendenziell eine eingeschränkte Eingabebehandlung. Überprüfen Sie immer Längen, Typen und Bereiche, bevor Sie auf Benutzereingaben reagieren.

  • Übergeben Sie niemals ungeprüfte TextBox.Text Werte an Shell-Befehle, Dateipfade oder Datenbankabfragen.
  • Überprüfen Sie die Längen von Zeichenfolgen, bevor Sie in den Speicher schreiben oder über das Netzwerk senden.
  • Verwenden Sie einen Zulassungslistenansatz für Dateipfade – überprüfen Sie, ob aufgelöste Pfade in erwarteten Verzeichnissen verbleiben.

Fügen Sie dies zu Ihrer Eingabeaufforderung hinzu: "Hinzufügen von Eingabeüberprüfungs- und Längenbeschränkungen zu allen benutzerdefinierten Feldern."

Verarbeitung von Anmeldeinformationen und geheimen Daten

Kodieren Sie API-Schlüssel, Kennwörter oder Verbindungszeichenfolgen niemals fest. KI generiert häufig Platzhalterzeichenfolgen wie "your-api-key-here" - behandeln Sie diese als Fehler.

  • Speichern Von Anmeldeinformationen in Windows.Security.Credentials.PasswordVault:

    var vault = new PasswordVault();
    vault.Add(new PasswordCredential("MyApp", username, password));
    
  • Rufen Sie sie zur Laufzeit ab:

    var credential = vault.Retrieve("MyApp", username);
    credential.RetrievePassword();
    
  • Verwenden Sie Umgebungsvariablen oder Azure Key Vault für Dienstanmeldeinformationen in serverseitigen oder CI-Szenarien.

Paket- und Abhängigkeitsintegrität

Überprüfen Sie jedes NuGet-Paket, das ein KI-Agent vorschlägt, bevor Sie es zu Ihrem Projekt hinzufügen.

  • Überprüfen Sie den Herausgeber auf nuget.org – suchen Sie nach dem blauen Schild (Microsoft) oder einem bekannten Herausgeber.
  • Auf bekannte Sicherheitsrisiken überprüfen:
    dotnet list package --vulnerable
    
  • Bevorzugen Sie Pakete mit aktuellen Updates und aktiver Wartung.

App-Funktionen und -Berechtigungen

KI-generierte Package.appxmanifest Dateien enthalten häufig umfassende Funktionen. Überprüfen Sie den <Capabilities> Abschnitt, und entfernen Sie alles, was Ihre App nicht benötigt.

Allgemeine überweite Funktionen, auf die Sie achten können:

  • broadFileSystemAccess — nur erforderlich, wenn Ihre App beliebige Dateisystempfade wirklich liest
  • documentsLibrary — erfordert eine besondere Genehmigung für den Store; vermeiden, es sei denn, erforderlich
  • userAccountInformation — nur, wenn Sie den Namen oder das Foto des Benutzers benötigen

Code-Review-Checkliste

Überprüfen Sie vor dem Versand von KI-generierten Code Folgendes:

  • Keine hartcodierten geheimen Schlüssel oder Anmeldeinformationen
  • Vor der Verwendung überprüfte Benutzereingabe
  • Dateipfade, die mit zulässigen Verzeichnissen abgeglichen werden
  • Erforderliche Mindestfunktionen, die im Manifest deklariert sind
  • NuGet-Pakete, die auf Sicherheitsrisiken überprüft wurden (dotnet list package --vulnerable)
  • Vertrauliche Daten werden in PasswordVault gespeichert, nicht in ApplicationData.LocalSettings
  • Alle Netzwerkanrufe verwenden HTTPS
  • Ausnahmemeldungen geben Benutzern keine internen Pfade oder Stacktraces preis

KI-Modelle verfügen über veraltetes Wissen

Die KI-Tools, die Sie heute verwenden, wurden mit Daten trainiert, die nur bis zu einem bestimmten Stichtag reichen. Für Windows Entwicklung bedeutet dies, dass Modelle viel mehr UWP-Beispiele als WinUI 3-Beispiele gesehen haben – genau deshalb gibt es diesen Dokumentationsabschnitt.

Betrachten Sie KI-Ausgaben nicht als maßgeblich für:

  • Aktuelle API-Namen und -Namespaces (überprüfen sie anhand der WinUI 3-API-Referenz)
  • Aktuelle SDK-Versionen und Paketnamen
  • Store-Richtlinien und Einreichungsanforderungen (diese ändern sich häufig)
  • Sicherheitsleitfaden (Modelle können veraltete Kryptografie- oder Authentifizierungsmuster reproduzieren)

Das Microsoft Learn MCP-Server und WinUI-Agent-Plugin verringern das Risiko veralteten Wissens, indem sie Ihren Agenten auf Grundlage der aktuellen Dokumentation fundieren – aber überprüfen Sie alles Sicherheitskritische stets anhand von Primärquellen.

Accessibility

KI-generierte Benutzeroberflächen berücksichtigen Barrierefreiheit häufig nicht. Ein Modell, das mit Millionen von XAML-Beispielen trainiert wurde, gibt die durchschnittliche Qualität dieser Beispiele wieder – und dieser Durchschnitt lässt historisch AutomationProperties, Tastaturnavigation und ausreichende Kontraste aus.

Beim Akzeptieren von VON KI generierten XAML- oder Steuerelementcode:

  • Überprüfen, ob für interaktive Elemente AutomationProperties.AutomationId und AutomationProperties.Name festgelegt sind
  • Überprüfen, ob die Fokusreihenfolge logisch ist – Tabstopps sollten der Lesereihenfolge folgen
  • Testen Sie vor der Veröffentlichung mit Narrator oder einem anderen Screenreader.
  • Verwenden Sie das Tool Accessibility Insights für Windows, um Lücken automatisch abzufangen.

Fragen Sie Ihren Agent explizit: "Hinzufügen von Barrierefreiheitseigenschaften zu allen interaktiven Elementen in diesem XAML". Gehen Sie nicht davon aus, dass dies geschehen ist.

Wenn Ihre App KI-Features verwendet

Wenn Sie KI-Funktionen in Ihre App integrieren – und nicht nur KI zum Entwickeln der App verwenden –, gelten zusätzliche Pflichten.

Seien Sie transparent für Benutzer. Benutzer informieren:

  • Welche Daten Ihre App an KI-Dienste sendet
  • Ob KI Entscheidungen trifft, die sie betreffen
  • So melden Sie sich gegebenenfalls ab

Beziehen Sie Menschen bei folgenreichen Aktionen ein. Lassen Sie nicht zu, dass die KI autonom Daten löscht, Käufe tätigt, Nachrichten im Namen des Nutzers sendet oder andere irreversible Handlungen ohne ausdrückliche Bestätigung vornimmt.

Prüfen Sie auf Verzerrungen und unerwartete Ausgaben. KI-Modelle können Ergebnisse liefern, die verzerrt, anstößig oder faktisch falsch sind. Testen Sie die KI-Funktionen Ihrer App mit unterschiedlichen Eingaben und Randfällen, bevor Sie sie ausliefern.

Verwenden Sie Inhaltssicherheitstools. Wenn Ihre App benutzerdefinierten Text, Bilder oder andere Inhalte generiert oder verarbeitet, die KI verwenden, verwenden Sie Azure KI Inhaltssicherheit oder eine entsprechende Filterung, um schädliche Ausgaben abzufangen, bevor sie Benutzer erreichen.

Lizenzierung und Attribution

KI-Tools können Code generieren, der vorhandenem Open-Source-Code ähnelt. Bevor Sie KI-generierten Code in einer kommerziellen App verwenden:

  • Kennen Sie die Richtlinie Ihrer Organisation über KI-generierte Codebeiträge
  • Lesen Sie Microsoft Guidance zu Copilot und geistigem Eigentum
  • Wenden Sie die gleichen Open-Source-Lizenzcomplianceprüfungen an, die Sie auf code von Drittanbietern anwenden würden.

Verantwortungsvolle KI-Prinzipien von Microsoft

Microsoft entwickelt KI-Produkte und -Features, die von sechs Prinzipien geleitet werden: Fairness, Zuverlässigkeit und Sicherheit, Datenschutz und Sicherheit, Inklusive, Transparenz und Rechenschaftspflicht.

Weitere Informationen finden Sie unter microsoft.com/ai/responsible-ai.