Datasette、安全なWebアプリ開発用プラグインを公開
- •サイモン・ウィリソン(Simon Willison)は2026年6月18日、サンドボックス化されたWebアプリをホストできるdatasette-appsを公開した。
- •iframeサンドボックスと固定CSPヘッダーを採用し、不正なデータ流出を防ぐセキュリティ対策を実装した。
- •開発者は保存済みクエリを通じて読み書き可能なアプリを構築でき、クロスユーザー間のデータアクセスが制限される。
サイモン・ウィリソン(Simon Willison)は2026年6月18日、Datasette内でHTMLおよびJavaScriptアプリを直接ホストできる新プラグイン「datasette-apps」を公開した。アプリは、allow-scriptsとallow-forms属性を付与したiframe内で厳格に隔離されて動作する。悪意のあるコードによるデータ流出を防ぐため、アプリには外部ドメインへの不正なHTTPリクエストを制限する固定のコンテンツセキュリティポリシー(CSP)ヘッダーが適用される。
本プラグインは、リレーショナルデータベース向けのセキュアなカスタムUIを実現する。開発者は、読み取り専用のSQLクエリや、Datasetteの保存済みクエリ機能を通じたユーザー指定の書き込み操作を実行できる。システムはMessageChannelを使用してiframeと親アプリケーション間の通信を保護し、許可リストに登録された操作のみを実行する。この設計により、アプリが侵害された場合でもメインのDatasetteインスタンスのCookieやローカルストレージへのアクセスは不可能となる。
開発段階ではAIを用いたコード支援が活用された。セキュリティ評価では、管理者権限を悪用したデータ流出の脆弱性が発見されたが、CSPドメインの許可リスト設定を権限のあるスタッフに限定することで対処した。また、開発者のデバッグを支援するため、クエリとエラーログを表示する機能も内蔵している。
このプラグインはAIアシスタントとの連携を想定し、データベーススキーマを含むコピー可能なプロンプトを生成する。これにより、LLMがHTML、CSS、JavaScriptを記述し、カスタムデータ可視化ツールを迅速に開発できる。現在はagent.datasette.ioのデモ環境でGitHubログインを利用して試用が可能だ。