テック技報最新号へ →
セキュリティ

AI 開発ツール・エディタ設定ファイル経由の永続化をチェックする

最近のマルウェアは .claude/settings.json の hooks や .vscode/tasks.json、~/.claude/commands/ に仕込んで再実行されるため、侵害パッケージを消した後もこれらを点検する。

@IntCyberDigest · 2026-10-09
#supply-chain#incident-response#claude-code#vscode#persistence

何を解決するか

  • Mini Shai-Hulud は Claude Code(.claude/settings.json)と VS Code(.vscode/tasks.json)にフックし、ツールイベントのたびに再実行する。npm uninstall では解決しない。
  • postinstall で ~/.claude/commands/ に Markdown を置き、全セッションで読み込まれる「スキル」を注入する手口もある。
  • PolinRider は tailwind.config.js などの設定ファイル末尾に難読化 JS を追記し、システム時刻を巻き戻したコミットを強制 push して履歴を偽装する。

チェック手順

sh
# 1. Claude Code / VS Code の自動実行設定を確認(プロジェクトとホーム両方)
cat .claude/settings.json ~/.claude/settings.json 2>/dev/null | jq '.hooks'
ls -la ~/.claude/commands ~/.claude/skills .claude/commands 2>/dev/null
cat .vscode/tasks.json 2>/dev/null | jq '.tasks[] | select(.runOptions.runOn=="folderOpen")'

# 2. 設定ファイル末尾の不審な難読化コードを探す
tail -c 2000 tailwind.config.js next.config.* vite.config.* 2>/dev/null

# 3. 不自然なコミット(author date と committer date のずれ、force push)を確認
git log --format='%h %ad %cd %an' --date=iso | head -20
  • 自分で入れた覚えのない hooks / tasks / commands は削除し、資格情報をローテーションする。
  • MCP サーバー設定(.mcp.json など)も同様に確認する。

注意点

  • 「細工されたリポジトリを開くだけ」で hooks や MCP 設定が動く脆弱性も過去にあった(Claude Code の CVE-2025-59536 等、修正済み)。未信頼リポジトリは信頼ダイアログを安易に通さない。

出典

X の元の投稿を開く