For the complete documentation index, see llms.txt. This page is also available as Markdown.

.NETプロジェクト: セキュリティスキャンのベストプラクティス

Aikido は、.NET の依存関係にある既知の脆弱性(CVE)や、それらの依存関係で使用されているマルウェア、危険なライセンスを検出できます。

Aikido はそれらの依存関係と、その推移的なサブ依存関係をどのように見つけるのでしょうか?

すぐに使える状態で、Aikido はスキャン対象として次のファイルをサポートしています:

  • *.csproj

  • *.deps.json

  • packages.lock.json

  • packages.config

  • packages.props

  • paket.lock

.csproj ファイルにはサブ依存関係の正確なバージョンが含まれていないことがよくあります。これにより、Aikido がサブ依存関係に対していくつかの誤検知 CVE を見つける可能性があります。

なぜロックファイルの使用を始めるべきなのか

各 NuGet 依存関係およびサブ依存関係ごとに、バージョンとハッシュを含むロックファイルを使用することをおすすめします。

Aikido のセキュリティスキャンを容易にする以外にも、ロックファイルを使う理由があります:

  • ロックファイルを使うと、悪意のあるパッケージを介したサプライチェーン攻撃から保護できます。この種の攻撃はますます一般的になっています

  • ロックファイルを使うと、全員がパッケージのまったく同じマイナーバージョンを使うため、ビルドがより予測しやすくなります。「自分の環境では動く」の可能性が下がります

  • ビルド時間の短縮: もはや依存関係の解決は不要です

.NET プロジェクトでロックファイルの使用を始めるには?

ロックファイルを作成するには、次の行をあなたの .csproj ファイルに追加する必要があります:

これらの行を追加したら、次を実行します

これにより、リポジトリにコミットできるロックファイル(packages.lock.json)が生成されます。このファイルは手動で編集しないでください。NodeJS の世界で NPM の package-lock.json ファイルを使うのと同じようなものです。

既存のロックファイルを使って復元するには、次を実行します

最終更新

役に立ちましたか?