Simon Willison's Weblogは5月14日(現地時間)、データ公開ツール「Datasette」向けにIPアドレスベースのレート制限プラグイン「datasette-ip-rate-limit 0.1a0」をリリースしたと報じた。これは自身のサイト「datasette.io」が不適切なクローラー活動の標的となったことへの対策。プラグインは特定のウェブ領域への高速リクエストを自動検知しブロックする機能を備え、その構築にはAIモデル「Codex」が活用されている。

Simon Willisonが公開したdatasette-ip-rate-limitプラグインは、オープンソースデータ公開ツールDatasetteへのリクエストをクライアントのIPアドレスに基づいて制限するよう設計されている。このプラグイン開発の背景には、Datasetteをホストする「datasette.io」サイトが直面していた特定の課題がある。すなわち、不適切な意図を持つクローラーが、サイトの特定領域に対し許容範囲を超える速度と量でリクエストを送信し、システムの安定性やパフォーマンスを脅かしていたことだ。これに対処するため、ウェブサイト運営者が柔軟に設定可能なレート制限機能が導入された。

プラグインの具体的な動作は、公開された生産構成の例から読み取ることができる。この例では、「Fly-Client-IP」ヘッダーを使用してクライアントIPアドレスを識別し、リバースプロキシやCDN(コンテンツデリバリーネットワーク)環境での正確なIP取得を可能にしている。「max_keys: 10000」の設定は、追跡するIPアドレスの最大数を10,000に制限し、リソース消費を抑制する。また、「/static/」や「/-/turnstile」といったパスはレート制限の対象外とされ、静的ファイルやCAPTCHA関連リクエストに対する無用なブロックを避け、正規ユーザーの体験を損なわないよう配慮されている。

とりわけ注目すべきは、「demo-databases」と名付けられたルール設定だ。このルールは、/global-power-plants/および「/legislators/」のパスに対し、60秒間に最大60リクエストまでを許可し、それを超えたIPアドレスからのリクエストは20秒間ブロックするという具体的な制限を設けている。このような細かく実用的なルール設定が可能である点が、このプラグインの大きな強みであり、特定のデータベースコンテンツやAPIエンドポイントへの過度なアクセスから保護する上で有効である。

Datasette向けに開発されたこのIPレート制限プラグインは、広範なWebサービス運営における課題解決への示唆に富む。実務者にとっては、悪意のあるスクレイピングのリスクやAPIの乱用といった現代のWebサービスが直面する脅威への防御策として有用である。特に、設定の柔軟性により、特定の脆弱なエンドポイントや負荷の高いリソースに合わせた保護が可能となる。

Codexのような先進的なAIモデルが開発プロセスに活用されたことは、今後のソフトウェア開発におけるAIの役割拡大を示すものとされている。コード生成やデバッグ支援が開発期間短縮と品質向上に貢献し、限られたリソースの中で高度なセキュリティ機能を実現する道を開く可能性が指摘されている。特定のWebサイトの問題を汎用的なオープンソースプラグインとして公開することで、同様の課題を抱える世界中の実務者がその恩恵を受けられる点も重要である。


参考: Simon Willison’s Weblog — 2026年5月14日 13:10 (JST)

原文ハイライト

"poorly-behaved crawlers"

この記事をシェア
X はてブ LinkedIn