2025-09-27 –, Ran
セキュリティは「難しそう」「どこから始めればいいのかわからない」とよく言われており、重要ながらも体系的に学ぶ機会が少ない分野です。このセッションでは、初心者向けにPythonコードをよりセキュアにするための知識と武器を紹介していきます。具体的な事例を交えながら、サプライチェーン攻撃やマルウェアが仕込まれているデータを防ぐ方法・ツールをわかりやすく解説します。
スコープ
このセッションでは、Pythonに特有のセキュリティ上の考慮事項を取り上げます。SQLインジェクションやシークレットのハードコーディングのような一般的な概念にはあえて触れずに、Pythonのエコシステムにおける既知のセキュリティ上の懸念事項に焦点を当てます。
構成
Pythonコードに潜む4種類の闇 (20分)
このパートでは、可能な限り実例やサンプルコードを使って、各種類の「闇」のリスクをわかりやすく紹介します。また、より安全な代替案も提供します(例:pickleの代わりにJSONを使用するなど)。
-
闇のサードパーティパッケージ(pipに対するサプライチェーン攻撃)
-
闇データ(XML、zip、pickle)
-
闇アルゴリズム(random、hashlib)
-
闇バージョン(非推奨のPythonバージョンとライブラリ)
対策 (10分)
最後に、簡単にできるセキュリティ対策として以下のツールを紹介します。
- リンターを使って脆弱性を自動検出
- プライベートリポジトリを構築して信頼できるパッケージをホスト
リファレンス
セキュリティ上の考慮事項があるモジュールの公式リスト: https://docs.python.org/3/library/security_warnings.html
危険なpickleの使用を検出するruffリンターの例: https://docs.astral.sh/ruff/rules/suspicious-pickle-usage/
サイバーセキュリティの専門家として、既知のPythonセキュリティ上の懸念事項をわかりやすくPython初心者に紹介したいと考えています。中級者の方々にとっても良い復習になるかと思います。
今日の「Vibe coding」の時代において、「機能性」だけ注目されがちですが、「脆弱性」への考慮が足りないのではないかと感じています。このセッションを通して、みなさんにより良いセキュリティの習慣を身につけていただければと思います。
Knowledges and know-how the audience can get from your talk:Pythonコードの「闇」に対する想像力を身につけていただきたいです。もちろんPythonはツールに過ぎませんが、Pythonのエコシステムに特有の脆弱性は多々あります。実例を交えて、そのリスクと対策を理解していただきたいと思っています。
Prior knowledges speakers assume the audience to have:Pythonパッケージのインポート
Pythonの基本的な文法(サンプルコードを理解できる程度)
Beginner
Language of presentation:Japanese
Language of presentation material:English
Based in Tokyo, Sau is a practical Python practitioner who currently works as a Cybersecurity Engineer at Sakana AI. She is a heavy user of her password manager.