
npq v3.24.0
npmパッケージをインストール前の段階で監査して、安全にインストールします。
NPQドキュメント
このディレクトリには、NPQ(Node Package Quality)セキュリティ監査ツールの包括的なドキュメントが含まれています。
コアドキュメント
optional-features.md
オプションのセキュリティ機能の設定と使用方法。最近の改善点とバグ修正を含みます。
age.marshall.md
パッケージの年齢と成熟度を検証するAge Marshallセキュリティコンポーネントの詳細なドキュメント。
機能ドキュメント
feature/ディレクトリには、特定の機能と実装の詳細なドキュメントが含まれています:
最近の開発
test-coverage-improvements.md- テストカバレッジを84.4%から93.39%に向上させた包括的なテストカバレッジ強化signature-verification-fix.md- バージョン範囲(例:@angular/common@^20.2.4)における署名検証の重大なバグ修正
既存の機能
auto-continue.md- パッケージインストールワークフローを効率化する自動継続機能のドキュメントexit-codes.md-npqおよびnpq-heroプロセスの終了動作のリファレンスjson-output.md- CIおよび自動化のためのバージョン管理された機械可読な監査専用出力malicious-package.md- Snyk/OSVデータによる既知の悪意のあるパッケージ検出のドキュメントpacote-dependency-reduction.md- オプションのpacote依存関係削減の実装概要
ドキュメント標準
構造
- 各機能は
feature/内に独自のマークダウンファイルを持つ - コア機能はルートのdocsレベルでドキュメント化
- 技術的な実装詳細はコード例とともに含める
- ユーザー向け設定は使用例とともにドキュメント化
コンテンツガイドライン
- 概要:機能/コンポーネントの簡単な説明
- 技術設計:アーキテクチャと実装の詳細
- 使用例:コードスニペット付きの実践的な例
- テスト:カバレッジと検証情報
- 将来の考慮事項:メンテナンスと進化に関するメモ
Marshallドキュメント
MarshallコンポーネントはNPQの中核となるセキュリティ検証モジュールです。各マーシャルは特定のセキュリティ問題に焦点を当てています:
- Age Marshall(
age.marshall.md)- パッケージの年齢と成熟度の検証 - Signature Marshall - NPMレジストリの署名検証(
signature-verification-fix.mdを参照) - Provenance Marshall - パッケージのビルド証明検証
- Snyk Marshall - 脆弱性データベース統合
- Typosquatting Marshall - パッケージ名の類似性検出
ドキュメントへの貢献
新機能を追加する場合や重要な変更を行う場合:
- 機能ドキュメント:
feature/ディレクトリに新しいファイルを作成 - インデックスの更新:このREADMEにエントリを追加
- 相互参照:関連するドキュメントファイルを更新
- 例:実践的な使用例を含める
- テスト:テストカバレッジと検証を文書化
クイックリファレンス
| トピック | ファイル | 目的 |
|---|---|---|
| オプション機能 | optional-features.md | 機能設定と最近の改善点 |
| 年齢検証 | age.marshall.md | パッケージの年齢と成熟度のセキュリティチェック |
| テストカバレッジ | feature/test-coverage-improvements.md | 最近のテストスイート強化 |
| 署名検証 | feature/signature-verification-fix.md | バージョン範囲のバグ修正と検証 |
| 自動継続 | feature/auto-continue.md | 自動化されたインストールワークフロー |
| JSON監査出力 | feature/json-output.md | CI向けのバージョン管理された機械可読な監査結果 |
| 終了コード | feature/exit-codes.md | CLIおよびパッケージマネージャーのパススルー終了動作 |
| 悪意のあるパッケージ | feature/malicious-package.md | 既知の悪意のあるパッケージの検出と報告 |
| 依存関係削減 | feature/pacote-dependency-reduction.md | オプションの依存関係管理 |
プロジェクトコンテキスト
- 開発 - ローカルセットアップ、ワークフロー、便利なコマンド。
- テスト - テストコマンド、テスト構成、検証の期待事項。
- アーキテクチャ - リポジトリ構造、パッケージ境界、重要なフロー。
- 規約 - コーディング、ドキュメント、メンテナンスの規約。
設計仕様
-
非対話型インストールの安全性 - 明示的な自動化およびコーディングエージェントのオプトインを備えた、フェイルクローズ型の非TTYインストールの承認済み設計。
-
非対話型インストールの安全性 - フェイルクローズ型の非TTYインストールルーティングとコーディングエージェントのパススルーのためのテストファースト計画。
-
シェルフリーのパッケージマネージャー起動 - シェルコマンドの再構築なしでパッケージマネージャーの引数を転送するための承認済み設計。
-
カスタムレジストリサポート - npm互換のArtifactoryおよびプライベートレジストリサポートの承認済み設計。
-
コーディングエージェントJSON検出 - コーディングエージェント環境でJSON監査モードを自動選択するための承認済み設計。
-
JSON監査出力 - バージョン管理された非対話型の機械可読な監査結果の承認済み設計。
-
期限切れドメインのメンテナーID警告 - 帰属可能な期限切れドメイン警告の承認済み設計。
-
期限切れドメインの解決バージョン - 期限切れドメインチェックのための正確な依存関係バージョン解決の設計。
実装計画
- 非対話型インストールの安全性 - フェイルクローズ型の非TTYインストールルーティングとコーディングエージェントのパススルーのためのテストファースト計画。
- シェルフリーのパッケージマネージャー起動 - シェルコマンドの再構築なしでパッケージマネージャーを起動するためのテストファースト計画。
- カスタムレジストリサポート - 問題#429のタスク単位の実装計画。
- コーディングエージェントJSON検出 -
npqおよびnpq-heroにわたる問題#426のテストファースト実装計画。 - JSON監査出力 - バージョン管理された監査専用JSON CLI出力のタスク単位の計画。
- 期限切れドメインの解決バージョン - 期限切れドメインチェックにおける正確な依存関係バージョン解決の実装計画。
- 期限切れドメインのメンテナーID警告 - 帰属可能な期限切れドメイン警告のテストファースト実装計画。