5 ポイント 投稿者 GN⁺ 2026-03-30 | 1件のコメント | WhatsAppで共有
  • Miasmaは、AI Webスクレイパーを無限ループに陥らせて学習データ収集を妨害するRust製サーバーツール
  • Webサイトのコンテンツを大規模に収集するAI企業のトラフィックをリダイレクトし、poison fountainから取得した汚染データと自己参照リンクを返す
  • 高速な処理性能と低いメモリ使用量により、サーバー資源を無駄にせず防御可能
  • Nginxリバースプロキシ隠しリンクの挿入を通じて、スクレイパーを/botsパスへ誘導し、無限循環構造を形成
  • 通常の検索エンジンはrobots.txtの例外ルールで保護し、オープンソースとしてコミュニティの貢献を受け入れる

インストールと実行

  • Cargoを使ってインストール可能
    • cargo install miasma コマンドでインストール
  • GitHub Releasesページで事前ビルド済みバイナリをダウンロード可能
  • デフォルト設定で実行する場合は miasma コマンドだけを入力
  • すべての設定オプションは miasma --help で確認可能

スクレイパートラップの設定方法

  • /bots パスをスクレイパー流入ポイントとして設定
  • Nginxをリバースプロキシとして使用し、/bots パスへのリクエストをMiasmaサーバーへ転送
    location ~ ^/bots($|/.*)$ {
      proxy_pass http://localhost:9855;
    }
    
    • /bots/bots//bots/12345 などすべての派生パスにマッチ
  • 隠しリンクの挿入

    • Webページ内に、人間の訪問者には見えないがスクレイパーは検出できる隠しリンクを追加
      <a href="/bots" style="display: none;" aria-hidden="true" tabindex="1">
        Amazing high quality data here!
      </a>
      
    • display: nonearia-hidden="true"tabindex="1" 属性により、アクセシビリティツールやユーザーには非表示
  • Miasmaの実行

    • /bots をリンク接頭辞として指定し、ポートと同時接続制限を設定
      miasma --link-prefix '/bots' -p 9855 -c 50
      
    • 最大50件の同時接続を許可し、超過リクエストにはHTTP 429レスポンスを返す
    • 接続数50件時のメモリ使用量は約50〜60MBを想定
  • デプロイ後の動作

    • 設定完了後にデプロイすると、スクレイパーは/botsパスをたどって無限に汚染データページを巡回する
    • ログを通じてスクレイパーの反復リクエストをリアルタイムで確認可能

robots.txt の設定

  • 通常の検索エンジンクローラーがMiasmaにアクセスしないよう、robots.txtに例外ルールを追加する必要あり
    User-agent: Googlebot
    User-agent: Bingbot
    User-agent: DuckDuckBot
    User-agent: Slurp
    User-agent: SomeOtherNiceBot
    Disallow: /bots
    Allow: /
    

設定オプション

  • CLIオプションで詳細設定が可能
オプション デフォルト値 説明
port 9999 サーバーがバインドするポート
host localhost サーバーがバインドするホストアドレス
max-in-flight 500 同時に処理できる最大リクエスト数。超過時は429レスポンスを返す。メモリ使用量はこの値に比例
link-prefix / 自己参照リンクの接頭辞。例: /bots
link-count 5 各レスポンスページに含める自己参照リンク数
force-gzip false クライアントのAccept-Encodingヘッダーに関係なく常にgzip圧縮を適用。転送コスト削減に有用
poison-source https://rnsaffn.com/poison2/ 汚染された学習データを取得するプロキシソース

開発と貢献

  • バグレポートや機能提案はGitHub Issuesを通じて提出可能
  • AIが生成したコードによる貢献は自動的に拒否される
  • コミュニティからの貢献を歓迎し、プロジェクトはオープンソースとして維持されている

