¿Hay alguna forma de usar Nuget de forma segura?

6

Visual Studio ahora incluye un Package Manager que descarga y actualiza paquetes de software desde Internet. El nombre común para esto es "Nuget"

El problema que tengo es que cualquier persona puede pretender ser otra persona, por suplantar el campo del propietario . Esto abre toda una lata de gusanos con respecto a las actualizaciones y la verificación de la autenticidad de cada parche.

  • ¿Son estas preocupaciones válidas? (¿Perdí alguno?)

  • ¿Qué controles técnicos y de procedimientos podemos implementar para limitar el riesgo?

  • ¿Hay alguna forma de usar Nuget de manera segura?

pregunta random65537 04.10.2011 - 06:06
fuente

3 respuestas

0

Nuget ahora admite Reserva de ID de paquete (vea también Comunicado de prensa )

Esto permite una confianza adicional entre el desarrollador y el productor, pero también es un paso en la dirección correcta para la confianza para las compilaciones de Integración Continua (CI) (ya que las compilaciones determinísticas no es posible en .NET)

    
respondido por el random65537 02.11.2017 - 17:18
fuente
4

NuGet no admite actualmente la firma de código para paquetes o archivos nuspec, por lo que no se puede identificar realmente al autor del paquete. Este problema se planteó como una solicitud de características en 2010, pero no recibió mucha atención y no se ha implementado. Consulte enlace .

Actualmente, un paquete ya existente NuGet solo puede actualizarse con la misma cuenta en la que se cargó originalmente, pero esto no verifica el autor real del código, que creo que es lo que está obteniendo.

Fuera de NuGet, la firma de código para ensamblajes aún existe. Basado en esto, sugeriría que idealmente:

  • Utilice solo ensamblajes firmados de un editor de confianza.
  • Use referencias de nombre seguro en sus proyectos (que vinculan el proyecto / ensamblajes a una clave pública específica).
  • Verifique la firma de cada ensamblaje que descargue.

Posiblemente otra preocupación es que los paquetes de NuGet pueden tener adjuntos scripts de instalación / desinstalación de PowerShell que se ejecutan automáticamente cuando se utiliza la línea de comandos del paquete de NuGet. NuGet 1.4+ admite la firma de código para los scripts de PowerShell, por lo que sugeriría dejar la política de ejecución de PowerShell en RemoteSigned.

Como alternativa, no uses NuGet y descarga el archivo .msi / .exe de una versión oficial y verifica la firma en el archivo.

    
respondido por el Bernie White 04.10.2011 - 12:38
fuente
2

Dado que todo, desde el CLR hasta las bibliotecas de terceros, se distribuirá a través de NuGet en ASP.NET vNext, el equipo de NuGet se ha comprometido a respaldar los paquetes firmados por, creo, la fecha de lanzamiento de Visual Studio 2015.

Vea el anuncio del blog: enlace

También, consulte la especificación de firma: enlace

    
respondido por el Josh Pearce 11.02.2015 - 20:36
fuente

Lea otras preguntas en las etiquetas