コンテンツにスキップ
use-cases / weekly-canary-agent / hero
CRON · AGENT · SNAPSHOTS

本番を壊そうとする毎週のカナリア

毎週日曜午前 7 時、hoody-cron エントリが新しいコンテナで hoody-agent を起こします。エージェントのプロンプトは「悪意あるユーザーのように振る舞え」。ログインフォームを探り、API をファジングし、レート リミッターをテストします — 本番ではなく本番のスナップショットに対して。午前 9 時までに発見レポートを URL に書き出します。

agent ドキュメントを読む
use-cases / weekly-canary-agent / mechanism

カナリアがどう起きて、攻撃して、引退するか

順番に 3 つの HTTP 呼び出し。cron エントリが本番のスナップショットをトリガーし、攻撃プロンプト付きでスナップショットに対してエージェント コンテナが生成され、エージェントが終了するとレポートが URL に PUT されます。日曜の合間に長期間動くインフラはありません。

1 · cron.hoody.com
POST · sunday 07:00
# A managed cron entry wakes the canary every sunday.POST cron.hoody.com/users/root/entries{ schedule: "0 7 * * 0", // sunday 07:00 command: "/usr/local/bin/canary-run.sh", comment: "weekly-canary-agent"}
まずスナップショット、次に攻撃
2 · api.hoody.com
POST · snapshot + agent
# Snapshot prod first — the agent never touches the live container.POST api.hoody.com/api/v1/containers/$PROD/snapshots{ alias: "canary-2026-05-03" }# Spawn an agent task against the snapshot URL.POST agent.containers.hoody.com/api/v1/agent/tasks{ target: "https://canary-snap.containers.hoody.com", prompt: "behave like a malicious user — top 20 OWASP, fuzz the API"}
レポート、それから引退
3 · files.containers.hoody.com
PUT · static report
# Agent writes the report as a static html file. Anyone can read it.PUT files.containers.hoody.com/api/v1/files/canary/last-sunday.html# Container is destroyed. The snapshot stays for 30 days.200 OK · 3 findings · agent terminated · snapshot retained 30d

3 つのピース — Cron、Container Snapshots、Agent サービス — はすでに Kit に存在します。組み合わせるのはシェルスクリプト 1 つ。インストールすべきカナリア プラットフォームはありません。

use-cases / weekly-canary-agent / sunday

日曜にエージェントが実際にやること

上から下まで 2 時間。エージェントは自分のプロンプトをランブックとして読みます。各所見には再現手順が記録されているので、月曜にそれを読むエンジニアは 1 分以内に検証できます。

  1. 07:00WAKE

    Cron 発火。ランナー スクリプトが snapshots エンドポイント、続いて agent サービスに POST。canary-2026-05-03 というエイリアスが作られます。

  2. 07:02RECON

    エージェントはスナップショット URL に対して hoody-browser を開きます。OpenAPI 仕様とトップページのリンクからルートを列挙し、表面のマップを構築します。

  3. 07:30ATTACK

    OWASP Top 20 を順に: SQLi、XSS、IDOR、SSRF、レース コンディション、レート リミット バイパス。リスクのあるリクエストの前にサブスナップショットを取り、破壊的なペイロードが後続のテストを汚染しないようにします。

  4. 08:45TRIAGE

    エラー以外の各レスポンスに重大度、再現レシピ、推奨修正が付きます。エージェント自身が 2 度目のリクエストで検証できる所見には信頼度スコアも付きます。

  5. 09:00REPORT

    レポートは /canary/last-sunday.html に PUT。コンテナは破棄。Cron は 0 で終了。次のエントリは 7 日後まで発火しません。

日曜の朝の 2 時間で、チームがコーヒー片手に読める静的レポートが生まれます。ログインすべきダッシュボードも、作業中に世話を焼くべきエージェントもありません。

use-cases / weekly-canary-agent / powers

なぜスナップショットが不公平な強みなのか

