セキュリティとは信頼である。Snykが実現する「生成AI時代のセキュアな開発」
「【Qiita × Snyk Meetup】AIがコードを書く時代だからこそ必要になる、セキュアな開発」イベントレポート
生成AIの導入で開発スピードが上がっても、レビューが大変で結局は時間がかかってしまう。開発者が抱えるそのような悩みに応えるのが、Snyk社が提供する、次世代の脆弱性管理ツール「Snyk(スニーク)」です。間違ったコードが入力されたら、すぐ自動的に修正するため、セキュリティ要件による開発の遅れが発生しづらくなっています。スピーディーな開発と、堅牢なセキュリティの確保。Snykは、この2つを両立させます。
世界で3,000以上の顧客に採用され、数百万単位のプロジェクトを保護してきたSnyk。今回のイベントは、同社が日本の開発者と交流したいとの思いから開催されました。当日は、Snyk創業者のGuy Podjarny(ガイ・ポジャーニー)氏も来場。渋谷ソラスタコンファレンスを舞台にオフラインでの開催と、ZoomとYouTube Liveでのオンライン配信も同時開催されました。本記事では当日の様子をダイジェストでご紹介します。
目次
登壇者プロフィール
Qiita株式会社
プロダクトマネージャー
開発者にこそ、脆弱性への意識が必要だ。Snyk創業者が考える「新時代のセキュリティ」
Snykは2015年の創業以降、「開発者ファースト」を掲げてセキュリティ業界をけん引し、グローバルに事業を展開しています。2020年にはユニコーン企業に認定されるなど急成長を果たしました。創業者のガイ氏は、開発と運営を密に連携させるDevOpsの経験から「開発には最初からセキュリティが組み込まれているべきだ」と確信したとのことです。生成AIの登場に揺れる開発者に、時代に即したセキュリティのあり方を訴えました。
すべての開発にデフォルトでセキュリティ対策を。開発者の理想を実現したSnyk
清野隼史(以下、清野):ものづくりに注力する開発者に対して、後回しになりがちなセキュリティを担保してくれる。Snykはそんなプロダクトなんですね。
Guy Podjarny(以下、ガイ):はい、おっしゃる通りです。Snykはソフトウェア開発におけるすべてのプロセスをカバーしています。開発者のみなさんはセキュリティをSnykに任せて、より創造的な開発業務に集中できるのです。
Snykはコードの脆弱性を可視化することで、セキュリティチームの業務効率化にも貢献します。セキュリティの問題がどこで起きていて、Snykがどのようにコードを修正し、その結果どのようにセキュリティが改善されたのか。これらをすべて数値化して詳細に出力するため、セキュリティチームのみなさんからも好評です。
清野:どのようなきっかけで、Snykを創業されたのでしょうか。
ガイ:私は過去に、サイバーセキュリティ担当として従軍した経験があります。のちに当時の経験を生かし、セキュリティ対策ツールを提供する企業に入社しました。しかしそのツールは開発者ファーストではありませんでした。その後2002年に小規模なスタートアップに入社し、その企業を最終的に買収したIBMに籍を置くことになりました。
当時の開発者の間では、DevOpsがそれほど受け入れられていない状態でした。そのため私はIBMを去って会社を立ち上げ、そこから6年ほどDevOpsに注力しました。開発と運用を密に連携させる経験によって、セキュリティがどうあるべきかを常に考えるようになっていました。その結果、行きついたのは「これからの開発には、最初からセキュリティが組み込まれていなくてはいけない」という確信です。この確信が、Snykを創業する一番のきっかけになりました。
清野:いまやアプリケーション開発ではセキュリティ対策ツールがデフォルトで入っているのが当たり前になりましたが、25年もの取り組みを通してその状況を作り上げてきたのがSnykだったんですね。
ガイ:開発にはセキュリティ対策が必須という現状は、起こるべくして起こったものだと思います。Snykでは熱狂的と言えるほどに、開発者がセキュリティを確保することの重要性を追求してきました。しかし、我々が作りたかったのは単なるセキュリティ対策ツールではありません。企業が使いやすいこと、開発者ファーストであることにこだわって、様々な検討と判断を重ねてきました。このような判断が積み重なって、かつてないほどユーザーフレンドリーなセキュリティ対策ツールを提供できるようになったと考えています。
清野:単にプロダクトを作るというだけではなく、セキュリティに関する業界全体の雰囲気づくり、ひいては文化の醸成を担ってこられたのだと感じました。
ガイ:ありがとうございます。Snykを立ち上げたとき、「セキュリティの領域に戻っていいのだろうか」と自問自答しました。それまでの経験から、セキュリティというものの難しさをイヤというほど痛感していたからです。セキュリティについて考えていると、世の中のすべてが悪い方向に進んでいて、何をしてもうまくいかないと考えてしまうほどでした。それが開発の会議に参加すると一転、心が高揚してすべてがバラ色に見え、世の中はなんてすばらしいんだと思えてきたりするわけです。
自分はセキュリティではなく、開発の領域に進んだほうが良いのではないか。そう考えるのは無理のないことでした。でも、開発とセキュリティの両方を知っている自分だからこそできることがあるとも考えました。本当に開発者のためになるものを作り、世の中を良くしていく。そのためには、自分はセキュリティ領域に戻らなければならない。最終的にはそう決断したからこそSnykが生まれたのですから、適切な判断だったのかもしれません。
「セキュリティは専門チーム任せ」の時代は終わりつつある
清野:セキュリティがプロジェクトに組み込まれているのは、ガイさんをはじめとする強い思いを持った人たちがいたからこそなんですね。開発現場におけるセキュリティは、これからどのように変化していくのでしょうか。またSnykにはどのような構想があるのでしょうか。
ガイ:私たちの仕事はまだ終わっていません。開発者がセキュリティに対してもっと主体的に取り組むために、やるべきことはたくさんあります。一方でセキュリティの重要性がたくさんの人に認識されるようになったのはポジティブな変化だと思います。Snykを創業した8年前は、セキュリティ担当者のみなさんに対してさえ「セキュリティは非常に重要なんです」と説得してまわらなければなりませんでした。開発現場におけるセキュリティ対策が常識になった今では、そのように説得する必要はなくなりました。セキュリティ対策を「やるべきかどうか」というところから一歩進んで、「どのように進めるのか」を検討する時代になりました。
ガイ:それに伴って「セキュリティチームがセキュリティを担保する」という従来の仕事のやり方を変えなければいけない時代になってきています。まず開発チームが開発を進め、ある程度のところで開発を止めてセキュリティチームがテストを行う。こうした従来のやり方ではなく、プロジェクト開始時点から開発とセキュリティ対策を並行して進めるやり方にシフトする必要があります。そのためにもセキュリティ対策ツールはセキュリティチームだけでなく、開発者にとっても使いやすいものでなければなりません。
今後の展望としては、Snykをより多くの言語に対応させ、よりさまざまなテクノロジーや環境に対して提供したいと考えています。それを実現するには、AIを活用するしかありません。そのため3年ほど前にAIを使ったプログラミングやソフトウェア分析技術をもつ会社を買収し、まずはAIの技術による自動コード補完機能の実装を目指しています。
清野:これからの開発では、開発者が自らセキュリティに触れる環境づくりや、セキュリティ対策を行う体験の積み重ねが重要になるのですね。生成AIの活用がますます進む今、この2つは開発の未来を考えるにあたって無視できない点だと改めて感じました。ありがとうございました。
必要なのは、生成AIがコードを書く時代ならではの視点。有識者が語り合う「次世代のセキュリティ対策」
続いての第2部は、ガイ氏に加え、生成AIによるコードのセキュリティ対策に現在進行形で取り組む一般社団法人 日本CTO協会 理事 / Sansan株式会社の藤倉成太氏も迎えたパネルディスカッションです。生成AIの登場によって開発現場が大きく変化する中、私たちはセキュリティの懸念とどう向き合っていくべきなのでしょうか。
登壇者プロフィール
Sansan株式会社 技術本部海外開発拠点支援室 室長
Copilot、Bard…生成AIコーディングツールの登場で開発現場はどのように変わったのか
清野:この1年ぐらいで生成AIを使った開発はグッと身近になりました。それに伴い、新しいツールも続々と登場しています。こうした変化は、開発の現場にどのような影響を及ぼしているのでしょうか。Sansanさんでは何か動きなどはありますか?
藤倉成太(以下、藤倉):生成AIの導入はまだ一部の開発チームのみのトライアル段階ですが、早くも効果を実感しています。Sansanではエンジニアの生産性をはかる指標をいくつか設けて数値を追っていますが、生成AIを導入したチームはそうでないチームに比べて明らかに良い数値が出ていたのです。このままある程度ノウハウが蓄積されたら、ほかのチームや子会社でも導入を進めていきたいと考えています。
清野:日本でも、生成AIの導入をトライアルから少しずつ進めている企業は多いですよね。海外のIT企業やアプリケーション開発の現場ではいかがですか?
ガイ:海外では大企業を中心に、生成AIの導入がかなり進んでいます。一度生成AIを使った開発者たちは、「もう生成AIなしで開発することは考えられない」というほどのメリットを実感しているようです。
一方でセキュリティ担当者は大きく2つの懸念を抱いています。1つめは自社で開発したコードが外部に漏えいする懸念、もう1つは生成されたコードに対するセキュリティ面の懸念です。こうした懸念から、セキュリティ担当者は生成AIを導入する前にもう少し時間をかけて検討したいと考えています。すぐにでも生成AIを導入してほしい開発者との間で衝突がしばしば起こるのは、無理のないことでしょう。
清野:生成AIを使った開発は便利だけれど、セキュリティ面の懸念はまだ拭いきれない。かといって、導入しないという選択肢はおそらくない。企業は判断が非常に難しい環境下に置かれているんですね。Sansanさんではすでに導入が進んでいるとのことでしたが、こうした懸念とどう向き合われたのでしょうか?
藤倉:従来通りコードレビューを入れてセキュリティのチェックツールにかけることで、トラブルを防いでいます。コードを書く以外の作業は導入前と同じということに加え、入念にレビューをしているおかげで今のところ大きな問題にはなっていないのだと思います。ただ現状ではツールを導入した分、経済的コストも高くなり、トータルでの効率化にはつながっていません。このあたりは今後改善が必要だと思っています。
清野:コードを書くスピードは上がったけれど、安全性を担保するためにはレビューの手間がまだまだ必要なんですね。
藤倉:そうですね。とはいえこうしたコストは工夫をすれば下げられるはずです。一方でエンジニアの生産性を上げるのは非常に大変なので、それを実現してくれる生成AIを導入しないという選択肢はないですね。導入するという結論ありきで、そのあとにコストをどう下げていくかという議論を進めていく流れになると思います。
清野:ガイさんはいかがでしょうか。開発スピードが上がった一方で、コードの安全性の担保に大きなコストがかかるというような課題を実感されたことはありますか?また、それをどのように解決しているのでしょうか。
ガイ:Snykをお使いいただいている企業でも、たしかに開発者は生成AIを使いたがるようです。生産性を向上させたいし、競争力をもっとつけたいからでしょう。しかしどれほどに優れた開発者であっても、セキュリティの問題を無視することはできません。生成AIを使ってすばやくコードを書いた分だけ、途中で監査を入れて入念にチェックしなければならないのです。生産性を上げるために生成AIを使っているのに、このように手間と時間がかかってしまっては本末転倒です。
そのような事態は、Snykを導入していただければ防ぐことができます。生成AIが新しいコードを書いたらすぐにSnykがチェックをして、問題があれば修正してくれる。だから途中で開発を止めてチェックの時間を取る必要はありません。生成AIがもたらしてくれた生産性向上の効果をセキュリティチェックに食いつぶされることなく、そのまま享受できるのです。
今Snykは、セキュリティを盛り込んだ生成AIをつくろうとしています。これによって、例えば生成AIからあるライブラリの使用を提案された場合、そのライブラリの脆弱性までさかのぼって検証できるようになります。生成AIを使った開発につきものであるセキュリティの問題を、より高い精度で担保できるはずです。
セキュリティは簡単。それを開発者たちの常識にしたい
清野:生成AIの登場によって開発者体験が根本から変わる中で、セキュリティ対策の必要性はますます増していきそうです。Sansanさんは数名という規模からプロダクトを作りはじめたと伺いましたが、セキュリティへの意識はその頃からありましたか?
藤倉:はい、意識自体はサービス開始時からありました。ただ初期の頃ってやっぱりお金がないんですね。なので意識はあっても実際には十分なセキュリティ対策ができないということはよくありました。年に1〜2回していた脆弱性診断でも、すべての機能を診てもらうと予算オーバー。直近に開発した機能のみに限らざるを得ない状況でした。その後会社にも経済的な基盤ができてくるとともに、意識に実態がだんだんと追いついてきたという感じです。
清野:ガイさんはもう25年ほど開発セキュリティに課題を感じ、試行錯誤してこられたことと思います。それほどまでにセキュリティという領域に注力されるのは、なぜなのでしょうか?
ガイ:セキュリティとは信頼である。私はそう考えています。我々の社会もそこで営まれている生活も、信頼で成り立っているのです。社会や生活が急速にデジタル化する今、その信頼を担保できるのはセキュリティしかない。私がセキュリティという領域にこだわるのは、こうした信念からです。
「セキュリティは大事だ」と言うだけなら、誰にでもできます。大事なのはみんな分かっているんです。しかし大変だから実現できない。私が成し遂げたいのは、大変なセキュリティをもっと簡単に、もっと身近にすることです。「セキュリティ対策?こんなに簡単なんだから、しない手はないよね」と、世の中の開発者たちが口を揃えて答える世界にしたいのです。
清野:セキュリティの重要性を認識しつつも、資金面の制約などで後回しになってしまう。こうした企業の悩みに対して、ガイさんからアドバイスはありますか?
ガイ:みなさんは外出するとき、必ず自宅のドアに鍵をかけると思います。それと同じように、セキュリティでも、まずは無差別攻撃の対象になりやすい部分を重点的に保護することが重要です。
具体的にはオープンソースライブラリやサーバーに脆弱性があれば、それに対してパッチを当てましょう。それから権限の管理を徹底するのです。その後、会社が成長すれば、標的型攻撃の対象になるリスクも高まります。しかしその頃には、ある程度資金的な余裕もできているはずです。この段階であらためてセキュリティの範囲を広げ、より重点的に目配りできる体制を整えていくという流れが良いと思います。
「生成AIは100%信頼できない」前提でセキュリティ対策を
清野:まずは基礎的なところからしっかり固めていくことが大切なんですね。生成AIは有用だけれども、生成されるコードが十分に信頼できるかは分からない。利用にはそれなりのリスクがある中で、どのような点に注意して導入すれば良いのでしょうか?
ガイ:Snykでもその点について議論を重ねています。最優先とすべきはセキュリティの確保ですので、藤倉さんがおっしゃるように生成AIを100%は信頼せず、生成されたコードを入念にレビューするというのは正解だと思います。
ここで注意したいのが、生成AIが書いたコードの脆弱性を可視化するのは想像以上に難しいということです。脆弱性の要因はハルシネーションに限りません。生成AIは基本的に、人間が書いたコードを元にしてコードを生成しています。元となるコードを書くのが人間である以上、100%セキュリティが担保されることはありえないのです。当然、生成AIを開発に活用してアプリケーションが完成しても、脆弱性は様々なところに潜んでいます。その一つひとつを完全に把握することもできません。
最近では多くの方々が、このような脆弱性のリスクに懸念を示しています。しかし、それに対してどう対応すべきかという答えは出ていません。今ようやく議題にのぼり、議論がはじまったテーマだと言えるでしょう。
清野:生成AIが書いたコードに対して十分なセキュリティを担保するのが、いかに難しいかということですね。今後生成AIが担う割合が増えていくにつれて、その困難さはより浮き彫りになっていくでしょう。そんな中で、企業や開発者は具体的にどのようなアプローチをしていけば良いのでしょうか?
藤倉:我々はシステムの中に、相当な数の委託された個人情報を保存しています。仮にこれらがすべて漏えいしてしまったとしたら、会社は致命的なダメージを受けることになるでしょう。そのためセキュリティチームが行った脆弱性診断やペネトレーションテストの結果は開発チームにも共有し、詳細にフィードバックをしてセキュリティへの意識を高めてもらっています。
ただ、もちろんそれだけでセキュリティは担保できません。セキュリティの専門人材は希少であり、セキュリティチームを作ること自体が非常に困難だという問題もあります。こうした場合にお勧めしたいのが、初期のSansanのように外部のベンダーさんにレビューや脆弱性診断をお願いすることです。資金面の制約から一部のテストのみに止まったとしても、自社のセキュリティレベルを客観的に把握するきっかけになるからです。
清野:ガイさんはいかがでしょうか。企業がゼロからセキュリティ対策に取り組むとき、良いアプローチ方法はありますか?
ガイ:企業がセキュリティ対策を行うときに重要なのは、リスクに優先順位をつけることです。生成AIによる開発にはリスクが山積みで、そのすべてをカバーするのは現実的ではありません。数あるリスクの中でも、最も自社の脅威になりそうなものに標的を絞りましょう。そのリスクを数値に落とし込んで可視化すれば、あとはどう修復していくかを決めれば良いだけです。セキュリティ対策における最初の一歩としては、これで十分です。Snykがその一歩をともに踏み出すパートナーになれたなら、これよりうれしいことはありません。
参加者からの質疑応答も時間いっぱいまで上がり、熱気冷めやらぬ雰囲気のまま幕を閉じた本イベント。イベント終了後のオフライン会場では懇親会が開かれ、食事やドリンクを片手に、登壇者・参加者の垣根を超えた交流、そしてセキュリティの未来についての活発な議論が続きました。
編集後記
生成AIの登場は効率的な開発を実現する一方で、セキュリティ面の懸念点も飛躍的に増やしました。せっかくの便利さが、セキュリティ対策で打ち消されてしまう。そのような矛盾を解消してくれるSnykは、これからの開発に必要不可欠な存在なのだと感じました。Snykを使えば、生成AIの便利さと開発者の創造性が最大限に発揮されるようになるでしょう。その相乗効果で先進的なプロダクトが次々と生み出されていく未来を思うと、期待に胸がふくらみます。
取材/文:株式会社TokyoEdit
撮影:海老澤芳辰