How to Launch a Scan on a .NET Project
Use lockfiles like packages.lock.json in your .NET build for better SCA detection with CybeDefend.
.NET projects often rely on NuGet packages. By generating a packages.lock.json
file, you create a stable snapshot of all dependencies—critical for accurate CybeDefend SCA scanning.
Recommended Steps
- Enable Lockfiles in .csproj
- Run dotnet restore
This generates apackages.lock.json
file. - Commit packages.lock.json
Never edit this file manually. Letdotnet restore
handle updates.
Why You Should Use Lockfiles
Using a lockfile is critical for secure and predictable builds. A lockfile contains a fixed version and a hash for each dependency and sub-dependency in your project.
- Supply Chain Protection
Lockfiles prevent malicious package injections. This is crucial as supply chain attacks are rising. - Predictable Builds
Everyone uses the exact same package versions, avoiding “it works on my machine” inconsistencies. - Performance Gains
With dependency versions locked, build tools skip the usual resolution step, making builds faster.
Lockfiles are never edited manually. They’re generated and updated by your package manager and committed to your repository, ensuring consistent environments for all teammates.
Lockfile Commands
- Generate:
dotnet restore
- Locked Restore:
dotnet restore --locked-mode
- Update: Change versions in
.csproj
orDirectory.Packages.props
, then rundotnet restore
again.
Supported Files for .NET
File Examples |
---|
.deps.json , packages.lock.json , Packages.props , .csproj |
If your lockfile is missing, SCA scanning might only detect partial or incorrect versions of NuGet packages. Lockfiles ensure precise dependency resolution.
Use Directory.Packages.props (NuGet central package management) for an even cleaner approach to pinned versions.