😈

テスト用 ウイルスに感染したExcelファイルのつくりかた

2023/06/20に公開

はじめまして! 株式会社THIRDでQAエンジニアをしている、根保です。
業務中に得たテストの知見は社内のドキュメントにまとめていましたが、
公開しても問題なさそうなものはエンジニアブログに書いてみようと思い立ったので初投稿です。

背景

テストしたい機能のユーザーストーリーは

  • アップロードしたExcelファイルがウイルスに感染していた場合、自動的に削除されてメールで通知される。

ここで問題になるのが、機能のトリガーとなる条件の
Excelファイルがウイルスに感染していた場合 です。

この、テストデータをどうやってつくる? が今回のお話です。

解決策

このテストをするときに、本物のウイルスに感染したファイルを使うのはとても危険です。
そんなことをしたら関係各所いろいろなところから怒られると思います。

そこで登場するのが、EICARテストファイルです!

EICARとは

EICAR (European Institute for Computer Antivirus Research) は、コンピュータウイルスの研究とアンチウイルスソフトウェアの開発促進を目的として1991年に設立された組織。

Wikipedia からマルっと引用

ちゃんと由緒ある研究所なので安心してウイルスに感染したファイルを作ることができます。

つくりかた

eicar.org からテストファイルをダウンロードするか、
下記の文字列をコピペしてメモ帳でテキストファイルとして保存するだけです。
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Wikipedia から引用

除外設定しないとファイルを作成してもどんどん消されてしまいます。

Excelファイルのつくりかた

このやりかただと、テキストファイルしか作成できません。
今回欲しいのは、Excelのファイルなのでなんとか埋め込む必要があります。

  1. まずは普通にExcelを開いてファイルを作成します。
  2. このとき実際のシステムで使用するエクセルのテンプレートを使うとよりそれらしいテストデータになると思います。
  3. 次にこのxlsx形式のファイルの名前を変更してzipファイルにします。
  4. zipファイルの中にEICARテストファイルを入れて拡張子をxlsxに戻せば完成です!

まとめ

Excelのファイルは拡張子を変えたらzipファイルにできることを応用した小技でした。
かなりレアケースなので手順忘れがちです。テストのお役に立てたら幸いです!
他にいい方法があるよ!ってご存じの方はぜひ教えてほしいです。

株式会社THIRD エンジニアブログ

Discussion