# トレースの検索 {#trace-search}

トレース検索では、Takumi Runner が収集したトレースデータを検索できます。この検索機能により、指定した期間内のすべてのジョブから不審なアクティビティを検出することが可能です。

:::info
期間指定ではなく特定のジョブのトレースを検索する場合はジョブ詳細画面の[クエリタブの検索機能](/docs/ja/t/runner/features/trace-visualization.md#query-tab)をご利用ください。
:::

## トレース検索画面へのアクセス

Shisho Cloud コンソールにログインし、_Runner > トレース検索_ から開けます。

## 検索する {#how-to-search}

![トレース検索フォーム](/docs/ja/_md-assets/ce876a1c71-trace-search-search.png)

### 期間 {#date-range}

検索対象の開始日と終了日（UTC）を選択してください。1回の検索で指定できる期間は最大15日間です。

:::warning
トレースの保持期間は30日のため、それ以前のデータは検索できません。
:::

### 検索内容 {#search-criteria}

検索内容は一つ以上の条件で構成されます。

各条件はイベント種別とトレース内容を指定する必要があります。イベント種別を選択すると、指定できるトレースの内容がそのイベント種別に紐付くものに絞られます。

- トレース内容は完全一致で検索されます
- `*` の特殊文字を使うと、任意の文字列に一致します
- 一つの条件で、複数のトレース内容を指定した場合は AND 条件で検索されます

検索の条件が複数指定された場合、検索結果は各条件の結果の和集合となります。

### 実行

期間と検索条件を指定し、「検索」を押すと検索が実行されます。トレースのデータ量と検索の内容により数分かかる場合もあります。

## 検索結果 {#the-results}

結果ページには、サマリー統計と結果のデータが表示されます。結果のデータもこのページからダウンロードできます。

![検索結果](/docs/ja/_md-assets/40c051a1b8-trace-search-results.png)

### サマリー統計 {#summary-data}

- **一致したジョブ数** は、検索内容に一致したトレースイベントを含むジョブの数です。
- **一致したイベント数** は、検索内容に一致したトレースイベントの合計数です。

### 一致したジョブ {#matched-jobs}

**一致したジョブ** タブには、一致したトレースイベントを含むジョブの一覧が表示されます。一致したジョブのデータをダウンロードするには「`jobs.jsonl` をダウンロード」を押してください。

### 一致したイベント {#matched-events}

**一致したイベント** タブには、一致したトレースイベントの一覧が表示されます。一致したイベントのデータをダウンロードするには「`events.jsonl` をダウンロード」を押してください。

検索結果で表示及びダウンロードできるイベント数の上限は500,000件です。サマリー統計の数値や一致したジョブのデータは上限の影響はありません。

### 検索結果の保持期間 {#result-availability}

検索結果は 72 時間保持されます。過去の検索結果を確認するには画面右上の履歴ボタンを押してください。

![検索履歴](/docs/ja/_md-assets/b9671c16c4-trace-search-history.png)

### 月間の使用上限 {#search-budget}

トレース検索機能には月々の使用上限があります。単位は「日」で、各組織が1ヶ月で検索できる合計日数は1,000日です。使用量は毎月1日にリセットされます。

![月間の使用上限](/docs/ja/_md-assets/5032eda58f-trace-search-quota.png)

## 具体例

### axios ソフトウェアサプライチェーンの攻撃 - ホスト接続の検索

2026年3月に HTTP クライアントライブラリ axios の npm パッケージが侵害された攻撃がありました。この事例の詳細は [弊社のブログ](https://blog.flatt.tech/entry/axios_compromise) からご確認いただけます。

こちらと同等の攻撃が3日前に発生したとします。弊社のブログなどから、攻撃は `dangerous.example` に接続することがわかります（ここでは上記ブログに記載されている実際のホスト名とは異なる仮のホスト名を利用します）。

Takumi Runner で実行されたジョブに影響がなかったかを以下検索条件で確認します。

- **対象期間** - `<3日前> ~ <検索の当日>`
- **イベント種別** - `dns_query`
- **ホスト名** - `*dangerous.example`

![ホスト名検索](/docs/ja/_md-assets/ee3143f419-trace-search-search-hostname.png)

ホスト名には、サブドメインも一致するよう `*` を先頭に追加します。

検索を実行し、一致したジョブがあった場合は攻撃の影響があったと判断できます。

### GitHub Actions の侵害 - ファイルアクセスの検索

GitHub Actions が侵害され、認証情報が奪取される攻撃が何度か発生したことがあります。詳細は [弊社のブログ](https://blog.flatt.tech/entry/2026-github-actions-security-part1) に記載されております。

また同様の GitHub Actions の侵害があったとします。上記ブログなどから、代表的なパターンとして認証情報がメモリ（`/proc/<pid>/mem`）から読み取られることがわかります。もし影響があった場合、Takumi Runner では `/proc/<pid>/mem` のファイルにアクセスした痕跡（トレース）が残ります。

従って、以下検索条件で影響の有無を確認できます。

- **対象期間** - `<攻撃発生日> ~ <検索の当日>`
- **イベント種別** - `file_open`
- **ファイルパス** - `/proc/*/mem`

![ファイルアクセスの検索](/docs/ja/_md-assets/2c3f923826-trace-search-search-fileopen.png)

`<pid>` は固定ではないため `*` を利用して検索します。

検索を実行し、一致したジョブがあった場合は攻撃の影響があったと判断できます。
