Shikata Ga Nai

Private? There is no such things.

Running MobSF SAST using Gitlab CI Serviceをまとめてみた

Hello there, ('ω')ノ

 

Gitlab CIを使用してMobSF SASTを実行する方法を。

 

記事:

 https://waristea.medium.com/running-mobsf-sast-using-gitlab-ci-service-7c3ac3a48648

 

1.導入:
GitLab CIとMobSFを統合する方法を紹介。

 

2.MobSFについて:
- モービルセキュリティフレームワーク。
- Android/iOS/Windowsのモービルアプリケーションのペネトレーションテスト、マルウェア分析、セキュリティ評価を自動化。
- 静的・動的解析対応。
- REST APIを提供してCI/CDやDevSecOpsパイプラインとの統合をサポート。

 

3.MobSFの標準的な利用方法:
- Dockerやスクリプトを使ってWebサイトとしてMobSFを動作させる。
- ダッシュボードまたはREST APIを使ってAPKをアップロードする。

 

4.新しい方法:
- 専用のマシンなしでMobSF SASTを使用。
- GitLab CIを使ってMobSF Dockerイメージを一時的なサービスとして実行。
- 結果はGitlab CIのログやセキュリティダッシュボード(Defect Dojoなど)で表示可能。

 

https://docs.gitlab.com/ee/ci/services/

 

https://github.com/DefectDojo/django-DefectDojo

 

5.このアプローチのインスピレーション:
- SolutoのMobsf-CI Githubプロジェクト。Docker composeとMobSFのREST APIを利用。
- GitLabユーザー向けにシンプルかつ即座に利用できる新プロジェクトを作成。

 

https://github.com/Soluto/mobsf-ci

 

6.実装の詳細:
- 主要な2つのファイル:`.gitlab-ci.yml` と `scan.rb`。
- `.gitlab-ci.yml`は、リポジトリ更新時のコマンドをGitlab CIに指示。
- `scan.rb` は、MobSFサービスにAPKを送信するためのRubyスクリプト。

 

7.実装手順:
  1. プロジェクトのリポジトリをコピー(任意)。
  2. `.gitlab-ci.yml.template` の内容を変更し、APKを含むリポジトリに適応。
  3. Gitlab CIのログやセキュリティダッシュボードで結果を確認。

 

Best regards, (^^ゞ