# Takumi Guard 機能を提供開始

**Takumi Guard** は、npm のサプライチェーンセキュリティを強化するレジストリプロキシです。

`.npmrc` にレジストリ URL を 1 行追加するだけで、**悪性パッケージのブロック**と**インストール後の追跡・感染可能性の通知**が有効になります。

![Takumi Guard 機能を提供開始](/docs/ja/_md-assets/fdce6ca759-eyecatch.png)

## 背景

npm エコシステムにおけるマルウェア検体の数は年々増加しています。タイポスクワッティングやアカウント乗っ取りによる正規パッケージへのコード注入など、攻撃手法も多様化しています。

さらに、AI エージェントが開発支援の一環としてパッケージの選択やインストールを自律的に行うケースが増えつつあります。人間の目によるレビューを経ずにパッケージが導入される場面が増えることで、悪意あるパッケージがすり抜けるリスクはこれまで以上に高まっています。

Takumi Guard は、こうした状況に対応するため、レジストリレベルでパッケージの安全性を検証する仕組みを提供します。

## 必要な変更は 1 行だけ

プロジェクトの `.npmrc` にレジストリ URL を追加するだけで、それ以降の `npm install` がすべて Takumi Guard を通るようになります。

```ini
registry=https://npm.flatt.tech/
```

アカウント登録は不要です。この 1 行を追加した時点で、すべてのパッケージリクエストに対してブロックリストチェックが即座に適用されます。npm・pnpm・yarn のいずれにも対応しており、既存のロックファイルを変更する必要はありません。

## 機能

### 悪性パッケージのブロック

Takumi Guard は、開発環境と公開 npm レジストリの間に位置するプロキシとして動作します。`npm install` のたびに各パッケージがブロックリストと照合され、マルウェア・タイポスクワッティング・侵害済みパッケージなど、既知の悪性パッケージは tarball のダウンロード前にブロックされます。

```mermaid
sequenceDiagram
    participant Client as npm クライアント
    participant Guard as Takumi Guard
    participant NPM as 公開 npm レジストリ

    Client->>Guard: npm install
    Guard->>Guard: ブロックリストを照合

    rect rgba(220, 38, 38, 0.08)
    Note right of Guard: 悪性パッケージの場合
    Guard--xClient: 403 ブロック
    end

    rect rgba(34, 197, 94, 0.08)
    Note right of Guard: 安全なパッケージの場合
    Guard-->>Client: 302 リダイレクト
    Client->>NPM: tarball をダウンロード
    end
```

ブロックリストは、GMO Flatt Security のセキュリティリサーチチームが構築・運用する自動分析パイプラインによって更新されています。npm レジストリはパッケージの新規公開・更新をリアルタイムに配信する変更フィード（[Replicate API](https://github.com/npm/registry/blob/main/docs/REPLICATE-API.md)）を提供しており、このフィードを継続的に監視することで、公開直後のパッケージを即座に取得し、静的解析・動的解析を経てブロック判定を行っています。公開アドバイザリに掲載される前のゼロデイの悪性パッケージにも対応できます。

詳しくは[インテリジェンス](/docs/ja/t/guard/architecture/intelligence)をご覧ください。

### インストール後の追跡・感染可能性の通知

メールアドレスを登録すると、ダウンロード追跡と感染可能性の通知が有効になります。過去にダウンロードしたパッケージに対してセキュリティアドバイザリが公開された場合、パッケージ名・バージョン、ダウンロード日時、フラグの理由、推奨される対処手順を含む通知メールが届きます。

インストール時は安全だったパッケージが、後に悪意あるものと判明したケースにも対応しています。

## 利用開始方法

セットアップ手順の詳細はユーザーガイドをご覧ください。

▼ ユーザーガイド: [Takumi Guard](/docs/ja/t/guard)