1件のコメント

 
GN⁺ 2026-03-30
Hacker Newsの意見
  • 誰かが電話スパマーを45分間引き止めるように、こうしたボット攪乱手法が実際に効果があるのか疑問だ
    Google Searchのポリシーによれば、隠しリンクの挿入は明確な違反であり、サイト順位が下がったり検索結果から除外されたりする可能性がある
    結局こうしたやり方は、ボットよりも自分のサイトに大きな被害を与えるかもしれない

    • 自動化するなら効果があるかもしれないと思う
      YouTuberのKitbogaがAIコールセンターでスパム電話を引き止める動画のように、敵のリソースを消耗させるゲリラ的戦術と見なせる
    • 実際に電話スパマーを長時間引き止めたら、その後は電話が来なくなった
      彼らは「発信禁止リスト」と「非収益リスト」を別々に持っているようだ。後者に載るのが重要だ
    • 2000年代のロシアにおける英語学校スパムの事例を思い出す
      人々があまりに怒ったため、Golden Telecomが自動報復電話をかけ、その会社は消えた
      こういう形で効果が出ることもあるが、モデムプールのリースが必要だ
    • 隠しリンク挿入が禁じられている点はその通りだが、むしろ**「スモールウェブ」**復活のきっかけになってほしい
      反スクレイピング、反Googleクローラー、人間中心の検索インデックスを備えたツールが生まれるなら可能性はある
    • 実際にこうしたデータ汚染手法が効果を持つという研究がある
  • 公開Webサイトのコンテンツがスクレイパーに盗まれている
    結局、私もこの記事を盗んだし、君も私のコメントを盗んでいるわけだ。世の中は盗人だらけ

    • 問題は、彼らがあまりに多くのリクエストを送ってきて、私のサイトが落ちることだ
      コンテンツはみんなに開かれているが、みんながアクセスできなくなるのは嫌だ
    • 「盗み」という表現は強すぎるが、自分の文章が金儲けの手段として悪用されるのは不快だ
      こんな状況が続くなら、もう共有したくなくなる
    • 人間は法的に権利と自由を持つが、LLMはそうではない
      結局、人間と企業の道具を同列に置くのは誤った比較だ
    • 「Welcome to the internet...」のような風刺的な文句どおり、私たちはすでにデータとプライバシーを手放した世界に生きている
  • 昔、有料ソフトウェアを作ってコピー防止コードを入れていたが、そのたびに新しいクラックが現れた
    結局、その戦いが無意味だと悟って保護コードを削除した
    AIボットのクロールを防ごうとする試みも同じいたちごっこのように思える

    • いっそクラックを退屈にする戦略を取っていたら勝てたかもしれない
      ただ、コミュニティの動機自体が面白さと名声なので、現実的には難しいと思う
    • 実際、多くの問題は執着を手放せば解決する
      だがSNSと著作権への執着が、人々のコントロール欲求を強めてしまった
  • こうした手法が実際に効果があるのか気になる
    たいていのスクレイパーは、すでにこうした防御を回避する技術を持っている気がする

    • たとえ効果があっても、正直もう気にする気力がない。疲労感しか残っていない
    • 偽のPythonライブラリを作ってGitHubに上げたところ、数か月後にChatGPTがそれを学習していた
      私の経験では、こういうやり方はある程度通用する
    • 何百ものボットが有料プロキシを使っているのだから、彼らにコストを払わせればいい
    • MetaやAnthropicのクローラーは思ったより洗練されていない
      自分が作ったゴミデータを学習したかは分からないが、せめてそう願っている
  • データ汚染(data poisoning)というアプローチは興味深い
    モデルがWebデータを学習するとき、その中の
    バイアスや操作
    をそのまま受け継ぐ
    悪意ある行為者が大規模にデータを汚染すれば、学習自体が敵対的な構造へと変わる
    結局の解決策は**信頼できるデータ出所管理(provenance)**だ

  • こうした試みは結局、AIがより賢くなるための訓練データを提供しているようなものだ
    広告ベースのコンテンツ市場は崩れる可能性が高く、その結果コンテンツ品質重視の市場へ再編される気がする

    • 「では何もしないのか?」という反論もあるだろうが、現実には対処が簡単ではない
    • AIは広告ベースのコンテンツの終焉を早めるだろう
      代わりに、直接ライセンス契約を結んでデータを提供するモデルが定着するはずだ
    • もしクローラーがすべてのリンクをクリックせず、ローカルで解析するだけなら、それはむしろ勝利だと思う
    • 結局、技術は終わりなき軍拡競争の連続だ
  • 単に style="display:none"aria-hidden="true" 属性を取り除けば、こうしたトリックは回避できるのではないかと思う

    • だがそうすると、robots.txtを無視することになる
      誠実なスクレイパーなら、そのルールに従うべきだ
    • リンクを完全に隠すのではなく、画面外に小さく配置すればよい
      人間には見えず、ボットには追わせられる
  • こうしたアイデアは格好いいが、結局は中小企業(SME)により大きな被害を与えるだろう
    大企業だけがさらに強くなり、小さなサイトはAI検索結果から消えていく
    結局
    流れに従うしかなく
    、たまに小さな抵抗を残す程度が現実的だ

  • Nightshade 2.0のようなツールは、雑な注目集め用プロジェクトに見える
    本当の解決策は、LLMフレンドリーなフォーマットでデータを提供することだ
    単純な display:none トリックは賢いクローラーには通用しない
    関連スレッド参照

  • 本当に興味深いのは、このプロジェクトが使っているPoison Fountainデータセット
    rnsaffn.com/poison3には「機械知能システムに害を与えたい」という文言がある
    こうしたハッカー的イデオロギーは**ロールプレイ(roleplay)**のように感じられて、共感しにくい

    • だが肝心の「汚染されたデータ」とは何か、そして「少量でも大きな影響を与える」という主張の根拠は、誰も説明していない