はじめに
ここ最近一番ソースコード書いている言語はPython、"m10i"です
当社はISP事業をメインでやっているのですが、業務改善におけるプログラム開発については
Perlであったり、PHPであったりと各自バラバラだったので
昨今の流行に乗じてPython環境を社内に展開しました
ここではその展開方法と注意事項を記載しております
1.Pythonインストーラを社内に保管しよう
exeファイルをインターネットからダウンロードできないネット環境でしたので
Python公式にあるexeファイルを情報システム部に依頼し、
全社員がアクセス可能なファイルサーバに保管してもらいました
- ファイルは削除や改竄が不可になるように読み取り権限だけ付与しております
2.Pythonインストールについてマニュアルを作ろう
併せてインストールマニュアルを作成し、Pythonインストーラーと同じ場所に保管しました
「英語のインストール画面でどこクリックしたら良いのか分からない」
...なんて声が上がらないよう、画面のスクリーンショットと吹き出しでコメントを入れます
3.ついでに開発環境(Visual Studio Code)も準備しよう
こちらもPythonと同じく下記のことを実施しました
- インストーラexeをインターネットから情報システム部にてダウンロード
- 社内ファイルサーバに保管
- インストールマニュアルも作成、保管
さらにデフォルトだと日本語パックが入ってないので、
マニュアルでは日本語化のスライドも入れました
4.付近のメンバーに浸透活動開始
準備ができたので、まずは近くのメンバーに「Python...良いよ...」と(布教)マニュアル展開
不明点があればマニュアルを修正しておりました
ここまでは順調
だったのですが、Python利用者が増えていくことで下記のような問題?(注意点)が発生しました
注意1.pip使いたいんだけど?
そのうち浸透していくと
「RequestsだったりPandasを使いたい」という声が出てきます
この時pipによるパッケージのインストールには危険が伴うことを説明しております
具体的には
- パッケージのタイプ間違いをしない
- ソースコードの中身が分からないパッケージは利用しない
などを伝えました
注意2. マルウェア検知頻発(Pyinstaller --noconsole)
Pythonでアプリケーションを作る方が増えていくと、
アンチマルウェアソフトウェアで誤検知する事象が発生しました
原因はPyinstallerでEXE化(しかもnoconsole指定)をしようとした時に発生していました
実際、Python3.12 + Pyinstaller 6.6.0 で「--noconsole」時に
生成される中間EXEはVirusTotalでも多くの製品でマルウェアとして判定されます
https://www.virustotal.com/gui/file/a0a65e552cb27f92925f1e95b33ba6b2389d20820dd16691a755390a82e9ea48
どうやら多くの攻撃者がPythonソースコードを武器化するために、Pyinstallerを使って
コンソール画面無しEXEを作っているのでは?という噂もありマルウェアに判定されているようです
当この中間EXEのSHA256をアンチマルウェアで無視することもできますが、
リスクが伴うとして「--noconsole」利用でのEXE開発は禁止としました
(このオプションを入れなくても、コンソール画面が表示されるだけなので動作に影響無し)
その後、社内でChatGPTが導入されたところChatGPTだけでPythonを使った
プログラム開発を始めたよ!という声もあり
「かがくのちから(ChatGPT)ってすげー!」となりました
めでたしめでたし
お知らせ
こちらの記事はctc Advent Calendar 2024の記事となります
この後もctc(中部テレコミュニケーション株式会社)のメンバーが技術にまつわる知見を投稿していきますのでご期待ください