# Registry Proxy

Registry Proxy は、マルウェアのブロック、最小パッケージ経過時間の適用、脆弱なパッケージのパッチ適用済みバージョンの提供により、サプライチェーンの安全を守ります。

パブリックレジストリから直接パッケージを取得する代わりに、プライベートレジストリが Aikido のプロキシを経由してリクエストをルーティングします。

```mermaid
flowchart LR
    dev["Developer"]
    priv["Private Registry\ne.g. Artifactory"]
    aikido["Aikido\nRegistry Proxy"]
    pub["Public Registry"]
    blocked["Blocked"]

    dev -->|"install"| priv
    priv --> aikido
    aikido -->|"safe"| pub
    aikido -->|"malware / too new"| blocked

    style blocked fill:#fdecea,stroke:#e53935,color:#b71c1c
    style aikido fill:#e8f5e9,stroke:#43a047
```

Aikido は、各パッケージが環境に届く前に検査し、既知の悪意のあるパッケージをブロックし、信頼するには新しすぎるパッケージを拒否します。プロキシの URL は [Aikido UI](https://app.aikido.dev/issues/aikido-libraries/setup-instructions) で確認できます。

{% hint style="info" %}
現在、npm、PyPI、Maven、NuGet のパッケージがサポートされています
{% endhint %}

### マルウェアのブロック

Registry Proxy はマルウェアを含むパッケージをブロックするため、マルウェアが開発環境、パイプライン、本番環境に到達することはありません。

パッケージは、[https://intel.aikido.dev/malware](https://intel.aikido.dev/malware) の Aikido Intel マルウェアフィードに基づいてブロックされます。

### 最小パッケージ経過時間

過去 48 時間以内に公開されたパッケージバージョンは、Registry Proxy 経由では利用できません。これにより、マルウェアチームが新しいパッケージバージョンにマルウェアが含まれていないかを検査する時間を確保できます。

最小パッケージ経過時間は、Aikido UI で**エコシステムごと**（例: npm、pypi）**に設定**できます。[Devices > Settings](https://app.aikido.dev/endpoint-protection/settings) に移動し、エコシステムをクリックして最小パッケージ経過時間を設定してください。設定すると、Registry Proxy はデフォルトの 48 時間ではなく、デバイスの最小パッケージ経過時間を使用します。

### パッチ適用済みライブラリ

[Aikido Libraries](https://help.aikido.dev/autofix-and-remediation/aikido-libraries-overview) を使用すると、ライブラリの同じバージョンを使い続けることで破壊的変更を回避できます。Aikido は、既知の Critical および High の脆弱性を緩和した、古いバージョンのライブラリのパッチ適用済みライブラリを提供しています。

Aikido Libraries の一覧は、Aikido UI の [AutoFix > Libraries](https://app.aikido.dev/issues/aikido-libraries) で確認できます。AutoFix を使用して、Aikido Libraries に更新するための PR を作成してください。

## サポートされているレジストリ

{% content-ref url="jfrog-artifactory.md" %}
[jfrog-artifactory.md](https://help.aikido.dev/docs/docs-ja/miscellaneous-integrations/private-registries/jfrog-artifactory)
{% endcontent-ref %}

{% content-ref url="azure-devops-artifacts.md" %}
[azure-devops-artifacts.md](https://help.aikido.dev/docs/docs-ja/miscellaneous-integrations/private-registries/azure-devops-artifacts)
{% endcontent-ref %}

{% content-ref url="nexus-repository.md" %}
[nexus-repository.md](https://help.aikido.dev/docs/docs-ja/miscellaneous-integrations/private-registries/nexus-repository)
{% endcontent-ref %}

{% content-ref url="gcp-artifact-registry.md" %}
[gcp-artifact-registry.md](https://help.aikido.dev/docs/docs-ja/miscellaneous-integrations/private-registries/gcp-artifact-registry)
{% endcontent-ref %}

{% content-ref url="cloudsmith.md" %}
[cloudsmith.md](https://help.aikido.dev/docs/docs-ja/miscellaneous-integrations/private-registries/cloudsmith)
{% endcontent-ref %}

## オンプレミス Registry Proxy

{% content-ref url="on-premise-transparent-proxy.md" %}
[on-premise-transparent-proxy.md](https://help.aikido.dev/docs/docs-ja/miscellaneous-integrations/private-registries/on-premise-transparent-proxy)
{% endcontent-ref %}
