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

LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み...

LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering

2026/02/23
OSS開発者は今何をするべきか?ソフトウェアサプライチェーン侵害対策を考える
スポンサーセッション
https://flatt.connpass.com/event/395359/

Avatar for Yuya Takeyama

Yuya Takeyama

June 23, 2026

More Decks by Yuya Takeyama

Other Decks in Technology

Transcript

  1. 自己紹介 © LayerX Inc. 竹山 雄也 (@yuya-takeyama) 株式会社 LayerX コーポレートエンジニアリング室

    アプリケーショングループ マネージャー 最近の趣味は重いものを背負っての散歩 2
  2. アプリケーショングループの担当領域 © LayerX Inc. 全社横断のクラウド運用 AWS Organizations, IAM Identity Center

    など 社内システムの開発とプラットフォーム運用 ID 基盤、権限管理、各種自動化 CI/CD パイプライン AI 関連ソフトウェア等の導入・運用 n8n, LiteLLM, Forgejo など 各ツールをつなぐ連携用ソフトウェアの開発も含む コーポレートデータ基盤の構築・運用 Snowflake, Snowpark, dbt 7
  3. リポジトリ構成 リポジトリ 主な中身 アプリケーション用 Monorepo アプリケーションコード, Dockerfile, Terraform, 権限管理 データ基盤用

    Monorepo dbt models、Snowpark scripts 個別リポジトリ 一部の古いアプリケーション Monorepo への移行により、いずれ無くなる想定 © LayerX Inc. 8
  4. 権限管理もコードで扱う © LayerX Inc. 権限管理の設定ファイルもモノレポで管理 SmartHR 上の属性情報を元に、擬似的な ABAC システムを構築 Terraform

    を使った CI/CD パイプラインで Microsoft Entra ID に適用 Blog: 生産性とガバナンスを両立したグループ管理のため、SmartHR上の属性情報を元 に擬似的なABACシステムを構築した話 9
  5. Security fix をちゃんと取り込む © LayerX Inc. Dependabot では security fix

    のみを update Renovate と比べてタイムリーに Pull Request を作成してくれるため Security fix 以外は Renovate で update lock ファイルの更新がうまくできないものは GitHub Actions で自動 update & push それでも難しいものは Agent Skill remediate-dependency-alerts で対処 ライブラリ以外 (n8n 等) は GitHub の Security Advisory を RSS にして Slack で通知 12
  6. 依存関係を pin する © LayerX Inc. ライブラリは pnpm-lock.yaml , go.sum

    を普通に活用 GitHub Actions の pinning を CI で強制 GitHub の Rulesets で org 全体に共有 workflow を適用 共有 workflow で pinact を実行し、pin されていない action を検知 Dockerfile や Terraform で指定する Docker イメージも sha256 で指定 CI/CD 等に必要なツールは aqua によって checksum を検証 LayerX では pinact と aqua の作者 @suzuki-shunsuke さんをスポンサーしています Blog: GitHub Actions のサプライチェーンリスクと OSS 作者へのスポンサーシップ 13
  7. Cooldown © LayerX Inc. リリースから N 日以内のパッケージ類はインストールしない pnpm: minimumReleaseAge リリース直後の

    security fix を取り込む場合は人間が確認 確認後、 minimumReleaseAgeExclude をバージョン付きで指定 Renovate: minimumReleaseAge Dependabot: cooldown.default-days 14
  8. 少ない技術の組み合わせで多くのことを実現する © LayerX Inc. 使用する言語、フレームワーク、ライブラリ Web アプリケーションは原則 TypeScript 並行処理のパフォーマンス上の理由などでどうしても必要なところは Go

    Snowflake の Snowpark では Python (エコシステムにおける「ふつうの選択肢」 ) 使用するツール TypeScript であれば pnpm, Biome, Vitest 使用するサービス Lambda, API Gateway, DynamoDB 等 アーキテクチャ、実装パターン 17
  9. なぜ技術を絞るのか © LayerX Inc. 元々は、少ない人的リソースで多くのアウトプット・アウトカムを産むことが目的 アプリケーショングループは現状 2 名のみ 原則として Terraform

    と Docker だけであらゆるアプリケーションをデプロイ 後にフロントエンドや Lambda@Edge のためのパイプラインは追加 (zip でのパッケージングが必要) Amazon Bedrock AgentCore Runtime への対応は最小限の拡張で可能だった (Docker なので) 18
  10. 技術を減らすことによるメリット © LayerX Inc. Security fix やアップデートに関わる作業を最小化できる アプリケーションが増えてもエージェントの力などでスケールしやすい コーディングエージェントによる出力が安定しやすくなる 雑に

    plan させるだけでも、だいたい同じ構成で拡大再生産できる 選択肢が多いほど、出力される技術がブレやすくなる 人間としてもそれぞれの技術についてより深く理解して使用することにつながる 19