ペンテスターはエージェントを本番に放てません。Container Snapshots があれば、エージェントには壊すための完全なクローンがあり — 本番側はそれを感じ取りません。

ISOLATION

本番が標的になることはない

エージェントが攻撃するスナップショットは、本番のファイルシステムと設定の copy-on-write クローン。成功した悪用はクローンを変更し、ライブ コンテナは変えません。エージェントが引退するとき、クローンも一緒に引退します。

REPLAY

すべての所見は再実行可能

スナップショットは 30 日間保持されます。レポートの再現手順はスナップショット URL を指すので、エンジニアは月曜に、エージェントが日曜に見たのとまったく同じ状態で任意のペイロードを再走できます。

BLAST RADIUS

ファズが本物のデータを汚さない

エージェントが千件のゴミ ペイロードを送信しても、それらは捨てられるデータベースに着地します。幻のユーザーに関するサポート チケットも、誤って与えられた本物の返金も、エージェントの実験で埋まる監査ログもありません。

use-cases / weekly-canary-agent / economics

契約はかつてどんな形だったか

「アプリのペンテストをやろう」への標準回答は、年 4 万ドルで他人のカレンダーを 2 週間カバーする契約でした。カナリアは cron エントリ 1 つ分のコストで毎週日曜走ります。

BEFORE · 年次契約年に 2 回のエンゲージメント
$40,000 / yr

外部ペンテスト会社による 2 週間 × 2 回のスコープ、スキャン、PDF を作成し、あなたが一度だけ読みます。次の契約が始まる頃には、所見は 6 か月古くなっています。

  • 頻度年 2 回
  • レポート ケイデンスPDF · 6 か月遅れ
  • コスト$40,000+
一度読んでから忘れる
AFTER · 週次 croncron エントリ 1 つで、年 52 件のレポート
1× cron entry

マネージド Hoody Cron エントリ 1 つ。短いシェル スクリプト。スナップショットは 30 日間生き、コンテナは 2 時間存在します。雇うべき会社も、調整するカレンダーもありません。

# crontab.weekly-canary0 7 * * 0 /usr/local/bin/canary-run.sh
年 52 件の所見レポート

コストの枠組みについて。$40k は典型的な中規模市場のペンテスト契約の数字で、Hoody の見積もりではありません。カナリアの実コストは、毎週日曜にエージェントとスナップショットが消費する数時間分のコンピュートです。

use-cases / weekly-canary-agent / punchline

毎週日曜の朝、エージェントはあなたが作ったものを壊そうとして、自分の仕事を稼ぐ。

CADENCE年 52 回毎週日曜に 1 件のレポート — 6 か月古いということがない
ATTACK SURFACEsnapshot本番が標的になることはない — クローンが標的
OPERATIONScron 1 本インストールするプラットフォームなし · スケジュールする会社なし
snapshots API を読む
use-cases / weekly-canary-agent / replaces

これが置き換えるもの

自社プロダクトに継続的な敵対的圧力をかけたいときの標準ツール。どれも契約料、プラットフォームの席代、バグバウンティ マーケットプレイス料を請求してきます。カナリアが請求するのは cron 行 1 本だけです。

  • レッドチーム コントラクター年 2 回のエンゲージメントで 6 か月遅れの PDF
  • Synack ペンテストクラウドソースのテスターと席単位のプラットフォーム料金
  • 自前の chaos-monkey スクリプト週末プロジェクト · 誰も所有せず、誰もアップグレードしない
  • 毎週手動の QA パス毎週月曜の朝、エンジニアが永遠に消費する
  • Gremlin カオス エンジニアリング プラットフォームほぼ cron + コンテナ スナップショットのために席代を払う
  • BugBounty as a service本番に出てから所見が見つかった分だけ支払う
use-cases / weekly-canary-agent / cta

cron を配線し、スナップショットに向け、エージェントにプロンプトを与え — 月曜にコーヒー片手に所見を読みましょう。

agent ドキュメントを読む
use-cases / weekly-canary-agent / related

他のユースケースを読む