Swift コードの品質を向上させるためには、コードベースが大きくなるほど自動化が不可欠です。CodeQL は GitHub が開発した静的解析ツールで、コードベース全体を検査して脆弱性やエラーを検出することができます。たとえば、データを安全でない方法で利用する、関数に危険な引数を渡す、機密情報を漏洩するなどの、コードにおける潜在的なセキュリティ問題を検出することが可能です。現在は、GoやPython、C++といった様々な言語がサポートされています。
この CodeQL、なんと Swift もベータサポートされています!本LTでは、CodeQL を用いて Swift コードの脆弱性とエラーを検出する方法を紹介します。
現在最新の Swift 5.10 にも対応しています。しかし、いくつかドキュメントにない対応が必要となります。それらを紹介するにあたって、自身のOSSアプリを公開する際「秘匿情報書いたりしてないかな.....」とドキドキしながら公開ボタンを押してどうなったか!!という小話と共に紹介します。
コストがかかって大変ですが、おざなりにはできないセキュリティチェック。まずは数行の設定を書くだけで利用できる便利なCodeQLをみなさんも始めてみませんか?みんなでフィードバックしていくことで安全な Swift コードを増やしていきましょう。