AI 開発ツール・エディタ設定ファイル経由の永続化をチェックする
最近のマルウェアは .claude/settings.json の hooks や .vscode/tasks.json、~/.claude/commands/ に仕込んで再実行されるため、侵害パッケージを消した後もこれらを点検する。
何を解決するか
- 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 等、修正済み)。未信頼リポジトリは信頼ダイアログを安易に通さない。
出典
- @IntCyberDigest · 2026-05-12
- @labelmake · 2026-04-03
- @yousukezan · 2026-04-17 (PolinRider)
- @yousukezan · 2026-02-26 (Claude Code 脆弱性)