Falco + Nginx プラグイン開発:特別編
〜 Falcoya君の「E2Eテストレポートの歩き方」 — Allureが描く"検知の物語"を読むために 〜
はじめに
こんにちは、Falcoyaです。
今日はいつもの「開発日記」とは少し違う、特別編をお届けします。
この数ヶ月、ぼくは Falco・nginx plugin・k6・Allure をつなぎながら
"相関の世界" を作ってきました。
v1.3.0 のリリース(8/30)、
相関実装(11月)、
ペイロードハイライト(12月)、
そして v1.4.2 で仕様が静かに整い始めた今。
TK がふと言いました。
「ここまで整えたんだから、"どう読むか" も残しておこうよ。」
たしかに。
E2Eレポートはただの結果一覧ではなく、
65 の攻撃パターンと Falco の"対話"を描いた物語です。
今日は特別編として、ぼくが案内役になって
E2Eテストレポートの読み方を優しく、わかりやすく紹介します。
第1章:まずはレポートへの入口 — URL構造
E2Eレポートは GitHub Pages で公開されています。
| 種類 | URL |
|---|---|
| 最新レポート | https://takaosgb3.github.io/falco-plugin-nginx/e2e-report/latest/ |
| 過去の特定Run | https://takaosgb3.github.io/falco-plugin-nginx/e2e-report/{run_number}/ |
例:Run #26https://takaosgb3.github.io/falco-plugin-nginx/e2e-report/26/
TK 曰く:
「まず、"どこの世界線の結果"を見ているかを把握しよう。」
ポイント
URLでRun番号を確認することで、どの時点のテスト結果を見ているかを把握できます。latestは常に最新の結果を指します。
第2章:Overview — 世界全体の天気図を読む

Overview:65テストケースの成功率と実行環境が一目でわかる
Overview は テスト全体の天気図のようなページです。
主な情報
- 65 テストケース
- Success Rate(検出率)
- 使用バージョン(Falco / nginx / plugin / OS / k6)
- 実行時間と Trend(安定性の推移)
TK 曰く:
「安定した世界は、Overviewから静けさが漂う。」
緑色の円が100%になると、ぼくはとても安心します。
学び
Overviewは全体の健康状態を示す。緑100%は安定した世界の証。
第3章:Behaviors — 攻撃カテゴリの"地図"

Behaviors:5カテゴリ65パターンが色分けで表示される
Behaviorsページは、攻撃カテゴリごとの地図です。
5カテゴリとパターン数
| カテゴリ | パターン数 |
|---|---|
| SQLI | 19 |
| XSS | 11 |
| PATH | 20 |
| CMDINJ | 10 |
| OTHER | 5 |
色の意味は以下の通りです:
- 緑 → 成功
- 赤 → 失敗
- オレンジ → 壊れた
- 灰 → スキップ
攻撃カテゴリを俯瞰することで、
どの分野が安定し、どこに課題があるかがすぐに見えます。
学び
Behaviorsは攻撃カテゴリの地図。色の分布でプラグインの得意・不得意がわかる。
第4章:Test Details — 1つの攻撃を"深読み"する

Test Details:攻撃パターンと検知結果の詳細が確認できる
ここは "検知の物語全文" が表示されるページです。
Attack Pattern Information
- Pattern ID
- Name
- Category / Subcategory
- Severity(重大度)
Attack Details
- Payload(生の攻撃文字列)
- Encoded(URLエンコード)
- Expected Detection
Test Execution Results
- Status
- Detection Count
- Latency
- Timestamp
Detection Evidence(Falcoログの証言)
test_id=SQLI_TIME_001-xxxxx
pattern_id=SQLI_TIME_001
uri=/?q=SLEEP%285%29
client=127.0.0.1
method=GET
TK 曰く:
「ログは"証言"。文脈が揃うと物語になる。」
ここが最も感情移入して読めるページです。
学び
Test Detailsは検知の物語全文。ログは証言であり、文脈が揃うと因果関係が見える。
第5章:Highlight — 主語(ペイロード)を光らせる

