プログラミング・開発業務でのコード生成とセキュリティ検証

コーディング支援AIは開発速度を劇的に向上させますが、学習データに含まれる古い非推奨関数やセキュリティ脆弱性(CWE分類の脆弱性等)をそのまま出力してしまう危険があります。人間のコードレビューとセキュリティスキャナーの併用が必須です。 ア:誤りです。AIは過去の不完全なコード例も学習しているため、インジェクションや暗号化の不備などの脆弱性を含むコードを平然と出力します。 イ:誤りです。学習データ内の特定OSSコードをそのまま出力してしまう場合があり、ライセンス汚染(著作権侵害やコピーレフト条項の適用)のリスクがあります。 ウ:誤りです。テストケースやエッジケースを考慮した単体テストコードの自動生成は、AI支援開発の最も強力なユースケースの一つです。 エ:正解です。開発生産性の向上と、セキュリティ脆弱性・ライセンスリスクに対するレビュー・検証の必要性を網羅的に述べています。

ソフトウェア開発において生成AI(GitHub Copilot等)を活用する際の開発効率向上とリスク管理に関する記述として、最も適切なものを1つ選択してください。

出典生成AIパスポートオリジナル模擬試験
ア
AIが生成したプログラムコードには、SQLインジェクションやクロスサイトスクリプティング(XSS)などのセキュリティ脆弱性が混入することは論理的にあり得ず、常に安全性が保証されている。
イ
AIが生成したソースコードはすべてパブリックドメイン扱いとなり、オープンソースライセンス(GPLやMIT等)の学習元コードの丸写し(ライセンス汚染)を警戒する必要は法的に一切存在しない。
ウ
プログラミングにおいて生成AIを利用すると、コードの可読性が著しく低下するため、単体テストコードの自動生成やドキュメント作成にAIを利用することは業界標準として禁止されている。
エ
関数のボイラープレート作成、アルゴリズムの実装、単体テストコードの生成などに高い生産性を発揮する一方、AIが生成したコードにはセキュリティ脆弱性の混入やライセンス侵害のリスクがあるため、人間によるコードレビューや静的解析ツールによる検証が必須である。