# GitHub Actions ワークフロー確認（GitHub Actions Studio）

ワークフローの YAML を貼ると、on（トリガー）、needs の依存の順に並んだジョブ、各手順の uses と run を表示します。利用者が書ける値を run に直接展開した箇所（スクリプト注入）、タグ・ブランチで指定された action、permissions の無いジョブなどを行番号つきで指摘します。完全なスキーマの検証や実行はしません。

- URL: https://tools.itlibra.com/ja/github-actions-studio
- 端末内で処理・アップロードなし
- 最終更新: 2026-10-26

## 使い方

1. ワークフローの YAML（.github/workflows の .yml）を貼り付けるか、ファイルをドロップします。「サンプルで試す」でも動作を確認できます。
2. ジョブと手順の一覧で、on・needs の依存の順・runs-on・matrix の組み合わせ数を確かめます。
3. 手順の一覧で、uses（action）と run の先頭の行を確かめます。
4. 「指摘」で重要度つきの一覧を見ます。注入と pull\_request\_target の組み合わせは高、サードパーティの未固定 action は中、そのほかは低です。
5. 指摘の一覧はコピーまたは保存できます。

## こんなときに

- PR のタイトルやコメントを run に直接書いていないか、マージの前に確かめたい
- サードパーティの action を、タグではなく完全な SHA に固定すべきか見直したい
- permissions を省いたワークフローの既定の権限を、書き直す前に確認したい
- needs の依存の順と matrix の組み合わせ数を、目で追わずに確かめたい

## できること

### スクリプト注入の検出

run と github-script の script で、PR のタイトル・コメント・ブランチ名など利用者が書ける値（github.event.issue.title など）を式で直接展開している箇所を、行番号つきで指摘します。

### 未固定の action の指摘

uses の版がタグ・ブランチの action を一覧にします。サードパーティは中、actions・github の公式は低（注意）です。完全な commit SHA で指定されたものは指摘しません。

### pull\_request\_target と checkout の確認

pull\_request\_target のトリガーで、PR の head を actions/checkout で取り出している組み合わせを高として指摘します。

### needs の依存と matrix の数

needs の依存の順に並べ、存在しないジョブへの needs と循環を指摘します。matrix は配列の積で組み合わせ数を数えます。

### 権限とタイムアウトの確認

permissions の無いジョブ、write-all、timeout-minutes の無いジョブを指摘します。


## 対応状況

| 機能 | 対応 | 補足 |
| --- | --- | --- |
| on（トリガー）・jobs・steps の読み取り | 対応 | — |
| needs の依存の順・循環・存在しないジョブの検出 | 対応 | — |
| uses の版（タグ・ブランチ・SHA）と docker:// のダイジェストの確認 | 対応 | — |
| スクリプト注入・secrets の表示・pull\_request\_target と checkout の組み合わせ | 一部対応 | 既知の文脈名と典型的な形だけを見ます。別の形の注入は見つけられません |
| permissions・timeout-minutes・式の括弧の確認 | 対応 | — |
| スキーマの完全な検証（キー名・型の全体） | 非対応 | 行いません。未知のトップレベルキーだけ指摘します |
| ワークフローの実行・action の取得・ネットワーク通信 | 非対応 | 通信しません。uses の中身（コード）は読みません |
| 再利用するワークフローの中身の展開 | 非対応 | 呼び出し先は読みません |

## 制限・注意事項

- 入力は 200,000 文字まで、ジョブは 100 件までです。超えた分は読み止めて通知します。
- スキーマの完全な検証はしません。誤字や型の誤りは指摘されなくても、GitHub が拒否することがあります。
- matrix は配列の積だけを数えます。include と exclude は数えません。式で書かれた matrix は数えられません。
- 指摘は GitHub の公式ドキュメントに沿う項目だけです。推奨は時期によって変わることがあります。

## プライバシーと安全性

ワークフローの YAML は、お使いの端末の中だけで処理されます。サーバーへ送信・保存されることはなく、ブラウザにも保存しません。使用状況の記録に内容やファイル名は含めません。

## よくある質問

### pull\_request\_target の何が危険ですか？

フォークからの PR でも、pull\_request\_target は基本ブランチの文脈で実行され、リポジトリの秘密にアクセスできます。そこで PR の head を checkout して実行すると、信頼できないコードが秘密を扱える場所で動いてしまいます。このツールはその組み合わせを高として指摘します。

### uses は SHA に固定すべきですか？

サードパーティの action はタグや main を作者が後から別のコードに向けられます。完全な commit SHA に固定すると、確認したコードが変わりません。GitHub の公式ドキュメントも SHA への固定を推奨しています。

### permissions は何を指定すればよいですか？

ジョブが必要とする権限だけを、read から書いてください（例: contents: read）。省くと既定のトークン権限に頼ります。その既定値はリポジトリの設定で変わることがあります。

### yaml の確認ツールとどう違いますか？

YAML 全般の構文は YAML・TOML スタジオで確認できます。このツールは GitHub Actions 固有の項目（トリガー・needs・uses・式）と、セキュリティ上の指摘に絞っています。

### このツールでワークフローを実行できますか？

いいえ。実行も action の取得もしません。ローカル実行ツールを使うか、GitHub 上で確かめてください。
