ガイド: 開発セキュリティ(サプライチェーン対策)
2026年は npm を中心としたサプライチェーン攻撃(Mini Shai-Hulud など)が相次ぎ、AIエージェントの設定ファイルも狙われた。「入れる前に待つ」「開く前に見る」「通知を確実に受け取る」の3点で守る。
- npm/pnpm: minimum-release-age でサプライチェーン攻撃を避けつつ、緊急パッチだけ一時的に解除する — 公開直後のバージョンを入れない
- セキュリティ: clone したリポジトリの .claude/settings.json と .vscode/tasks.json を開く前に確認する — hooks や folderOpen タスクに潜むマルウェア
- Claude Code: bypassPermissions でも deny リストは効く → 危険コマンドだけ明示的に禁止する — エージェントに危険な操作をさせない
- Next.js: セキュリティアドバイザリだけをGitHubの「Watch → Custom → Security alerts」で受け取る — 通知を見逃さない
- npm/pnpm/bun/deno: 依存パッケージの install スクリプトを既定で止める — postinstall 型の攻撃を防ぐ
- npm: package.json の files を必ず設定し、npm pack --dry-run で公開内容を確かめる — 公開する側の事故防止
- GitHub Actions: pinact で uses: をコミット SHA に固定する — CI のサプライチェーン対策
- Git/GitHub: 秘密情報を push してしまったら、最初にやるのは「無効化」。rebase+force push だけでは足りない — 漏えい時の初動
- セキュリティ: JWT の検証では、許可するアルゴリズムを明示する(alg: none 対策) — 認証の基本
- Node.js: Axios の proto によるクラッシュ(CVE-2026-25639)→ 1.13.5 以降へ+ユーザー入力を設定に混ぜない — 依存の脆弱性とユーザー入力の扱い
- GitHub Actions: actions/attest で成果物に provenance 証明書を付け、SLSA Level 3 に近づける — 配布バイナリの来歴証明
- GitHub Actions: pull_request_target で PR のコードを checkout してビルドしない — CI の権限分離
- 開発環境: DataDog Supply Chain Firewall (scfw) で npm / PyPI の危険パッケージ導入を止める — 手元の npm/pip を守る
- npm / GitHub Actions のサプライチェーン対策チェックリスト(使う側・公開する側) — 上の個別記事を「使う側・公開する側」で一覧にしたもの(npm トークンで直接 publish できなくなる予定も追記)
- シェル: curl … | bash を | bashka に変えて、実行前にスクリプトを静的検査する — インストールスクリプトの危険な処理を止める
- TypeScript: 所有者チェック済みをブランド型で表し、IDOR を型で防ぐ — 認可チェックの書き漏れを型で防ぐ
- Hono の ipRestriction() は 4.12.12 以上に(IPv4 射影 IPv6 アドレスで許可・拒否がすり抜ける) — IP 制限は正規化してから比較