Miasma、AI Web scraperを罠に誘導するRustツールとしてHacker Newsで上昇

training-data scraping に対する攻撃的な防御

2026年3月、Miasma を取り上げた Hacker News 投稿は、クロール時点で187 pointsと136 commentsを記録した。発想は意図的に攻撃的だ。望まないAI scraper を単純に遮断するのではなく、疑わしい bot traffic を別サーバーへ流し、poisoned training data と自己参照リンクだけを返し続ける。プロジェクトは Rust 製で、巨大な計算資源を使わずに大規模なWeb収集へ対抗する手段として提示されている。

READMEは、独立系サイト運営者の不満から出発している。AI企業が公開Webサイトを大規模に収集している一方で、意味のある同意や対価は伴わないことが多いという問題意識だ。Miasma の答えは CAPTCHA や単純な rate limit ではない。いわば decoy environment である。hidden link を辿って入ってきた scraper は、守りたい本物のページではなく、合成データが延々と続く経路に閉じ込められる。

実際の配置方法

ドキュメントの構成は分かりやすい。運営者はサイト内に /bots のようなパスへ向かう hidden link を埋め込む。人間の訪問者は CSS やアクセシビリティ属性のためそれを見ないが、自動 crawler は発見する。次に Nginx reverse proxy がそのパスへのアクセスを Miasma インスタンスへ転送する。

罠に入った bot に対し、Miasma は upstream の poison source からの内容と、自分自身へ戻るリンクを複数返す。README の例では miasma --link-prefix '/bots' -p 9855 -c 50 を使う。説明によると max in-flight を50にした場合、peak memory はおよそ50〜60 MBで、上限超過のリクエストはキューに積まず 429 を即返す。つまり bot を困らせつつ、運営者側のコストを膨らませすぎない設計になっている。

本当のトレードオフと意味

Miasma が単なるネタで終わらないのは、運用パラメータが具体的だからだ。link prefix、再帰リンク数、egress を減らす force-gzip、upstream poison source を調整できる。一方で README は、正当な search engine や friendly bot を巻き込まないよう robots.txt を丁寧に書くべきだと強調している。狙うのは通常の発見経路ではなく、搾取的な crawler だからだ。

大きな流れとして、anti-scraping は受動的な遮断から積極的な cost shifting へ移りつつある。Miasma がAI学習データを巡る根本的な政策問題を解決するわけではないが、小規模な出版者に対し、既存の reverse-proxy stack へそのまま差し込める工学的な手段を与える点は重要だ。今回の HN の反応は、オープンWebの運営者がもはや「丁寧なお断り」だけでは足りないと感じ始めていることを示している。

原典: Miasma。コミュニティ議論: Hacker News。