KENRO導入事例インタビュー
トリコ株式会社は2018年に設立されたD2Cスタートアップ企業です。「私らしい美しさで、私をもっと好きになる」をコンセプトに、美容分析からパーソナライズするビューティーケアブランド「FUJIMI」を提供。2019年3月にパーソナライズサプリメント、2020年2月にパーソナライズフェイスマスク、2021年4月にパーソナライズプロテインをリリースしました。2021年2月には、株式会社ポーラ・オルビスホールディングスと株式譲渡契約を締結しグループ入りしたことを発表しています。
背景・課題
- 顧客情報を扱うECサイトを新規に開発するため(これまでは他社のECプラットフォームを使用)、よりセキュアなアプリケーション開発が求められていた
- 中途採用のエンジニアが中心で、セキュアコーディングの能力に個人差があった
効果
- 少人数の開発組織でも進捗を共有し合うなど各自が独力で学習し、技術力を高められた
- 実践的な演習を通じてセキュリティ意識が向上した。また、これまで実装に悩んでいた部分の対策を理解できた
今回はCTOの喜村慈英さん、フロントエンジニアの吉田純基さんにインタビューし、KENROを導入した経緯、感想、効果を伺いました。
自社ECカートの新規開発で、チームのセキュリティ能力のばらつきが課題に
――まず、「KENRO」を利用することになった背景を教えてください。
喜村慈英(以下、喜村さん):今までECサイトは外部のプラットフォームを使用していたのですが、以前から「自社でECカートシステムを開発しないか」という話が代表の花房からあり、私はそのためにトリコにジョインして既に走り出していた自社カートプロジェクトを牽引することになりました。
自社ECカート開発に関しては弊社のブログ記事で詳しく紹介されているので、是非読んでみてください。 【Engineer Talk Vol.2】新チームで挑む自社ECカート開発!
そこで課題になったのが「セキュリティ」。というのも、トリコのエンジニアチームは中途採用のメンバーが中心なので、セキュアコーディング技術にバラつきがありました。だからセキュリティに関する実装方針の議論のレベルを合わせたり、チームの知識のベースになったりするものが欲しかったんです。
また、特にECサイトでは個人情報やクレジットカード情報など機密データを扱うため、早急に一人ひとりの技術を底上げする必要もあると思いました。
そこで、みんなでIPAのセキュリティに関する試験を受けたり、セキュリティに関する本の輪読会をしたりしようかなと考えていたとき、たまたまTwitterで「KENRO」のプレスリリースを見かけました。
――「KENRO」を導入した決め手を教えてください。
喜村さん:私たちが普段開発で使っているGo言語に対応していて、実際にコードを書いて脆弱性を修正する演習(※)もあるため、すぐに実務で活かせそうだと思ったからです。また、導入事例として紹介されていた方は実は以前お世話になった方で、彼のお墨付きならきっと間違いないだろうと思ったのも決め手の一つです。
※編集注:「堅牢化演習」のこと。修正するソースコードはPython・Java・Go・PHP・Ruby・C#から選ぶことが可能。
PR(プルリクエスト)を出すときセキュリティを意識するように
――「KENRO」はどのように活用しているのでしょうか。
吉田純基さん(以下、吉田さん):まず6月はじめに実際にカートシステムを実装するエンジニア4人で利用を開始し、「6月末までには終わらせよう」という目標を立てました。その後、Slackの個人チャンネルで進捗を報告したり、わからないことは技術チャンネルで質問しあったりしていましたね。
ボリュームが多くてついていけるか不安に思っていたのですが(※)、実際に受講を始めたらGoに対応していることもあり、Goを普段書いているエンジニアにとっては割とサクサク進められました。スケジュール通り終わらせることができ、ちょうどいいボリュームだったと思います。
※編集注:KENROは事前に無償トライアルでコンテンツの一部を体験することができます。
――コンテンツの感想を教えてください。
喜村さん:私は今まで情報セキュリティスペシャリスト試験などの学習の一環としてセキュアコーディングを学習したことがあったのですが、今まで受けた研修とは異なり、実際の開発現場に近いコードを使って学習できたのが良かったですね。また、よく研修などに用いられるJavaやPHPなどの言語ではなく、普段使っているGoを利用して学べたので、とても参考になりました。
吉田さん:個人的にはオープンリダイレクトの脆弱性に関するコンテンツが良かったです。ブラウザをまたいだ認証など、実務の中でオープンリダイレクト対策の実装に関して悩む場面があったので、「KENRO」を学習することで対策の理解を深めることができました。
――ありがとうございます。「KENRO」の受講後、何か変化はありましたか。
吉田さん:PR(プルリクエスト)を出すときに改めてセキュリティを意識するようになりました。例えばReactを扱っていてもエスケープされない操作もあるので「ここはセキュリティ面で問題ないか」と立ち止まって考えて能動的に検索したり、KENROの学習コンテンツを見直したりしています。
今後は社内の他のメンバーも受講を検討
――今後、「KENRO」をどのように活用していく予定ですか。
喜村さん:今はカートシステムを実装するエンジニアのみしか受講していませんが、エンジニアチーム全体のセキュアコーディング技術を底上げするために、他のメンバーにも使ってもらいたいと思っています。エンジニアは今後も増えていくので、オンボーディングの一環として実施していけたらいいなと思っています。
また、1度受講して終わりではなく、先ほど吉田さんが言っていたように、何度か繰り返し受講して定着させていきたいです。
――ありがとうございます。最後に、「KENRO」に期待していることを教えてください。
吉田さん:追加オプション(※)のコースも気になっていていつか受講したいと思いつつ、堅牢化演習のソースコードの言語として「Node.js」にもいつか対応してもらえるとうれしいです。
編集注:2021年7月現在では発展コースとして「GraphQLの基礎とセキュリティ」「JWTの基礎とセキュリティ」「WebSocketの基礎とセキュリティ」があり、追加オプションとして購入可能です。