テーマ: npm
-
npmとPyPIの公開IDを承認済みリリースアーティファクトに結び付ける
OIDCのtrusted publishingは公開トークンの保存を不要にするが、その安全性は引き続き承認されたワークフローに依存する。ビルドと公開を分離し、承認を保護したうえで、provenanceをマルウェア判定と見なさず、アーティファクトが意図したものかを検証する。
-
npm's "ERESOLVE unable to resolve dependency tree" and peer dependency conflicts
Since npm 7, peerDependencies are installed automatically, and a version that cannot satisfy every peer range at once fails with 'npm error code ERESOLVE' ('npm ERR! code ERESOLVE' before npm 10.6). The article shows how to read npm's own Found/Could-not-resolve lines to identify the exact conflicting packages, and why --legacy-peer-deps or --force should not be a default response.
-
開発者のマシンと公開用アカウントに広がるnpmワームを封じ込める
ChainDropとTensorlakeの侵害は、インストール時の認証情報窃取が不正なパッケージ公開につながることを示している。封じ込めでは、依存パッケージの実行、公開権限、リポジトリ内の永続化、汚染されたビルド成果物まで対象にする必要がある。
-
パッケージリリースのクールダウン:正確な設定、単位、適用範囲
リリースからの経過時間による制御は、npm、pnpm、uv、Renovate、Dependabotで異なる。正しい単位で設定し、タイムスタンプの扱いと推移的依存関係の解決を確認するとともに、緊急のセキュリティ更新に対応する手順を明確にしておく。
-
悪意あるパッケージをインストールした場合:認証情報を置き換える前に実行を封じ込める
悪意あるnpmまたはPythonパッケージへの対応手順を提案する。実行と公開を止め、証拠を保全し、漏えいした認証情報をクリーンなシステムから失効させ、リポジトリ内の永続化を調べたうえで、再構築と復旧の検証を行う。
機械可読: JSON