How do you all go about validating that there’s nothing malicious in your nuget packages?
Is there a best practice for this?
It’s easy if the package is from a known source like Microsoft but I’m curious what you do for lesser know people?
I will usually see how many others are using it, probably scan the code in the GITHUB repo. Sometimes if it’s a lesser known dev I’ll just pull from GITHub rather than using NuGet.
Today however, I was looking at a package and the nuget package itself looks fine but it contains some C++ code that is compiled elsewhere…fine I’ll go get that and see. But that code requires CMake and some other 3rd party add-ons which I also have to review.
I’m not aware of any audits on NuGet that would prevent bad people from uploading code. What do you all do to protect the integrity of your software?
A classic: https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf
Well he’s right, that’s why I rarely trust code from Nuget. I will bring down the repo, examine the code myself. I get that I may miss something but, then, that’s on me.
My boss isn’t going to blame me for trusting Microsoft. My boss will blame me for trusting Mike Nobody who is a developer in CountryZ who has built this really wicked shortcut I need.