ソフトウェア開発とサイバーセキュリティにAIを活用する方法
2023年8月30日
11 分で読めますテクノロジーが
この
開発におけるAIのカテゴリー
多くの
AI支援開発 - 生成AIを
活用して、 コードの 作成、 レビュー、 ドキュメント化を 支援する 開発。 AI支援アプリケーション - チャットボットなど、
アプリケーションに 追加される AI機能。 AI支援ツール - AIを
組み込む ことで、 ツール自体と その ツールを 利用する プロセスの 効率を 高める もの。
この
知っておきたいその他の用語
さらに
AIの基本概念
人工知能
(AI) - 機械に よって 人間の 知能プロセスを シミュレーションする 技術。 経験から 学び、 新しい 情報に 適応し、 通常は 人間の 知能を 必要と する タスクを 実行できます。 自然
言語処理 (NLP) - コンピューターが 人間の 言語を 理解、 解釈、 生成できるように する ことを 目的と する AIの 分野。 機械学習
(ML) - 明示的に プログラムされていなくても、 データを 学習する ことで 特定の タスクの 性能を 向上させる AIの 一分野。 ニューラルネットワーク - 人間の
脳の 構造や 働きに 着想を 得た 計算モデル。 データ内の パターンや 関係性を 学習できます。
言語とテキストの理解:
LLM
(大規模言語モデル) - 膨大な テキストデータで 学習された 人工ニューラルネットワークの 一種。 人間のような 文章を 生成し、 ある 程度 言語を 理解できます。 生成事前学習済みトランスフォーマー
(GPT) - 大量の 言語データを 使った 学習に 基づき、 人間のような 自然な 文章を 生成する 高度な ニューラルネットワークアーキテクチャ。 チャットボット - 自然
言語処理を 活用し、 ユーザーとの 会話を 自動化する AI搭載ソフトウェア。 テキストや 音声の 入力を 理解して 応答します。
AI支援開発
この
コードの作成
開発時に

生成された
GitHub Copilot、
先に
ほかにも
コードのテスト
脆弱性を
まず
お気づきかもしれませんが、
修正するには、
この

Capture the Flagを 始めよう
オンデマンドの
シンボリックAIに
機械学習AI - 明示的に
プログラムされていなくても、 特定の タスクに おける 性能を 学習に よって 向上させる AIの アプローチ。 教師あり学習、 教師なし学習、 強化学習などの サブタイプが あります。 ニューラルネットワークAI - 機械学習の
一分野。 人間の 脳に 着想を 得た 人工ニューラルネットワークを 使って、 データ内の パターン、 特徴、 関係性を 認識します。 シンボリックAI
(記号推論) - 記号、 ルール、 論理を 使って 知識を 表現し、 タスクを 実行する AIの 一種。 人間が 読める 表現や 形式的な 推論を 用いる ことが 多く あります。 進化型AI
(遺伝的アルゴリズム) - 自然 選択の プロセスを 模倣して 問題の 解決策を 進化・ 最適化する AIの アプローチ。 最適化や 設計の タスクで よく 使われます。 エキスパートシステムAI - 事実と
ルールを まとめた 知識ベースを 使い、 特定分野に おける 人間の 専門知識を 模倣して、 判断や 提案を 行う AIの 一種。
もう
コードのレビュー
プルリクエストなど、
コードの
コード変更に
よる 既存機能の デグレードや、 セキュリティ上の 問題の 混入が ない ことを 確認しましょう。 上記のような セキュリティ上の 問題から、 品質上の 問題まで、 さまざまな リスクが あります。 レビューや
SDLCの 各段階で、 これまで どおりツールを 活用してください。 生成AIは こうした ツールに 取って 代わる ものではなく、 むしろ 一層活用する 必要が あります。 同じ 時間でより 多くの コードや 機能が 開発、 提供される 可能性が 高いためです。 SDLCで
AIを 活用する 際の ベストプラクティスを まとめた チートシートを ご覧ください。Gitリポジトリの PR連携を はじめと する Snykの SDLC連携機能は、 通常の ワークフローで コードレビューを 支援し、自社コードの 脆弱性やサードパーティの 脆弱性、脆弱な コンテナ、IaCの セキュリティ 問題や 設定ミスの 混入を 防ぎます。
Snykで AIセキュリティを 掌握
Snykが、



