コマンドライン で Virus totalへファイルを送る方法

  • VirusTotalにアカウントを作成し, 自分のAPIキーを調べておく.
  • ファイル $filename を提出するには, curl -s -F "apikey=$apikey" -F "file=@$filename" https://www.virustotal.com/vtapi/v2/file/scan
    • "-F" はマルチパート形式でのフォーム送信
    • ファイル名の前に @ を忘れないこと
    • 提出してもすぐに解析が始まるわけではない.
    • wget のマルチパートフォーム送信はcurlほど簡単にはいかない. 自分でヘッダやマルチパートメッセージを作らなければならず, 面倒.
    • curlSMTPプロトコルを理解するので, メールサーバを指定してメールを送信可能. curl smtp://"$server"/ -v -T - --mail-from "$sender" --mail-rcpt "$recipient" で標準入力から与えたファイルをメールサーバに投函する.
  • レポートを見るには, SHA256値を openssl dgst -sha256 等で計算させ, curl -s -F "apikey=$apikey" -F "resource=$sha256sum" https://www.virustotal.com/vtapi/v2/file/report
    • 判定結果の数は "positives:" の要素