Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
AI-hulpprogramma's kunnen de ontwikkeling van Windows apps aanzienlijk versnellen, maar snelheid verwijdert geen verantwoordelijkheid. De code die uw AI-agent genereert, is code die u verzendt en u bent verantwoordelijk voor alles in uw app, ongeacht hoe deze is geschreven.
Op deze pagina worden twee verwante onderwerpen behandeld: verantwoorde procedures voor het gebruik van AI-hulpprogramma's voor het bouwen van apps en beveiligingsproblemen die specifiek zijn voor door AI gegenereerde code.
U bent eigenaar van de code
Wanneer een AI-agent een functie, een indeling of een API-aanroep genereert, wordt deze de code op het moment dat u deze doorvoert. Dezelfde standaarden zijn van toepassing op het feit of code handmatig is geschreven of gegenereerd:
- Lees en begrijp elke wijziging voordat u deze accepteert
- Door AI gegenereerde code ten minste zo grondig testen als handgeschreven code: modellen kunnen plausibel uitziende code genereren die subtificerend onjuist is
- Gebruik 'de AI schreef het niet' als een verklaring voor een bug of een beveiligingsprobleem in productie
AI-hulpprogramma's verwijderen de noodzaak voor codebeoordeling niet. Ze wijzigen wat u bekijkt, niet of u het bekijkt.
Wat niet naar AI-hulpprogramma's moet worden verzonden
Wees bewust van wat u opneemt in prompts en contextvensters:
- Geheimen en referenties : plak nooit API-sleutels, wachtwoorden of verbindingsreeksen in een prompt. Zelfs in een privéchatsessie zijn referenties in prompts een beveiligingsrisico en kunnen in logboeken worden weergegeven. Zie De verwerking van referenties en geheimen hieronder.
- Klantgegevens en PII : gebruik geen echte klantnamen, e-mailberichten of gebruiksgegevens als voorbeeldinvoer, zelfs om een fout uit te leggen. Gebruik synthetische gegevens.
- Bedrijfslogica voor eigen gebruik: inzicht in het beleid van uw organisatie over welke broncode naar externe AI-services kan worden verzonden voordat u interne systeemcode deelt.
Invoervalidatie
AI genereert meestal permissieve invoerafhandeling. Valideer altijd lengtes, typen en waardenbereiken voordat u actie onderneemt op basis van gebruikersinvoer.
- Geef nooit onbewerkte
TextBox.Textwaarden door aan shellopdrachten, bestandspaden of databasequery’s. - Valideer tekenreekslengten voordat u naar de opslag schrijft of verzendt via het netwerk.
- Gebruik een acceptatielijstbenadering voor bestandspaden. Controleer of opgeloste paden binnen de verwachte mappen blijven.
Voeg dit toe aan uw prompt: 'Invoervalidatie en lengtelimieten toevoegen aan alle gebruikersgerichte velden'.
Verwerking van inloggegevens en geheime gegevens
Codeer api-sleutels, wachtwoorden of verbindingsreeksen nooit. AI genereert vaak placeholder-tekenreeksen zoals "your-api-key-here" — beschouw deze als bugs.
Referenties opslaan in
Windows.Security.Credentials.PasswordVault:var vault = new PasswordVault(); vault.Add(new PasswordCredential("MyApp", username, password));Haal ze tijdens runtime op:
var credential = vault.Retrieve("MyApp", username); credential.RetrievePassword();Gebruik omgevingsvariabelen of Azure Key Vault voor servicereferenties in server- of CI-scenario's.
Pakket- en afhankelijkheidsintegriteit
Bekijk elk NuGet-pakket dat een AI-agent voorstelt voordat u het toevoegt aan uw project.
- Controleer de uitgever op nuget.org : zoek naar het blauwe schild (Microsoft) of een bekende uitgever.
- Scannen op bekende beveiligingsproblemen:
dotnet list package --vulnerable - Geef de voorkeur aan pakketten met recente updates en actief onderhoud.
App-mogelijkheden en -machtigingen
Door AI gegenereerde Package.appxmanifest bestanden bevatten vaak uitgebreide mogelijkheden. Controleer de <Capabilities> sectie en verwijder alles wat uw app niet nodig heeft.
Algemene overbrede mogelijkheden om te kijken naar:
-
broadFileSystemAccess— alleen nodig als uw app echt willekeurige bestandssysteempaden leest -
documentsLibrary— vereist speciale goedkeuring van de Store; vermijden tenzij noodzakelijk -
userAccountInformation— alleen als u de naam of foto van de gebruiker nodig hebt
Controlelijst voor codebeoordeling
Voordat u door AI gegenereerde code verzendt, controleert u het volgende:
- Geen in code vastgelegde geheimen of referenties
- Gebruikersinvoer gevalideerd voor gebruik
- Bestandspaden gecontroleerd aan de hand van toegestane mappen
- Minimale benodigde mogelijkheden die zijn gedeclareerd in het manifest
- NuGet-pakketten gescand op beveiligingsproblemen (
dotnet list package --vulnerable) - Gevoelige gegevens die zijn opgeslagen in
PasswordVault, nietApplicationData.LocalSettings - Alle netwerkoproepen maken gebruik van HTTPS
- Uitzonderingsberichten maken geen interne paden of stacktraceringen beschikbaar voor gebruikers
AI-modellen hebben verouderde kennis
De AI-hulpprogramma's die u vandaag gebruikt, zijn getraind op gegevens met een afsluitdatum. Voor Windows ontwikkeling betekent dit dat modellen veel meer UWP-voorbeelden hebben gezien dan WinUI 3-voorbeelden. Dit is precies waarom deze documentatiesectie bestaat.
Behandel AI-output niet als gezaghebbend voor:
- Huidige API-namen en naamruimten (verifiëren aan de hand van WinUI 3 API-naslagwerk)
- Huidige SDK-versies en pakketnamen
- Winkelbeleid en indieningsvereisten (deze veranderen regelmatig)
- Beveiligingsrichtlijnen (modellen kunnen verouderde cryptografie- of verificatiepatronen reproduceren)
De Microsoft Learn MCP-server en WinUI-agentinvoegtoepassing verouderde kennis beperken door uw agent te gronden in de huidige documentatie, maar controleer altijd alles wat beveiligingskritiek is op basis van primaire bronnen.
Toegankelijkheid
Door AI gegenereerde gebruikersinterface laat vaak ondersteuning voor toegankelijkheid weg. Een model dat is getraind op miljoenen XAML-steekproeven, reproduceert de gemiddelde kwaliteit van deze steekproeven, en het gemiddelde slaat historisch over AutomationProperties, toetsenbordnavigatie en voldoende contrast.
Bij het accepteren van door AI gegenereerde XAML- of besturingscode:
- Controleer of voor interactieve elementen
AutomationProperties.AutomationIdenAutomationProperties.Namezijn ingesteld - Controleer of de focusvolgorde logisch is: tabstops moeten de leesrichting volgen
- Testen met Verteller of een andere schermlezer voordat deze wordt verzonden
- Gebruik het hulpprogramma Accessibility Insights voor Windows om hiaten automatisch te ondervangen
Vraag uw agent expliciet: 'Voeg toegankelijkheidseigenschappen toe aan alle interactieve elementen in deze XAML'. Neem niet aan dat het is gedaan.
Als uw app AI-functies gebruikt
Als u AI-mogelijkheden in uw app bouwt, niet alleen met behulp van AI om de app te schrijven, zijn er extra verantwoordelijkheden van toepassing.
Wees transparant met gebruikers. Vertel gebruikers:
- Welke gegevens uw app verzendt naar AI-services
- Of AI beslissingen neemt die van invloed zijn op deze beslissingen
- Afmelden indien van toepassing
Betrek mensen bij acties met ingrijpende gevolgen. Laat AI geen gegevens autonoom verwijderen, aankopen doen, berichten verzenden namens de gebruiker of andere ongedaan maken van acties zonder expliciete bevestiging.
Test op vooringenomenheid en onverwachte uitvoer. AI-modellen kunnen uitvoer produceren die bevooroordeeld, aanstootgevend of feitelijk onjuist zijn. Test de AI-functies van uw app met diverse invoer- en randcases voordat u verzendt.
Gebruik hulpprogramma's voor inhoudsveiligheid. Als uw app gebruikersgerichte tekst, afbeeldingen of andere inhoud genereert of verwerkt met BEHULP van AI, gebruikt u Azure AI Content Veiligheid of equivalente filtering om schadelijke uitvoer te vangen voordat ze gebruikers bereiken.
Licenties en toeschrijving
AI-hulpprogramma's kunnen code genereren die lijkt op bestaande opensource-code. Voordat u door AI gegenereerde code in een commerciële app gebruikt:
- Het beleid van uw organisatie voor door AI gegenereerde codebijdragen kennen
- Bekijk de guidance van Microsoft over Copilot en intellectueel eigendom
- Dezelfde opensource-licentienalevingscontroles toepassen op alle code van derden
De principes van verantwoordelijke AI van Microsoft
Microsoft ontwerpt AI-producten en -functies die worden geleid door zes principes: billijkheid, betrouwbaarheid en veiligheid, privacy en beveiliging, inclusiefheid, transparantie en verantwoordelijkheid.
Meer informatie vindt u op microsoft.com/ai/responsible-ai.
Verwante inhoud
Windows developer