何が起きたか
Crawl4AI 0.8.7より前では、_safe_eval_expression()関数はアンダースコアで始まる属性のみをブロックするASTバリデータを使用していました。Pythonジェネレータおよびフレームオブジェクト属性(gi_frame、f_back、f_builtins)はアンダースコアで始まりませんが、インタプリタの実行環境へのアクセスを提供します。攻撃者が細工されたcomputed-fieldの式を提供すると、サンドボックスから脱出し、任意のコード実行を達成できます。CVSS 9.8 Critical(2026-06-23公開)。
なぜ重要か
Crawl4AIはLLMフレンドリーなウェブスクレーパーとして明確に設計されており、RAGパイプラインおよびAIエージェントにデータをフィードするために広く使用されています。悪用により、挿入されたウェブコンテンツ(クローリング済みページから)がcomputed fieldsを通じて処理される際にサーバー側RCEを達成でき、AIデータパイプラインのダイレクトprompt-to-code-executionパスです。
攻撃経路
攻撃者がジェネレータ/フレームオブジェクト属性(例えばgi_frame.f_back.f_builtins)を使用した悪意あるcomputed-fieldの式を提供してASTサンドボックスから脱出し、任意のPythonを実行
影響を受けるシステム
Crawl4AI < 0.8.7
緩和策
Crawl4AI 0.8.7にアップグレードしてください。Advisory: https://github.com/unclecode/crawl4ai/security/advisories/GHSA-qxjp-w3pj-48m7