なかしょの技術日誌

業務では非MS系のものばかりですが、ここではMS系の技術やサービスを中心に書いていきたいと思います。

Azure Pipelines で Shift LeftなSwift開発を

2020年8月20日に開催されたYUMEMI.swift #9 ~テストと自動化~ でLT登壇をしました。

yumemi.connpass.com

発表した資料はこちら

www.slideshare.net

以下、発表資料の解説

f:id:nakasho_dev:20200825004228j:plain

DevOpsという言葉はだいぶIT業界に浸透してきており、実践している企業は多いのではないでしょうか。


f:id:nakasho_dev:20200825005030j:plain

では、DevSecOpsを知っている、または、実践している企業はどのくらいあるでしょうか。


f:id:nakasho_dev:20200825013627j:plain

DevSecOpsにはShift Leftという考え方があります


f:id:nakasho_dev:20200825013915j:plain

今回は、そのShift Leftを実現する一例を紹介します。


f:id:nakasho_dev:20200825014734j:plain

Azure DevOpsの機能にはCI/CDを実現するためのAzure Pipelinesがあります


f:id:nakasho_dev:20200825014855j:plain

Azure Pipelinesはコミュニティやサードベンダが提供する豊富な拡張機能があり、その中にWhiteSource Boltという機能があります。


f:id:nakasho_dev:20200825015301j:plain


f:id:nakasho_dev:20200825015924j:plain

この脆弱性を診断する機能をCIに組み込んでShift Leftを実現します。


f:id:nakasho_dev:20200825225250j:plain

拡張機能をインストールするとPipelinesのグループにWhitesource Boltが表示されます。


f:id:nakasho_dev:20200825230906j:plain

メールアドレス、企業名、国名を入力すると利用可能となります。


f:id:nakasho_dev:20200825231946j:plain

Pipelineへのタスクの登録は非常に単純です。 拡張機能で追加されたWhitesource Boltを登録するだけです。 一点、注意としては、CarthageやCocoaPodsなどでライブラリを取り込んだ後で実行しないと検査対象となりません。


f:id:nakasho_dev:20200825233018j:plain

さて、今回試したライブラリです。 とりあえずTrustKitを古いものにしてみました。 その結果がこちらです。


f:id:nakasho_dev:20200826000417j:plain

それぞれの項目の説明スライドです。


f:id:nakasho_dev:20200826001230j:plain

f:id:nakasho_dev:20200826001244j:plain

f:id:nakasho_dev:20200826001252j:plain

f:id:nakasho_dev:20200826001305j:plain

f:id:nakasho_dev:20200826001349j:plain

結果を見ると残念ながらSwiftのファイルはないようです。 TrustKitで使用しているReport出力用のjquery等が検出対象となったようです。 Swiftファイルで対象となるファイルをみつけたかったのですが、見つかりませんでした。

ですが、簡単な手順でOSS脆弱性やライセンス違反のリスクなどを認識することをCIに組み込めるのは魅力的ではないでしょうか。

参考資料

whitesource.atlassian.net

docs.microsoft.com