「タスクマネージャーを開いたら見覚えのないプロセスが40個以上並んでいた…」そんな経験、ありませんか?😅
海外の開発者コミュニティ dev.to で、ちょっと面白いプロジェクトが話題になっています。「ブラウザより少ないRAMで動くWindowsセキュリティ監視ツールを自作した」というもの。しかも不審なプロセスを検知したらスマホに通知まで飛ばせるとのこと!
重いセキュリティソフトに500MBのRAMを食われるのは、正直しんどいですよね。Pythonなら同じことがはるかに軽量に実現できます。今回はその考え方をベースに、実際に動くサンプルコードを一緒に見ていきましょう。
🔍 何を「監視」するのか?

ポイントをまとめるとこんな感じです。
- ✅ 現在起動しているプロセスの一覧を定期取得
- ✅ 「普段見かけないプロセス」をリストアップ
- ✅ 新しく現れたプロセスをスマホへ通知
つまり、ベースライン(正常状態)と現在の差分を検出するという発想です。イメージとしては「いつもの家の中に知らない人が入ってきたら教えてくれる防犯カメラ」みたいな感じですね。
🐍 Pythonサンプルコード
必要なライブラリは psutil(プロセス情報の取得)と requests(通知送信)だけです。まずインストールしておきましょう。
pip install psutil requests
次に監視スクリプト本体です。ここが重要です👇
import psutil
import requests
import time
# --- 設定 ---
# Pushoverなどの通知サービスのAPIキーを入れてください
NOTIFY_URL = "https://your-notification-endpoint"
CHECK_INTERVAL = 10 # 何秒ごとにチェックするか
def get_process_names():
"""現在動いているプロセス名を集合で返す"""
return {p.name() for p in psutil.process_iter(['name'])}
def send_alert(message):
"""スマホへ通知を送る"""
try:
requests.post(NOTIFY_URL, json={"message": message}, timeout=5)
print(f"[通知送信] {message}")
except Exception as e:
print(f"[通知エラー] {e}")
def monitor():
print("監視開始!ベースラインを取得中...")
# 起動時のプロセス一覧をベースラインとして記録
baseline = get_process_names()
print(f"ベースライン: {len(baseline)}個のプロセスを登録")
while True:
time.sleep(CHECK_INTERVAL)
current = get_process_names()
# ベースラインにない新規プロセスを検出
new_procs = current - baseline
if new_procs:
for proc in new_procs:
send_alert(f"⚠️ 新しいプロセス検出: {proc}")
# ベースラインを更新
baseline = current
if __name__ == "__main__":
monitor()
ポイントをまとめるとこんな感じです。
- 🔑 psutil.process_iter() でプロセス一覧を軽量に取得
- 🔑 集合(set)の差分演算
current - baselineで新規プロセスを一発検出 - 🔑 通知先はPushover・ntfy・LINE Notifyなど好みのサービスに差し替えOK
💡 さらに発展させるアイデア
このスクリプト、実はベースとして使えることがたくさんあります。
- 📋 ホワイトリスト方式:信頼するプロセス名を事前登録して、それ以外だけ通知
- 📊 CPU・メモリ使用率も同時監視:psutilなら1行で取得できます
- 🕐 Windowsタスクスケジューラで自動起動:PC起動と同時に監視スタート
まとめ
Pythonと psutil を組み合わせれば、重いセキュリティソフトに頼らなくても軽量なプロセス監視ツールが自作できます。差分検出という考え方はシンプルですが、実用性は十分高いですよ。
まずはコードをコピーしてローカルで動かしてみてください。通知先のURLを自分のサービスに変えるだけで、すぐに実用レベルで使えます。ぜひ試してみてください! 🚀
📚 関連商品・おすすめ書籍
もしも
ELEGOO Arduino用UNO R3スターターキット レベルアップ チュートリアル付 mega2560 r3 nanoと互換 [並行輸入品]
チュートリアル付きのArduino入門セット
※本記事にはアフィリエイトリンクが含まれます。




