ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

【python】PyInstaller で作った実行ファイルが crowdstrike で誤検知

Python で作成したプログラムがある日を境にセキュリティソフトに引っかかるようになってしまった。

いろいろ回避策を模索しているがうまくいかず。。。
とりあえずこれまでの対応をいったんメモ。。。

状況

Windows 環境で PyInstaller を用いて exe を作成すると、ウィルス対策ソフトが誤検知して実行ファイルが削除されてしまう。

エラーメッセージ

exe ファイルを実行すると、以下のようなメッセージが表示されファイルが削除されてしまう。

CrowdStrike Falcon Sensor
a process was blocked because malicious behavior was detected . 

検証内容

  • Windows 10 の環境で以下の組み合わせで pyinstaller でビルドしたファイルを実行
    • --noconsole(あってもなくても)
    • プログラムは print("TEST") のみ
    • 結果はセキュリティソフトにファイルを削除されるかどうか
    • PyInstaller の bootloader をリビルド
python version pyinstaller version --onefile オプション 結果
3.8.0 4.3 ×
3.8.0 4.3 ×
3.8.0 5.0.dev0 ×
3.8.0 5.0.dev0 ×
3.10.0 4.3 ×
3.10.0 4.3 ×
3.10.0 5.0.dev0 ×
3.10.0 5.0.dev0 ×

ウィルスチェックツール

オンラインのファイルチェックサイト
www.virustotal.com

PyInstaller の bootloader リビルド方法

pyinstaller をクローンして bootloader フォルダに移動し以下のコマンドを実行する。

pyinstaller を取得する。

> git clone https://github.com/pyinstaller/pyinstaller

pyinstaller に移動して以下のコマンドを実行する。

> cd bootloader
> python ./waf distclean all

bootloader のビルドには、Cコンパイラが必要になるのでなければ visual studio をインストールするともれなくついてきます。

参考

qiita.com
github.com


同じようなことで困っている人はいないのか。。。