Skip to main content

コード内の既存の脆弱性を見つける

Copilot Chat を使うと、コード内の一般的な脆弱性を見つけて、修正の提案を受けることができます。

このようなことは多くの開発者が "常識" と考えるかもしれませんが、新たに発生するセキュリティ上の弱点の大部分は、クロスサイト スクリプティング (XSS)、SQL インジェクション、クロスサイト リクエスト フォージェリ (CSRF) などの脆弱性に起因しています。 このような脆弱性を軽減するには、パラメーター化されたクエリの使用、入力の検証、ハードコーディングされた機密データの回避など、セキュリティで保護されたコーディング手法に従います。 GitHub Copilot は、このような issue の検出と解決に役立ちます。

Note

Copilot Chat は、一部の一般的なセキュリティの脆弱性を見つけて修正するのに役立ちますが、包括的なセキュリティ分析のためには Copilot に頼らないでください。 セキュリティ ツールと機能を使うと、コードのセキュリティを強化できます。 GitHub のセキュリティ機能の詳細については、「GitHub セキュリティ機能」を参照してください。

シナリオ例

以下の JavaScript コードには潜在的な XSS の脆弱性があり、ページに表示される前に name パラメーターを適切にサニタイズしないと、悪用される可能性があります。

function displayName(name) {
  const nameElement = document.getElementById('name-display');
  nameElement.innerHTML = `Showing results for "${name}"`
}

プロンプトの例

Copilot Chat に、一般的なセキュリティの脆弱性がないかコードを分析し、見つかった issue の説明と修正を提供することを依頼できます。

Analyze this code for potential security vulnerabilities and suggest fixes.

応答の例

Note

次の応答は例です。 Copilot Chat の応答は非決定的であるため、ここで示したものとは異なる応答が返される可能性があります。

Copilot は、脆弱性の説明と、それを修正するコードの変更案を返します。

function displayName(name) {
  const nameElement = document.getElementById('name-display');
  nameElement.textContent = `Showing results for "${name}"`;
}

参考資料