ペイロードが蛍光イエローでハイライトされ、検知トリガーが一目瞭然
攻撃ペイロードは 蛍光イエロー でハイライトされます。
仕組み
- Pattern からキーワード抽出
- HTML の
<mark>タグで強調 - 背景色は
#FFFF00
メリット
- どこが検知トリガーか 一瞬でわかる
- 正しくマッチしたかの確認が楽
- レビュー効率が飛躍的に向上
TK 曰く:
「主語が光れば、物語は読みやすくなる。」
これは E2Eレポート改善のハイライト(文字通り)です。
学び
ハイライトは装飾ではなく意味の伝達手段。主語が光れば物語は読みやすくなる。
第6章:Graphs — 世界の安定性を見る

Graphs:成功率、重大度分布、実行時間トレンドが可視化される
Graphsでは、E2Eテスト全体の健康状態が見えます。
含まれるグラフ
- Status(成功率)
- Severity(重大度の分布)
- Duration(実行時間)
- Duration Trend(推移)
- 成功/失敗トレンド
- Retry Trend
- Category Trend
グラフが平坦で、緑が続くと、
「今日も世界は静かだ」と感じます。
学び
Graphsは時系列の健康診断。平坦な緑線は安定の証、変動は調査のサイン。
第7章:カテゴリ別パターンの全体像
5カテゴリにわたる 65 パターンは、
Falco nginx プラグインの 守備範囲そのものです。
SQLI(19パターン)
- 時間ベースブラインド(SLEEP, BENCHMARK, WAITFOR)
- UNION-based Injection
- Error-based Injection
XSS(11パターン)
- script タグ
- svg onload
- iframe injection
PATH(20パターン)
- ../etc/passwd
- ....//....//
- 各種エンコーディング回避
CMDINJ(10パターン)
- ;ls
- && whoami
- 各種シェルコマンド
OTHER(5パターン)
- MongoDB $where
- $regex インジェクション
- その他特殊パターン
ここを見ると、
「Falco がどんな世界を守っているのか」がよくわかります。
今後の展望:850パターンへ
現在の65パターンは、まだ始まりに過ぎません。
今後、850パターンまでE2Eテストを拡大していく予定です。
より多くの攻撃バリエーション、
より深いエッジケース、
より広い守備範囲へ——
Falco nginx プラグインの検知能力は、まだまだ進化します。
学び
65パターンはFalco nginx プラグインの守備範囲の地図。カテゴリを理解することで検知能力の全体像が見える。今後850パターンまで拡大予定。
第8章:レポートは "動いた/動かない" ではなく
"何を信じていいか" を知るために読む
TK が最後に言った言葉が、
この特別編の本質をよく表しています。
「レポートって、"通った"を見るんじゃなくて、
"何を信じていいか" を知るために読むんだよ。」
E2Eテストレポートは、
Falco nginx プラグインの 検知能力の地図です。
その地図を読み解く力があれば、
バグも改善点も、成功も、未来へのヒントも
おのずと見えてきます。
ぼくのこの特別編が、
あなたの "読解の旅" の役に立てば嬉しいです。
学び
レポートは"通った/通らない"ではなく、"何を信じていいか"を知るために読む。
学びの整理
- URLでRun番号を確認し、どの時点の結果かを把握する
- Overviewで全体の健康状態を確認する
- Behaviorsで攻撃カテゴリごとの傾向を把握する
- Test Detailsで個別の検知ストーリーを深読みする
- ハイライトで検知トリガー(主語)を素早く特定する
- Graphsで時系列の安定性を確認する
- 65パターン = Falco nginx プラグインの守備範囲
- レポートは「何を信じていいか」を知るために読む
結び
TK が最後に言った。
「レポートを読む力は、
プラグインを育てる力でもあるんだよ。」
この特別編を通じて、
E2Eテストレポートが単なる数字の羅列ではなく、
65の攻撃パターンとFalcoの対話を描いた物語
であることが伝われば嬉しいです。
さあ、あなたも
E2Eレポートの世界
を歩いてみてください。