Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!...

開発者のためのGitHub Advanced Security入門セキュリティを向上させよう!/cndfpre2023-baba

Hirono Baba

July 25, 2023
Tweet

More Decks by Hirono Baba

Other Decks in Technology

Transcript

  1. アジェンダ ◼ 今日話すこと ◼ GHAS(GitHub Advanced Security)とは ◼ Code Scanningについて

    ◼ Secret Scanningについて ◼ Dependency reviewについて ◼ 対象者 ◼ GHASって何?なひと ◼ 組織でのセキュリティに課題を抱えているひと ◼ GitHubを扱うすべてのひと
  2. 開発者として考えなくてはいけない セキュリティのこと 企画 要件 定義 設計 実装 リリース 運用 テスト

    ◼ 脆弱性に気をつける ◼ コードの脆弱性 ◼ 使用ライブラリ、パッケージの脆弱性 など 誰が どこで 設計、実装の段階からセキュリティを採用すること Shift Left テスト 開発者全員で意識!
  3. Shift security left with developer-first tools Commit changes Submit Pull

    Request Update new branch Dependency Scanning: CVEの自動識別と修復 Secret Scanning: 公開されたトークンの検索と 無効化 Code Scanning: コード内の危険なパターンを 発見し警告する 新しいコードがメインブランチに導入される前に、 脆弱性を検出し、修正する
  4. GHASの設定 ◼ Settings > Code security and analisys ◼ リポジトリ単位でも組織レベルでも設定で

    きる ◼ 親階層の設定を継承する Enterprise Organizations Repo 各リポジトリ …
  5. シークレットをpushできないようにする Commit changes Submit Pull Request Update new branch Secret

    Scanning 新しいコードがメインブランチに導入される前に、 脆弱性を検出し、修正する Push protection ←プライベートリポジトリでは使えない ※2023年7月現在
  6. 依存関係の確認ができるツールたち Dependency graph プロジェクトの依存関係を視覚化 Dependabot alerts コードの依存関係にある脆弱性を通知する Dependabot security updates

    発見された脆弱性の修正案のPRを自動作成 Dependabot version updates 使用するパッケージのアップデートのPRを 自動作成 Dependency review PR上で依存関係の変更を視覚化 脆弱性の確認:GitHub Advisory Database GitHub によって脆弱性に関する情報が収集されるところ
  7. マージ前に脆弱性を検知したいなら… Commit changes Submit Pull Request Update new branch Dependency

    review Dependabot 新しいコードがメインブランチに導入される前に、 脆弱性を検出し、修正する
  8. Dependency review 脆弱性が検知されたら プルリクエストの段階 ではじかれる name: 'Dependency Review' on: [pull_request]

    permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v3 - name: Dependency Review uses: actions/dependency-review-action@v3 .github/workflowsにワークフローを追加