$30 off During Our Annual Pro Sale. View Details »

GitHub Advanced Security for Azure DevOpsと.NET Security

GitHub Advanced Security for Azure DevOpsと.NET Security

GitHub Advanced Security for Azure DevOps(GHAzDo)パブリックプレビューを試してみた話のご紹介スライド

KAMEGAWA Kazushi

July 11, 2023
Tweet

More Decks by KAMEGAWA Kazushi

Other Decks in Programming

Transcript

  1. GitHub Advanced Security for Azure DevOps
    と .NET Security
    かめがわ かずし(@kkamegawa)

    View Slide

  2. Who am I?
    personal:
    name: KAMEGAWA Kazushi(Last-First)
    alias: kkamegawa
    community:
    MVP: Microsoft MVP for Developer Technologies(2009-)
    Users Group: Team Foundation Server Users Group
    URL: https://dev.azure.com/tfsug/tfsuginfo
    Blog:
    URL: https://kkamegawa.hatenablog.jp
    devblog radio: https://devblog.connpass.com/

    View Slide

  3. This contents based on 2023/7/11

    View Slide

  4. GitHub Advanced Security for Azure DevOps(GHAzDo)
    2022/11のIgniteでプライベートプレビュー開始
    2023/5のBuildでパブリックプレビュー開始
    https://aka.ms/advancedsecurity-signup
    GitHub Advanced Security for Azure DevOps 機能を構成する - Azure Repos | Microsoft Learn
    ※ Public Preview申し込んでも音沙汰なかったから、お付き合いのある営業の方いたらその方が早いかも…
    機能的にはGitHubと同じ
    CodeQL
    Dependency Alert
    Secret Scanning

    View Slide

  5. 課金
    90日以内にコミットしている人数x$49でAzure
    Subscriptionにチャージされる
    レポジトリ数は無関係(重複課金されない)
    GitHub Advanced Security for Azure DevOps への課金 - Azure Repos | Microsoft Learn
    2023/7/1 8/1 9/1 10/1
    10人 0人 8人
    有効 無効
    5人
    有効
    5人
    有効

    ※5人は8人のrepoに含まれる
    8人

    View Slide

  6. Secret Scanning
    アップロードされたコードからアクセスキーの検出
    Gitコミット時もチェック
    AWS S3, Azure Blob, OpenAI API Key等対象
    値をちょっと変えても検出される
    サポートされているシークレット値
    サンプルや誤検出である場合、コミットメッセージに
    skip-secret-scanning:trueを追加

    View Slide

  7. 設定方法
    現在レポジトリ単位で設定(めんどくさい)
    Organization、Project単位の一括設定はない
    もちろんプレビュー有効にしていないorgでは出てこない

    View Slide

  8. GitHubのSecurity risk view
    こんなのAzure DevOps側にもほしいねぇ
    多分できるとしたらDefender for DevOps?

    View Slide

  9. GitHub Advanced Security for Azure DevOps
    ソースコード中の不用意なシークレットキー
    コミットをブロック

    View Slide

  10. CodeQL
    パッケージ依存関係スキャン
    NuGet, npm 等
    静的コード解析
    結構いいスペック必要(hosted Agentではつらいかも)
    ※100KL以上で16GB RAM/4 or 8 core推奨
    ローカルで動かすCLI版もある
    GitHub Advanced Security for Azure DevOps のコード スキャン アラート -
    Azure Repos | Microsoft Learn
    CodeQL によるコード スキャンについて - GitHub Docs
    CodeQL を実行するための推奨ハードウェア リソース - GitHub Docs

    View Slide

  11. CodeQLでの脆弱性検査
    CodeQL によるコード スキャンについて - GitHub Docs

    View Slide

  12. 検出されたリスク対処
    一つずつやらない/誤判定を決定
    今のところwork item連携はない(これは
    GitHubも同じ)

    View Slide

  13. YAML Pipeline
    ビルドができるプロジェクトで
    なくてはならない
    autobuildタスクで全ビルド
    カスタムビルドして解析対象のみ
    languagesに解析対象言語を
    指定(, で区切る)。現在11言語
    結果はrepos内に表示

    View Slide

  14. FAQ
    GitHubのレポジトリのスキャンできない?
     できません。Azure Reposのみ
     GitHubにあるAdvanced Security使ってください(課金は別)
    結果が見えないんだけど?
     共同作成者以上の権限を設定してください
     ちなみにGitHubでもRepo Adminなどの強い権限が必要です
    Dependabotないの?
     今のどころありません
    機能差はないの?
     ほぼないですが、CodeQL CLIは今含まれていないそうです(フィードバック済
    み)

    View Slide