Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las herramientas de inteligencia artificial pueden acelerar drásticamente Windows desarrollo de aplicaciones, pero la velocidad no elimina la responsabilidad. El código que genera el agente de IA es el código que se envía y es responsable de todo lo que hay en la aplicación, independientemente de cómo se haya escrito.
En esta página se tratan dos temas relacionados: prácticas responsables del uso de herramientas de inteligencia artificial para compilar aplicaciones y problemas de seguridad específicos del código generado por ia.
Posee el código
Cuando un agente de IA genera una función, un diseño o una llamada API, se convierte en el código el momento en que lo confirma. Los mismos estándares se aplican si el código se escribió a mano o se generó:
- Leer y comprender todos los cambios antes de aceptarlo
- Pruebe el código generado por IA al menos con tanta exhaustividad como el código escrito a mano — los modelos pueden generar código aparentemente plausible, pero incorrecto de forma sutil.
- No use "la inteligencia artificial lo escribió" como explicación de un error o un problema de seguridad en producción
Las herramientas de inteligencia artificial no eliminan la necesidad de revisión de código. Cambian lo que estás revisando, no si revisas o no.
Qué no enviar a las herramientas de inteligencia artificial
Sea deliberado con lo que incluye en las instrucciones y en las ventanas de contexto:
- Secretos y credenciales — No pegues nunca claves de API, contraseñas ni cadenas de conexión en un prompt. Incluso en una sesión de chat privada, las credenciales de las solicitudes son un riesgo de seguridad y pueden aparecer en los registros. Consulte Control de credenciales y secretos a continuación.
- Datos del cliente y PII : no use nombres reales de clientes, correos electrónicos o datos de uso como entradas de ejemplo, incluso para explicar un error. Use datos sintéticos.
- Lógica empresarial propietaria : comprenda la directiva de su organización sobre qué código fuente se puede enviar a los servicios de inteligencia artificial externos antes de compartir el código de sistemas internos.
Validación de entrada
La inteligencia artificial tiende a generar un control de entrada permisivo. Valide siempre las longitudes, los tipos y los intervalos antes de actuar en la entrada del usuario.
- Nunca pase valores sin procesar
TextBox.Texta comandos de shell, rutas de acceso de archivo o consultas de base de datos. - Valide las longitudes de cadena antes de escribir en el almacenamiento o enviar a través de la red.
- Utilice un enfoque basado en una lista de permitidos para las rutas de archivo — compruebe que las rutas resueltas permanezcan dentro de los directorios esperados.
Agregue esto al mensaje: "Agregar límites de validación y longitud de entrada a todos los campos orientados al usuario".
Control de credenciales y secretos
Nunca codifique de forma hardcode las claves de API, las contraseñas o las cadenas de conexión. La inteligencia artificial a menudo genera cadenas de marcador de posición como "your-api-key-here" , trata estas como errores.
Almacene las credenciales en
Windows.Security.Credentials.PasswordVault:var vault = new PasswordVault(); vault.Add(new PasswordCredential("MyApp", username, password));Recupérelos en tiempo de ejecución:
var credential = vault.Retrieve("MyApp", username); credential.RetrievePassword();Use variables de entorno o Azure Key Vault para las credenciales de servicio en escenarios de CI o del lado servidor.
Integridad de paquetes y dependencias
Revise cada paquete NuGet que un agente de IA sugiere antes de agregarlo al proyecto.
- Compruebe el publicador en nuget.org : busque el escudo azul (Microsoft) o un publicador conocido.
- Buscar vulnerabilidades conocidas:
dotnet list package --vulnerable - Prefiere paquetes con actualizaciones recientes y mantenimiento activo.
Funcionalidades y permisos de la aplicación
Los archivos Package.appxmanifest generados por IA suelen incluir una amplia gama de capacidades. Revise la <Capabilities> sección y quite todo lo que la aplicación no necesite.
Funcionalidades comunes generales que se pueden observar:
-
broadFileSystemAccess— solo se necesita si tu aplicación realmente lee rutas arbitrarias del sistema de archivos. -
documentsLibrary— requiere la aprobación especial de la Tienda; evitar a menos que sea necesario -
userAccountInformation— solo si necesita el nombre o la foto del usuario.
Lista de comprobación de revisión de código
Antes de enviar código generado por IA, compruebe lo siguiente:
- Sin secretos o credenciales codificados de forma codificada
- Entrada del usuario validada antes de su uso
- Rutas de archivos comprobadas con los directorios permitidos
- Funcionalidades mínimas necesarias declaradas en el manifiesto
- Paquetes NuGet examinados para detectar vulnerabilidades (
dotnet list package --vulnerable) - Datos confidenciales almacenados en
PasswordVault, noApplicationData.LocalSettings - Todas las llamadas de red usan HTTPS
- Los mensajes de excepción no exponen rutas internas ni trazas de pila a los usuarios
Los modelos de inteligencia artificial tienen conocimientos obsoletos
Las herramientas de inteligencia artificial que usa hoy se entrenaron en datos con una fecha límite. En el desarrollo para Windows, esto significa que los modelos han visto muchos más ejemplos de UWP que ejemplos de WinUI 3 — lo que explica exactamente por qué existe esta sección de la documentación.
No considere el resultado de la IA como una fuente autorizada para:
- Nombres actuales de API y espacios de nombres (verifíquelo con la referencia de API de WinUI 3)
- Versiones actuales del SDK y nombres de paquete
- Políticas de la tienda y requisitos de presentación (estos cambian con frecuencia)
- Guía de seguridad (los modelos pueden reproducir patrones de criptografía o autenticación obsoletos)
El servidor MCP de Microsoft Learn y el complemento del agente de WinUI mitigan el problema de los conocimientos obsoletos al basar su agente en la documentación actual, pero compruebe siempre cualquier aspecto crítico para la seguridad con fuentes primarias.
Accessibility
La interfaz de usuario generada por IA a menudo omite funciones de accesibilidad. Un modelo entrenado con millones de muestras de XAML reproducirá la calidad media de esas muestras, y esa media ha omitido históricamente AutomationProperties, la navegación por teclado y un contraste suficiente.
Al aceptar código XAML o controles generados por IA:
- Compruebe que los elementos interactivos tienen establecidos
AutomationProperties.AutomationIdyAutomationProperties.Name - Comprobar que el orden de enfoque es lógico: las tabulaciones deben seguir el orden de lectura.
- Prueba con Narrador u otro lector de pantalla antes del envío
- Use la herramienta Accessibility Insights para Windows para detectar brechas automáticamente
Pregunte explícitamente al agente: "Agregar propiedades de accesibilidad a todos los elementos interactivos de este XAML". No asumas que se ha hecho.
Si la aplicación usa características de IA
Si está incorporando capacidades de IA en su aplicación — no solo usando la IA para desarrollar la aplicación — se aplican responsabilidades adicionales.
Sea transparente con los usuarios. Indique a los usuarios:
- Qué datos envía la aplicación a los servicios de inteligencia artificial
- Si la inteligencia artificial toma decisiones que les afectan
- Cómo optar por no participar si procede
Mantenga a los seres humanos en el bucle para las acciones consecuentes. No permita que la inteligencia artificial elimine datos de forma autónoma, realice compras, envíe mensajes en nombre del usuario ni realice otras acciones irreversibles sin confirmación explícita.
Pruebe si hay sesgos y salidas inesperadas. Los modelos de inteligencia artificial pueden producir salidas sesgadas, ofensivas o erróneas de hecho. Pruebe las características de IA de la aplicación con diversas entradas y casos perimetrales antes del envío.
Usar herramientas de seguridad de contenido. Si tu aplicación genera o procesa texto, imágenes u otro contenido de cara al usuario mediante IA, usa Seguridad del contenido de Azure AI o un filtrado equivalente para detectar resultados perjudiciales antes de que lleguen a los usuarios.
Licencias y atribución
Las herramientas de inteligencia artificial pueden generar código similar al código abierto existente. Antes de usar código generado por IA en una aplicación comercial:
- Conozca la política de su organización sobre las contribuciones de código generadas por IA
- Consulte la guía de Microsoft sobre Copilot y la propiedad intelectual
- Aplicar las mismas comprobaciones de cumplimiento de licencias de código abierto que haría con cualquier código de terceros
Principios de inteligencia artificial responsable de Microsoft
Microsoft diseña productos y características de inteligencia artificial guiados por seis principios: imparcialidad, confiabilidad y seguridad, privacidad y seguridad, inclusión, transparencia y responsabilidad.
Obtenga más información en microsoft.com/ai/responsible-ai.