なぜGoogleはJSONの先頭に while(1); をつけるのか

http://qiita.com/items/078eebf02bbbb45adc93
http://stackoverflow.com/questions/2669690/why-does-google-prepend-while1-to-their-json-responses

これはクロスサイト・リクエスト・フォージェリ対策。
例えばGooglegmail.com/json?action=inbox というURLを持ってて、そこにユーザのCOOKIEでアクセスすると最新50件のメールが取れるとする。悪意のあるサイトからはsame-origin policyでAjaxではアクセスできないが、scriptタグのsrc属性に直接入れることでJSONを取得することはできてしまう。そして ArrayコンストラクタやそのアクセッサメソッドをオーバライドすることでJSONの値にアクセスできてしまう。
先頭に while(1); とかシンタックスエラーになる文字列があればこれを抑制できる。Ajaxではレスポンスを文字列として扱うことができるけれどscriptタグでは即実行されるため、これら余分な箇所を取り除くことができないからだ。

うーん。