stille-hunter は、「自社のデータが、いつ・どこから漏れたのか」を知るためのツールです。 本物そっくりの偽の会員レコード(カナリア)に一意のトークンを埋め込み、自社のデータベースやエクスポートに仕込んでおきます。 そのカナリアが外の世界に現れたら、それは情報漏えいの確かな証拠です。
仕込んだあとは、静かに罠を張って待つだけ。読み取り専用・検索専用で、他人のシステムには一切触れません。
カナリアトークン 漏えい検知 流出元の特定 読み取り専用 防御専用 Apache-2.0
GitHubで見るstille-hunterの全体像
しくみ
カナリアを生成する
本物そっくりの偽の会員レコードをつくり、1件ずつに一意のトークンを埋め込みます。
自社データに仕込む
データベース、エクスポートファイル、テーブルなど、守りたいデータの中にカナリアを紛れ込ませます。
台帳を手元に残す
「どのトークンを、どこに仕込んだか」の対応表(台帳)は極秘として手元だけに保管し、コミットも配置もしません。漏えいが起きたとき、流出元を逆引きするために使います。
検知 ― 2つの経路
着信検知
自社ドメインのカナリア宛てにメールが届けば、キャッチオールで即座に検知します。いちばん速い経路です。
設定:detect=inbox
検索検知
トークンを流出ソース(Have I Been Pwned、コード検索など)で照合します。フリーメールのアドレスを使ったカナリアも網羅できます。
設定:detect=search
どちらかの経路でカナリアが見つかると、stille-hunterは流出を確定し、どの仕込み(seed_tag)が漏れたかを示して、終了コード1で知らせます。 台帳と照らし合わせれば、どのデータベースやファイルから漏れたのかを突き止められます。
安全への設計
- 防御専用・読み取り専用 — 自社のデータに罠を張って待つだけで、他人のシステムには一切触れません。
- 検索専用 — 外部の流出ソースは照合のために検索するだけです。
- 標準ライブラリのみ — 余計な依存を持たず、導入先の環境を汚しません。
- 署名付き
Human-directed, AI-built ― 人が方向づけ、AIがつくる
stille-hunterは、kevwardと同じく「人が方向づけ、AIがつくる(Human-directed, AI-built)」進め方でOSSを運営する実験です。 目標を定め、判断し、すべての変更をレビューするのは人。実装の多くはAIアシスタントが担います。
攻撃者は数多く、意欲も高い。一方で、熟練した防御側は不足しています。 人が方向づけたAIがその差を埋められる——それがstille-hunterの賭けです。
だから、AIアシスタントによる貢献も歓迎します。もちろん人の貢献も大歓迎です。 すべての変更は、CI(ruff+テスト)と人のレビューという同じ関門を通ります。
ライセンス
stille-hunterは、Forex Robotics株式会社がオープンソース(Apache-2.0)で開発・公開しています。 同じく防御専用のサーバ向けツール kevward もあわせてご覧ください。