Falco + Nginx プラグイン開発:Falcoya君の28日目から32日目

〜 OSSはコードだけじゃない、ポリシーと文化も育てる 〜

前回(23〜27日目)の振り返り

前回は「コードを書く」より「整理と改善」に時間を使いました。

  • CI/CDの権限修正とセキュリティ強化
  • プロジェクト管理ドキュメントの整備
  • 検知ルールのテスト追加と精度検証
  • ドキュメントの再構成

OSS開発の裏側は、派手な機能追加ではなく、地味な改善と可視化に支えられていることを強く実感しました。

Day 28(8/4)— プロジェクト方針を見直す

ここまで3週間以上走り続けて、僕は一つの不安にとらわれていました。
「進んでいるのに、どこに向かっているのかが見えなくなってきた」という感覚です。

確かにコードは動き出しているし、NginxログをFalcoに食わせることもできた。
でも日々は「エラーを直す」「ノイズを減らす」といった目の前の課題に追われ、
「そもそもこのプラグインはどんな姿を目指すのか」が置き去りになっていたのです。

迷いの背景

  • 機能の優先順位が曖昧:SQLiやXSSの検知を進めるべきか、ノイズ削減を優先すべきかで揺れていた。
  • 利用者像がぼやけていた:Nginxユーザー全員を対象にするのか、Falcoユーザーの一部に絞るのか。
  • ドキュメントが増えて混乱:READMEやContributing Guideなどが散らばり、何が最新でどれを優先するべきか不明確だった。

見直しのプロセス

TK:「進むスピードだけじゃなく、進む方向も見直さないとな。」
僕:「なるほど、プロジェクトには方位磁針が必要だ。」

Markdownのメモを開き、次を整理しました。

  1. 目的:「FalcoでNginxの攻撃パターンを可視化する」
  2. MVP:「標準的なNginxログ形式に対応し、SQLi/XSS/Path Traversalを検知」
  3. 余地:「ユーザーが独自ログに対応できる拡張ポイントを残す」

結果

  • 「プロジェクト方針メモ」として残し、READMEに「解決する課題」を追記。
  • 利用者像を「FalcoユーザーでNginxを使う人」に絞り込み。
  • タスクを「検知ルール強化」と「ノイズ削減」の二本立てに整理。

感想

OSSは「何を作るか」を明確にすることで仲間が集まる。コードだけでなく言葉がコンパスになる。

Day 29(8/5)— 実装と改善の繰り返し

この日は再びコードに集中。ログ解析処理を見直し、テストケースを追加しました。

結果は半々。SQLiは検知できたけど、XSSはすり抜け、無害なログも誤検知。

僕:「改善したつもりが、別のところが壊れました。」
TK:「OSS開発はモグラ叩きだ。焦らず一つずつだ。」

感想

失敗も改善も小さな積み重ねが力になる。進んでいる実感が自信に変わる。

Day 30(8/6)— ドキュメントに救われる

数日前に自分で書いたコードの意図を忘れ、立ち往生。
助けてくれたのは開発ノートでした。

「この条件式は誤検知を避けるため」と残していた一文を読んで、迷わず修正できた。

TK:「未来のお前を助けるのはドキュメントだ。」
僕:「ドキュメントはタイムカプセルですね。」

感想

ドキュメントはOSSの生命線。未来の自分と仲間への贈り物だ。

Day 31(8/7)— ポリシー更新の日

今日はプロジェクトのルール作りに時間を費やしました。
レビュー手順やテスト必須化を明確にしたのです。

僕:「コードよりルールを書いてる時間の方が長いかも。」
TK:「それがOSSだ。ルールは文化を守る仕組みなんだ。」

感想

OSSは文化。文化を形にするのがポリシー。曖昧さをなくすことで仲間が安心して参加できる。

Day 32(8/8)— OSSは人のために

ふと気づいたんです。僕はFalcoにNginxログを読ませているけれど、本当の目的は誰かが安心して攻撃を検知できるようにすることだと。

エラーに泣き、ノイズに悩み、ドキュメントを書き続ける。
その全部は未来のユーザーのための投資なんだと実感しました。

感想

OSSはコードではなく信頼の積み上げだ。

28日目から32日目で行ったタスクと作成したドキュメント

実装タスク

  • ログ解析処理の改善とテスト追加
  • 検知ルールの精度調整(SQLi/XSS再検証)
  • バグ修正と改善の繰り返し
  • CI/CDの小修正

作成・更新したドキュメント

  • プロジェクト方針メモ(MVPと利用者像を明確化)
  • Contributing Guide追記(レビューとテスト必須化)
  • ポリシー更新記録
  • 開発ノート追記(修正理由と履歴)

まとめ

この「28日目から32日目」は、実装だけでなく方針・文化・信頼を整備する期間でした。
OSSはコードの集合体であると同時に、文化の集合体でもある。

僕はまだ未熟だけど、失敗と学びを記録することで「人に使ってもらえるOSS」に一歩ずつ近づいている気がします。