スニペットの使用に関するセキュリティ上の考慮事項
更新 : 2007 年 11 月
Visual Studio によってインストールされる IntelliSense コード スニペットは、それ自体にはセキュリティ上の危険性はありません。使用場所と修正方法によっては、アプリケーションにセキュリティ リスクをもたらすことになり得ます。インターネットからダウンロードしたスニペットは、その他のダウンロード コンテンツと同様に扱う必要があります。
インターネットからダウンロードしたスニペット
インターネットからスニペット ファイルをダウンロードするときには、次の点に注意する必要があります。
ファイル名の拡張子が .snippet でも、その中身がプレーンテキストの XML とは限りません。安全のために、ダウンロードは信頼できるサイトから行い、また最新のウイルス ソフトウェアを使用してください。
スニペット ファイルに含まれるヘルプ URLにより、悪意のあるスクリプト ファイルが実行されたり、攻撃を行う Web サイトが表示されたりする可能性があります。ヘルプ URL は、スニペットを挿入するときのコード エディタには表示されませんが、XML エディタやその他のエディタ (メモ帳など) でスニペット ファイルを編集するときには参照できます。
コード自体の中に、実行時にシステムに危害をもたらし得るコードが含まれている可能性があります。実行前にソースをよく読んでください。コードの一部が、折りたたまれた #Region ディレクティブ セクションに含まれている場合があります。該当するセクションを展開し、コードを読んでください。
スニペットに参照が含まれている場合があります。これらの参照は、予告なしにプロジェクトに追加され、システム上の任意の場所から読み込まれます。これらの参照は、スニペットのダウンロード場所からコンピュータにダウンロードされたものである場合があります。そして、悪意のあるコードを実行するメソッドが参照内に含まれていて、スニペットがそうしたメソッドを呼び出すことがあります。こうした攻撃を防ぐためには、スニペットを挿入する前にスニペット ファイルをよく読むようにし、またダウンロードは信頼できるサイトから行うようにします。
すべてのスニペットのセキュリティ
スニペットがどの程度安全かは、ソース コード内での使用場所と、コード内に組み込んだ後の修正方法に応じて左右されます。次の一覧は、考慮が必要な部分をいくつか示したものです。
ファイル アクセスとデータベース アクセス
コード アクセス セキュリティ
リソースの保護 (イベント ログ、レジストリなど)
秘密のデータの格納
入力の検査
スクリプトへのデータの引き渡し
詳細については、「アプリケーションの保護」を参照してください。