🤖

GitHub Copilotで事故らないために最初にやるべき設定

に公開

はじめに

GitHub Copilot を使っていると、次のようなことが気になる場面があります。

  • 危険なコマンドを提案してほしくない
  • 機密情報を扱う際に安全な実装をしてほしい
  • セキュリティを意識した提案に寄せたい

こうした課題に対して、本記事では、設定ファイル(copilot-instructions.md)を用いて Copilot の出力を制御する方法を整理します。

設定ファイルを作成する

copilot-instructions.md はプロジェクトルート直下の .github フォルダに配置します。

project-root/
└─ .github/
    └─ copilot-instructions.md

例) copilot-instructions.md

# Copilot 指示書

## 禁止事項
以下のコマンドは提案しないこと:

- rm -rf
- git push --force
- git reset --hard
- terraform destroy
- az group delete
- az sql db delete
- az storage account delete
- kubectl delete

## セキュリティ
- .env ファイルの内容を読み取らない、また出力しない
- *.pem ファイルの内容を読み取らない、また出力しない

## ログ出力
- 機密情報はログに出力しない
- トークン、秘密鍵、接続文字列を表示しない

## 認証情報
- 認証情報のハードコードをしない

  • 削除系コマンドの提案禁止(rm -rf など)
  • 環境変数や秘密鍵ファイルの読み取り禁止
  • ログ出力時の機密情報の扱い方の明示
  • 認証情報のハードコード禁止

この設定でできること・できないこと

copilot-instructions.md を使うことで、Copilot の「提案内容」をある程度コントロールできます。

■ 制御できる範囲

  • コード生成
  • コマンド提案

■ 制御の限界と注意点

  • 完全な強制はできない
  • 実行そのものは止められない。Copilotは「提案」するだけ(実行はユーザーの責任)
  • 外部ツールや手動操作までは制御できない

あくまで「提案ガイドライン」として活用し、最終的な判断や安全確認は必ず人間が行う必要があります。

ヘッドウォータース

Discussion