Sploitus

Exploit for ayaFlow

kitploit · 2026-09-04

Exploit Code

MARKDOWN157 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-DAVIDHAVOC-AYAFLOW
# ayaFlow

ayaFlowは、Aya で構築されたRust + eBPFネットワークトラフィックアナライザです。各Linuxノードで1つのエージェントを実行し、ingressとegressにTC分類器をアタッチし、ライブトラフィックデータ、SQLiteによる履歴データ、およびPrometheusメトリクスを公開します。

## 何をするか

  * eBPF TC分類器を使用してIPv4、IPv6、TCP、UDPトラフィックをキャプチャします。
  * メモリ内のライブ接続統計とSQLite内の履歴レコードを保持します。
  * オプションで、リバースDNS、DNSクエリドメイン、TLS SNIでトラフィックをエンリッチします。
  * REST API、WebSocketストリーム、Prometheusの`/metrics`エンドポイントを公開します。
  * Docker、Kubernetes、Prometheus、Grafanaの例が同梱されています。



## サポートされている開発フロー

ayaFlowのパケットキャプチャランタイムはLinuxのみです。コントリビュータのワークフローは意図的に分割されています。

  * macOSまたはLinuxでのホストセーフチェック: 
    * `cargo test -p ayaflow-common`
    * `cargo test -p ayaflow`
    * `cargo xtask build-user`
    * `cargo xtask check-host`
  * Linuxのみのビルドとランタイム: 
    * `cargo xtask build-ebpf`
    * `cargo xtask build`
    * `cargo xtask run -- --deep-inspect`



macOSの場合は、完全なeBPFワークフローにDockerまたはLinux VMを使用してください。両方のパスについてはHOW_TO_USE_LOCAL.mdを参照してください。

## クイックスタート

### 1\. ホストのサポートを確認

root@kitploit:~
    
    
    cargo xtask check-host
    

### 2\. Linuxでビルド

root@kitploit:~
    
    
    cargo xtask build
    

### 3\. Linuxで実行

root@kitploit:~
    
    
    sudo ./target/debug/ayaflow --db-path /tmp/traffic.db
    

`--interface`が省略された場合、ayaFlowは`/proc/net/route`からデフォルトルートインターフェースを自動検出し、検出に失敗した場合のみ`eth0`にフォールバックします。

### 4\. 確認

root@kitploit:~
    
    
    curl http://localhost:3000/api/health
    curl http://localhost:3000/api/stats
    curl "http://localhost:3000/api/history?limit=5&row_type=raw"
    curl http://localhost:3000/metrics
    

## CLIオプション

## APIリファレンス

`/api/history`がサポートするパラメータ:

  * `limit`, `offset`
  * `start_time`, `end_time`
  * `protocol`
  * `ip`, `src_ip`, `dst_ip`
  * `port`, `src_port`, `dst_port`
  * `direction`
  * `domain`
  * `row_type=raw|aggregated`



例:

root@kitploit:~
    
    
    curl "http://localhost:3000/api/history?limit=20&protocol=TCP&dst_port=443&row_type=raw"
    

## プロジェクト構造

root@kitploit:~
    
    
    ayaflow/           Userspace runtime, API, storage, and host-safe tests
    ayaflow-common/    Shared packet/event types used by userspace and eBPF
    ayaflow-ebpf/      TC classifier and payload capture program
    xtask/             Build and workflow helpers
    k8s/               Kubernetes manifests
    monitoring/        Prometheus and Grafana assets
    

ルートレベルの重複した`src/`ツリーはレガシーであり、サポートされているビルドパスの一部ではありません。上記の`ayaflow/`クレートと`cargo xtask`コマンドを使用してください。

## デプロイメントガイド

  * ローカルLinuxおよびmacOS+VMのワークフロー: HOW_TO_USE_LOCAL.md
  * Docker: HOW_TO_USE_DOCKER.md
  * Kubernetes: HOW_TO_USE_K8S.md



## 技術ドキュメント

  * アーキテクチャ: ARCHITECTURE.md
  * フットプリントとパフォーマンスノート: PERFORMANCE.md



## ここでテスト済み

ホストセーフワークフローは現在、このmacOS開発マシンで以下を通過します:

  * `cargo test -p ayaflow-common`
  * `cargo test -p ayaflow`
  * `cargo xtask check-host`



Linuxのみのランタイム検証は、eBPFツールチェーンがインストールされたLinuxホストまたはCIランナーで行う必要があります。

## ライセンス

このプロジェクトは、コンポーネントに応じて3つの異なるライセンスを使用しています:

### ユーザー空間コンポーネント

ユーザー空間エージェントと共通ライブラリ(`ayaflow`および`ayaflow-common`)は、以下のいずれかのデュアルライセンスです:

  * Apache License, Version 2.0
  * MIT License



お好みで。

### カーネルコンポーネント

eBPFカーネルコンポーネント(`ayaflow-ebpf`)は、Linuxカーネル検証器との互換性を確保するために、厳密にGNU General Public License v2.0 (GPL)の下でライセンスされています。