mcpField
S
security

security

github.com/keejkrejセキュリティ138 回インストール18 週間前に更新
リポジトリ

security について

Bun、npm、pnpm、uv の依存ポリシーを設定する開発者向けのセキュリティスキルです。実際に使われているパッケージマネージャーに合わせて公開後7日間の成熟期間を設定し、無関係な設定は保持します。

主な機能

  1. 01公開後7日間の成熟期間を設定
  2. 02リポジトリで使うパッケージマネージャーを特定
  3. 03関連する設定ファイルのみ更新
  4. 04既存の形式と無関係な設定を保持
  5. 05公開年齢制限の適用範囲を説明

活用シーン

  1. 01Bun プロジェクトの成熟期間設定
  2. 02npm または pnpm リポジトリのチーム方針設定
  3. 03uv で新しい PyPI パッケージの解決を制限

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/keejkrej/based-skills --skill security

インストール後、Claude Code で/securityを入力して読み込まれたか確認します。

詳細

セキュリティ:リリースからの最低経過期間

デフォルトで、レジストリパッケージに7日間の成熟期間を適用します。

定数

  • 7日間を使用します。
  • 必要に応じて換算します:7 日 = 10080 分 = 604800 秒。
  • リポジトリで実際に使用しているパッケージマネージャーのみ追加します。
  • 認証トークンやシークレットをコミット済みの設定に含めないでください。

設定

ツールファイルキー7日間の値
Bunbunfig.toml [install]minimumReleaseAge604800
npm.npmrcmin-release-age7
pnpmpnpm-workspace.yamlminimumReleaseAge10080
uvpyproject.toml [tool.uv] または uv.tomlexclude-newer"7 days"

Bun

  • ルートに bunfig.toml を追加するか、既存のファイルを更新します。
  • 限定的な例外にのみ minimumReleaseAgeExcludes を使用します。
[install]
minimumReleaseAge = 604800

ドキュメント:https://bun.sh/docs/runtime/bunfig#installminimumreleaseage

npm

  • チームのポリシーとして、プロジェクトレベルの .npmrc を追加します。
  • min-release-age と before を併用しないでください。
  • 限定的かつ正当な理由のあるパッケージにのみ除外を使用します。
min-release-age=7

ドキュメント:https://docs.npmjs.com/cli/using-npm/config#min-release-age

pnpm

  • pnpm 11.x では、認証以外の設定を pnpm-workspace.yaml に記述します。
  • ワークスペースファイルがない場合は、最小限のファイルを追加して、現在のパッケージを含めます。
  • 内部スコープなどの限定的な例外にのみ minimumReleaseAgeExclude を使用します。
  • 古い pnpm のリポジトリでは、アップグレード時に古い .npmrc の経過期間設定を移行します。
minimumReleaseAge: 10080

ドキュメント:https://pnpm.io/settings#minimumreleaseage

uv

  • PyPI の依存関係解決に exclude-newer を設定します。
  • 読みやすさを優先して "7 days" を使用します。
  • パッケージごとの限定的な上書きにのみ exclude-newer-package を使用します。
[tool.uv]
exclude-newer = "7 days"
exclude-newer = "7 days"

ドキュメント:https://docs.astral.sh/uv/reference/settings/#exclude-newer

ワークフロー

  • ロックファイルと設定からパッケージマネージャーを検出します:bun.lock、bunfig.toml、package.json、その他のロックファイル、pnpm-workspace.yaml、pyproject.toml、uv.toml。
  • 関連するファイルのみ更新します。
  • 既存の書式と無関係な設定を維持します。
  • ポリシーの変更後、通常のインストール、同期、またはロックコマンドを実行します。
  • 依存関係の解決に失敗した場合は、バージョン範囲を狭める、成熟するまで待つ、または限定的な除外を追加します。
  • 適切な場合は、PR の説明またはコントリビューター向けドキュメントに7日間のポリシーを記載します。

制限事項

  • 経過期間による制限は多層防御の一つとして使用し、ロックファイルのレビュー、スクリプトの制限、プライベートレジストリの管理、シークレットスキャンの代替にはしないでください。
  • Git、tarball、パス、またはプライベートレジストリの依存関係を使用する場合は、アップストリームの動作を確認してください。

コメント