PyCon JP 2025 Logo
広島国際会議場
JPEN
Sau

Sau

ビビってどうする:セキュアなPythonコードを目指して

ラン日本語
04:20 - 04:5030min
DAY 2
09/27
SAT

セキュリティは「難しそう」「どこから始めればいいのかわからない」とよく言われており、重要ながらも体系的に学ぶ機会が少ない分野です。このセッションでは、初心者向けにPythonコードをよりセキュアにするための知識と武器を紹介していきます。具体的な事例を交えながら、サプライチェーン攻撃やマルウェアが仕込まれているデータを防ぐ方法・ツールをわかりやすく解説します。


トーク詳細 / Description

スコープ

このセッションでは、Pythonに特有のセキュリティ上の考慮事項を取り上げます。SQLインジェクションやシークレットのハードコーディングのような一般的な概念にはあえて触れずに、Pythonのエコシステムにおける既知のセキュリティ上の懸念事項に焦点を当てます。

構成

Pythonコードに潜む4種類の闇 (20分)

このパートでは、可能な限り実例やサンプルコードを使って、各種類の「闇」のリスクをわかりやすく紹介します。また、より安全な代替案も提供します(例:pickleの代わりにJSONを使用するなど)。

  1. 闇のサードパーティパッケージ(pipに対するサプライチェーン攻撃)

  2. 闇データ(XML、zip、pickle)

  3. 闇アルゴリズム(random、hashlib)

  4. 闇バージョン(非推奨のPythonバージョンとライブラリ)

対策 (10分)

最後に、簡単にできるセキュリティ対策として以下のツールを紹介します。

  1. リンターを使って脆弱性を自動検出
  2. プライベートリポジトリを構築して信頼できるパッケージをホスト

リファレンス

セキュリティ上の考慮事項があるモジュールの公式リスト: https://docs.python.org/3/library/security_warnings.html
危険なpickleの使用を検出するruffリンターの例: https://docs.astral.sh/ruff/rules/suspicious-pickle-usage/

Sau

Sau

プロフィール

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.