0

これはセキュリティに関する質問です。私はクロムコンテンツスクリプトを使用してコードを注入しないようにしたいと思います。不要なクロムコンテンツスクリプトがマイページに挿入されているかどうかを検出するにはどうすればよいですか?

仮定:

コンテンツスクリプト悪意のあるコードであるので、それはおそらく、メッセージパッシング応答を避けることができます。

+1

これは直接できないと思います。悪質なコードがどんな操作をしたいのか分かっていれば、ページの特定の部分が変更されたかどうかを確認することができます。 – Tomer

+1

概念は理にかなっていません。 – charlietfl

答えて

3

私の知る限り、不可能です。

  1. コンテンツのスクリプトは、特殊な環境で実行Execution environmentによると

    は、分離された世界と呼ば

  2. 彼らが内に注入されるページのDOMへのアクセス権を持っていますが、ないにページによって作成されたJavaScript変数または関数。

  3. ページ上で実行されているJavaScriptは、任意の機能を呼び出したり、コンテンツスクリプトによって定義された変数にアクセスすることはできません。

私は#3は、拡張子が当社の管理下にない場合、我々はスクリプトが実行されている一部のコンテンツがあるかどうかわかりませんことを私たちに語ったと信じています。

0

このようなスクリプトを自分のブラウザに追加して、どのように表示されるかを確認できます。それがレンダリングされたHTMLで表示されない場合は、多分それはJavaScriptでそれを検出することが可能です:

$('script').filter(function() { 
    var src = $(this).attr('src'), 
     result, 
     externalScripts = []; 
    if(src !== undefined){ 
     //check for scripts which are not served from your domain 
     //you could also try just returning the scripts which have no src attribute 
     result = src.match(/^(?:https?:)\/\/expected.domain.com/); 
     if(result === null) { 
      externalScripts.push(src); 
     } 
    } 

    return externalScripts; 
}) 

しかし、最も可能性が高いそれはクロームスクリプトをサンドボックス化されているように聞こえるように検出することはできません。何かを防ぐ方法を見つける最良の方法は、あなた自身でそのことを試み、ページにどのような影響を与えるかを確認することです。

これを防止することが本当に必要なのかどうかも尋ねてください。これがセキュリティリスクであるとは思われません。

関連する問題