npm
Takumi Guard のセットアップは、利用環境と必要な機能に応じて異なります。このページでは、ローカル開発環境と GitHub Actions の両方について、それぞれの利用方法を説明します。
設定方法
Takumi Guard には3つの利用方法があります。
- 匿名で利用する:トークン不要。レジストリ URL を設定するだけでパッケージブロックが有効になります。
- ユーザー 登録して利用する:メール認証トークン(
tg_anon_…)を使い、ダウンロード追跡と侵害通知を有効にします。 - 組織ユーザートークンで利用する:組織ユーザートークン(
tg_org_…)を使い、組織全体のインストール状況を追跡できます。
組織ユーザートークンを利用するには、Guard を有効化した基本サブスクリプションが必要です。詳しくは料金と請求を参照してください。
匿名で利用する
認証なしで Takumi Guard のパッケージブロック機能を利用できます。レジストリ URL を設定するだけで、悪意あるパッケージのブロックが有効になります。ダウンロード追跡や感染可能性の通知は利用できませんが、最も手軽に導入できる方法です。
プロジェクトの .npmrc にレジストリを追加してください。
registry=https://npm.flatt.tech/
またはグローバルに設定します。
npm config set registry https://npm.flatt.tech/
以上です。以降の npm install コマンドはすべて Takumi Guard 経由でルーティングされます。
Takumi Guard は npm、pnpm、yarn に対応しています。いずれも .npmrc の registry 設定を読み取ります。切り替え時のロックファイルの移行は不要です。パッケージマネージャーはレジストリ URL ではなくインテグリティハッシュでパッケージを検証するため、既存のロックファイルはそのまま使用できます。
なお、npm v11.15.0 以降および yarn v1 では、Takumi Guard の設定中に追加・更新されたロックファイルのエントリの resolved フィールドに、Takumi Guard のレジストリ URL(npm.flatt.tech)が記録されます。これは npm のサプライチェーンチェックとの互換性のために必要な挙動です。詳細はリリースノートを参照してください。pnpm はロックファイルにレジストリ URL を記録しません。
pnpm の場合は以下でも設定できます。
pnpm config set registry https://npm.flatt.tech/
yarn (v1) の場合、.npmrc の設定がそのまま反映されます。yarn berry (v2+) の場合は .yarnrc.yml に追加してください。
npmRegistryServer: "https://npm.flatt.tech/"
ユーザー登録して利用する
メールアドレスを登録すると、匿名利用のパッケージブロックに加えて、ダウンロード追跡と感染可能性の通知が利用可能になります。ダウンロードしたパッケージに後からセキュリティアドバイザリが公開された場合、登録したメールアドレスに通知が届きます。Shisho Cloud アカウントは不要で、無料で利用できます。
tg_anon_ トークンを取得済みの場合お持ちの tg_anon_ トークンは、そのまま npm / PyPI / RubyGems / Go モジュールいずれのエコシステムでも利用できます。再登録は不要で、下記の ステップ 3 から進めてください。
ステップ 1: メールアドレスを登録する
curl -X POST https://npm.flatt.tech/api/v1/tokens \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "language": "ja"}'