> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/zen-firewall/how-does-zen-work.md).

# Zenはどのように動作するのか？

Aikido の Zen Firewall は、コードに直接組み込まれる強力なアプリケーションファイアウォールです。この位置にあることで、WAF のように外側から受信リクエストを検査するだけでなく、コード内で実際に何が起きているかを見て理解できます。

### Zen と従来のファイアウォールの違い

Zen は、実行環境内の主要なパッケージや組み込みモジュールに計測を組み込みます（例： `fs.readFile`, `http.request`, `fetch`、および `mysql.query` Node.js で）。この機能により、Zen は潜在的に安全でないユーザー入力が危険なコンテキストで現れたとき、その入力の出どころまで追跡できます。たとえば、入力が SQL クエリの引用符の外に出る、ファイルパスを操作する、外向きの HTTP 接続のホスト名を変更する、あるいは同様のセキュリティ脆弱性を生み出す場合などです。これを検知すると、Zen は例外を投げることでコード内でその操作を直接停止します。またスタックトレースも取得するため、開発者は問題がどこで、どのように発生したかをすぐに確認できます。

**アプリケーション全体のコンテキストを踏まえて動作するため、従来のファイアウォールや WAF と比べて、より正確な判断を下し、継続的な調整やルール更新の必要性を減らせます。**

これに対し、従来のファイアウォールや WAF はネットワークの境界に配置され、受信する HTTP リクエストだけをもとにブロックするかどうかを判断します。通常はパターンマッチングに依存しており、たとえば次のような SQL インジェクションのペイロードを検出します `' OR 1=1 --`。これには限界があります。アプリケーション内部でそのリクエストがどのように処理されるかを確認できないため、無害なリクエストをブロックしたり、巧妙に偽装された攻撃を見逃したりすることがあります。

### Zen と **従来のファイアウォールや WAF**

Zen は分散型サービス拒否攻撃（DDoS）には対抗できません。ネットワークスタックの深い内部にあるため、大量のトラフィックの洪水がアプリケーションに届く前に止めることができないからです。こうした状況に対処するには、従来のファイアウォールが引き続き必要です。最も強力な防御は両方を併用することです。大規模なネットワーク脅威にはファイアウォールを、きめ細かなコードレベルの保護には Zen を使います。

### ブロック以上の機能

Zen には、多くの従来のファイアウォールにはない機能も含まれています：

* **ボットと IP のブロック** – ファイアウォールでもボットをブロックできますが、高度なボットフィルタリングの設定は複雑になりがちです。Zen なら、ボットや既知の脅威アクター、Tor からのリクエストを簡単にブロックでき、法的または事業上の理由で必要な場合には、国や大陸単位でアクセスを制限することもできます。
* **ユーザー認識型レート制限** – ファイアウォールには IP アドレス単位でレート制限する方法があります。Zen は実際のユーザーに基づいてレート制限でき、さらにレート制限グループ ID を設定する方法も提供します。たとえば B2B SaaS では、個々のユーザーや IP ではなく顧客アカウントごとにエンドポイントをレート制限できます。
* **API ドキュメントの自動生成** – Zen は実際のトラフィックをサンプリングして OpenAPI 仕様を生成し、その後 Aikido プラットフォームで API のスキャンやテストに利用できます。
* **AI モデルの追跡** – 大規模言語モデルを呼び出す場合、Zen は入力・出力トークンを追跡して、さまざまなプロバイダーやモデルにわたる使用量とコストを見積もれます。

### インストールと保守が簡単

Zen は数秒でインストールでき、多くの場合は 1 つのコマンドで済みます。セットアップ体験は OpenTelemetry のようなトレーシングライブラリを追加するのに似ています。Zen は大規模な静的ルールセットに頼るのではなく、実行環境に計測を組み込むことで動作するため、頻繁な更新や複雑な設定は必要ありません。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/zen-firewall/how-does-zen-work.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
