01 / UNDERSTAND
仕組みと使いどころ
LLMが生成するコードには、脆弱性や危険な設定が含まれる場合があります。安全なコード生成では、安全・危険なコードの組を使ったモデル調整、脆弱性の検出と修正を繰り返すプロンプト手法、生成中のコードを外部スキャナーで検査する方法などが研究・提案されています。AWSの構成例では、Semgrep、Bandit、CheckovをAIコーディング支援ツールと連携させ、ソースコードやIaCの問題を検出します。ただし、対応言語やファイル形式などは検査ツールごとに異なり、結果の妥当性確認と解釈には人によるレビューや専門知識が必要です。安全性を自動的に保証する機能ではありません。
02 / IN PRACTICE
Secure Code Generationの活用例
たとえば、こんな場面で
AIにPythonコードやTerraform設定を作成させた後、対応するセキュリティスキャナーで検査し、指摘内容を確認してから修正を依頼する使い方が考えられます。修正後も再検査し、最終判断は開発者が行います。
03 / GOOD TO KNOW
使うときのポイント
利用前に、検査対象の言語・ファイル形式、ルール、重大度の基準を確認してください。検出結果をそのまま採用せず、実行環境や用途に照らして人が妥当性と優先度を判断することが重要です。
参考資料
Teaching an Old LLM Secure Coding: Localized Preference Optimization on Distilled Preferences - Microsoft Research (新しいタブで開きます)Deploy real-time coding security validation by using an MCP server with Kiro and other coding assistants (新しいタブで開きます)From Solitary Directives to Interactive Encouragement! LLM Secure Code Generation by Natural Language Prompting (新しいタブで開きます)用語の説明や活用例に関連する参考資料です。
READ & LEARN
記事一覧を見る 用語を知ったら、活用を知る。
AI LABで、AIの動向や業務に取り入れるヒントを読む。
