CI スクリプトインジェクションの修正

ローカル CI ジョブを修正し、メタデータを文字列のまま扱いながらプレビュービルドを維持します。

サイバーセキュリティLinux

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

「CI スクリプトインジェクションの修正」は、ターミナルでコマンドを入力できる初学者向けの実践コースです。プレビュービルドが投稿者のタイトルを実行可能なシェルの命令として扱ってしまいます。メタデータを処理する本来の機能を保ちながら、この問題を解消します。

1 つのガイド付きラボで通常の業務フロー、実際の Bash 実行の追跡、短い JSON とシェルの修正を学びます。1 つのチャレンジでは同じ方法を複数行のリリースノートに応用します。コース全体の目安は約 85 分です。

学習内容

  • イベントのデータが生成されたシェルソースに入る経路と置換の境界を把握する。
  • 環境変数でメタデータを渡し、引用符付きで安全に展開する。
  • 句読点、シェルコードに見える文字列、末尾の改行を保つ。
  • 使い捨ての作業領域で実際の成果物とチャネルの完全性を検証する。

このコースの対象者

開発やセキュリティの初学者、CI を学びたい方が対象です。基本的なターミナル操作に慣れている必要がありますが、Git や CI の経験は不要です。チャレンジで使う JSON、Bash 構文、ファイルの書き込み方はガイド付きラボで説明します。

LabEx が設定済みの Linux ターミナル、ローカル runner、Topology ページを提供します。編集するのは短い 2 ファイルです。ビルドは隔離コンテナ内で実際の Bash を実行します。ホスト型サービスのアカウントやデプロイ認証情報、実際のリリースは使いません。

よくある質問

GitHub アカウントは必要ですか?

不要です。合成イベントと仕様を説明した小さなローカルジョブ形式を使い、ホスト型 CI サービスなしで入力がシェル命令になる仕組みを学びます。

コードを書きますか?

短い JSON の環境マッピングと Bash スクリプトを修正します。必要な構文は使用前に説明します。

完了はどのように判定しますか?

提出したジョブ自体を変更せず、通常と悪意ある入力で正確なメタデータ成果物を生成し、プレビューチャネルを維持できるか確認します。検証は一時作業領域を使い、レポートやログのコピーは求めません。

講師

labby
Labby
Labby is the LabEx teacher.