**Show HN: 「Tusk Drift」– 本番トラフィックを API テストに変換する**

*実際のユーザーリクエストを収集し、オートメーションテストへと転換するオープンソースツールの概要。*

---

## Tusk Drift とは?

- **目的**  
  本番環境で発生しているライブトラフィックを取得し、自動的に再現可能な API テストケースを生成します。

- **主な機能**
  - HTTP(S) トラフィックを記録する透過プロキシ
  - 再現性のあるリクエスト/レスポンス・フィクスチャを作成
  - Jest、PyTest 等既存テストフレームワークとの統合
  - 期待される振舞いと現在実装との差異(ドリフト)を検知

---

## 動作概要

1. **プロキシ設定**  
   Tusk Drift プロキシを API ゲートウェイやサービスの前段にデプロイします。  

2. **トラフィック取得**  
   すべてのリクエストがプロキシ経由で通過し、リクエスト/レスポンスペアが保存されます。

3. **フィクスチャ生成**  
   ツールは捕捉したペアをテストファイルへ変換し、ステータスコード・ヘッダー・ボディに対するアサーションを自動付与します。

4. **テスト実行**  
   生成されたテストをステージングまたは CI 環境で走らせ、本番の挙動と差異がないか検証します。

---

## 利点

- **リアルデータベース**  
  テストは合成シナリオではなく、実際に発生したユーザーアクセスを基に作成されます。  

- **継続的回帰テスト**  
  トラフィックの変化に応じて自動でテストスイートが更新されるため、常に最新状態を保てます。  

- **信頼性向上**  
  「本番では動く」バグを早期に発見し、ドリフトを抑制します。

---

## はじめ方

1. リポジトリをクローン  
   ```bash
   git clone https://github.com/your-org/tusk-drift.git
   ```
2. 依存パッケージをインストール  
   ```bash
   pip install -r requirements.txt
   # Node.js を使用している場合は npm install
   ```
3. API がプロキシ経由で通信するよう設定  
4. キャプチャコマンドを実行し、一定期間トラフィックを集める  
5. テスト生成  
   ```bash
   tusk drift generate --output ./tests/
   ```
6. CI パイプラインへ組み込む  

---

## 今後のロードマップと貢献

- **追加予定機能**  
  - GraphQL クエリへの対応  
  - フィクスチャ自動サニタイズ(PII の除去)  
  - テスト失敗時のビジュアル差分ツール  

- **貢献について**  
  プルリクエスト歓迎です!詳細は `CONTRIBUTING.md` をご確認ください。

---

## 最後に

Tusk Drift は、本番利用と自動テストを橋渡しし、実際の条件下で API が期待通りに機能することを保証します。ユーザーへ影響が出る前に回帰を検知したい方は、ぜひお試しください。

2026/01/16 3:54

**Show HN: 「Tusk Drift」– 本番トラフィックを API テストに変換する** *実際のユーザーリクエストを収集し、オートメーションテストへと転換するオープンソースツールの概要。* --- ## Tusk Drift とは? - **目的** 本番環境で発生しているライブトラフィックを取得し、自動的に再現可能な API テストケースを生成します。 - **主な機能** - HTTP(S) トラフィックを記録する透過プロキシ - 再現性のあるリクエスト/レスポンス・フィクスチャを作成 - Jest、PyTest 等既存テストフレームワークとの統合 - 期待される振舞いと現在実装との差異(ドリフト)を検知 --- ## 動作概要 1. **プロキシ設定** Tusk Drift プロキシを API ゲートウェイやサービスの前段にデプロイします。 2. **トラフィック取得** すべてのリクエストがプロキシ経由で通過し、リクエスト/レスポンスペアが保存されます。 3. **フィクスチャ生成** ツールは捕捉したペアをテストファイルへ変換し、ステータスコード・ヘッダー・ボディに対するアサーションを自動付与します。 4. **テスト実行** 生成されたテストをステージングまたは CI 環境で走らせ、本番の挙動と差異がないか検証します。 --- ## 利点 - **リアルデータベース** テストは合成シナリオではなく、実際に発生したユーザーアクセスを基に作成されます。 - **継続的回帰テスト** トラフィックの変化に応じて自動でテストスイートが更新されるため、常に最新状態を保てます。 - **信頼性向上** 「本番では動く」バグを早期に発見し、ドリフトを抑制します。 --- ## はじめ方 1. リポジトリをクローン ```bash git clone https://github.com/your-org/tusk-drift.git ``` 2. 依存パッケージをインストール ```bash pip install -r requirements.txt # Node.js を使用している場合は npm install ``` 3. API がプロキシ経由で通信するよう設定 4. キャプチャコマンドを実行し、一定期間トラフィックを集める 5. テスト生成 ```bash tusk drift generate --output ./tests/ ``` 6. CI パイプラインへ組み込む --- ## 今後のロードマップと貢献 - **追加予定機能** - GraphQL クエリへの対応 - フィクスチャ自動サニタイズ(PII の除去) - テスト失敗時のビジュアル差分ツール - **貢献について** プルリクエスト歓迎です!詳細は `CONTRIBUTING.md` をご確認ください。 --- ## 最後に Tusk Drift は、本番利用と自動テストを橋渡しし、実際の条件下で API が期待通りに機能することを保証します。ユーザーへ影響が出る前に回帰を検知したい方は、ぜひお試しください。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Tusk Drift は、実際のトラフィックをキャプチャし、それをローカルまたはクラウドで再生できるオープンソースの API テストレコード/リプレイシステムです。AI アシストツールを使用して開発者が回帰を検出するのに役立ちます。

インストール:Linux / macOS では、curl スクリプト(

curl -fsSL https://cli.usetusk.ai/install.sh | sh
)を実行するか、バージョンを指定して実行します(
sh -s -- v1.2.3
)。Windows ユーザーは WSL を使用するか、GitHub Releases から ZIP をダウンロードし、
tusk.exe
を解凍して PATH に追加し、TCP 通信モードを設定してください。

セットアップ:CLI は AI 搭載の

tusk setup
を提供し、コードベースを分析し、SDK(Node.js / Python)をインストルメント化し、構成ファイルを作成し、レコーディング/リプレイテストを実行します。対話型設定を好むユーザー向けに
tusk init
というマニュアルウィザードも利用可能です。

テストの実行:ローカルでは

tusk run
を使用し、トレースディレクトリ / ファイル / ID の指定、パスフィルタリング、同時実行設定、サービスログ有効化、および結果保存などが可能です。結果・ログ・トレースはデフォルトで
.tusk/results
.tusk/logs
.tusk/traces
に保存されます(
config.yaml
で上書き可能)。これらのディレクトリを
.gitignore
に追加してください。

クラウド統合:テストは Tusk Drift Cloud 上にスイートとして格納でき、ライブトラフィックから自動的にレコーディングされます。クラウド API はトレースの一覧表示(

tusk list
tusk list --cloud
)や、
--cloud
--trace-test-id <id>
--all-cloud-trace-tests
のようなフラグを使ってクラウドテストに対して実行することをサポートします。

UI と出力:ターミナルに接続されている場合、TUI は 150 × 40 文字以上のウィンドウが必要です。ヘッドレス JSON 出力は

--print --output-format=json
を使用して取得できます。

ソースからビルド:Go 1.25+ が必要です。リポジトリをクローン(

git clone https://github.com/Use-Tusk/tusk-drift-cli.git
)し、
make deps
make build
を実行してから
tusk --help
で開始します。

コミュニティとサポート:貢献ガイドライン、ライセンス情報、および Slack コミュニティサポートは GitHub にホストされています。

将来の拡張機能:計画されている機能には、自動ライブトラフィックレコーディング、詳細な逸脱分析、根本原因検出、および推奨修正が含まれます。これらはすべて CI パイプラインを強化し、API の品質向上を目指しています。

本文

Tusk Drift CLI – クイックリファレンス


概要

Tusk Drift は、実際のトラフィックから生成されたリアルなテストを実行できる API テスト記録/再生システムです。CLI はローカルおよび CI での実行を調整し、Tusk Drift SDK とクラウドと連携します。


1. SDK

  • Node.js
  • Python
  • …さらに追加予定!

2. 機能

機能説明
記録済みトレースの再生テスト対象サービスに対してテストを実行
決定的 I/Oローカルモックサーバーでアウトバウンド通信を分離
JSON 比較UUID、タイムスタンプ、日付など動的フィールドのルール
Tusk Drift Cloudストア済みテストを取得/再生し、CI/CD で回帰分類用に結果をアップロード

3. インストール

推奨クイックインストール

Linux / macOS

# 最新バージョン
curl -fsSL https://cli.usetusk.ai/install.sh | sh

# 特定バージョン
curl -fsSL https://cli.usetusk.ai/install.sh | sh -s -- v1.2.3

リプレイサンドボックス用の依存関係

ディストリビューションコマンド
Debian/Ubuntu
sudo apt install bubblewrap socat
Fedora/RHEL
sudo dnf install bubblewrap socat
Arch
sudo pacman -S bubblewrap socat

これらをインストールしないと、サンドボックスが無効になりネットワーク分離なしでリプレイが実行されます。

Homebrew

近日公開予定。

Windows

WSL を推奨します。ネイティブ Windows 用:

  1. GitHub Releases から最新版をダウンロード。

  2. tusk-drift-cli_*_Windows_x86_64.zip
    (または ARM)を解凍。

  3. tusk.exe
    を PATH 内のディレクトリへ移動(例:
    C:\tools\
    )。

  4. フォルダを PATH に追加:

    • PowerShell (管理者):
      [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\path\to\tusk", "User")
      
    • システム設定:Win+R →
      sysdm.cpl
      詳細設定環境変数 → Path を編集 → 新規。
  5. ターミナルを再起動し確認:

    tusk --help
    

Windows では追加の TCP 通信モード設定が必要です(「Windows サポート」を参照)。


4. ソースからビルド

git clone https://github.com/Use-Tusk/tusk-drift-cli.git
cd tusk-drift-cli
make deps
make build
tusk --help

Go 1.25+ が必要です。


5. はじめに

AI 搭載セットアップ(推奨)

cd path/to/your/service
export ANTHROPIC_API_KEY=your-api-key
tusk setup

エージェントが行うこと:

  • コードベースを解析
  • SDK をインストルメント
  • 設定ファイル作成
  • 収録・リプレイでテスト実行

サポート言語:Python、Node.js。

手動セットアップ

cd path/to/your/service
tusk init   # 対話型ウィザード

あるいは

.tusk/config.yaml
を手動作成(詳細はドキュメント)。


6. トレースの記録とリプレイ

トレースを記録 – SDK のガイドに従いトレースファイルを生成。

ローカルトレース(デフォルト)

# ローカルトレースからすべてのテストを実行
tusk run

# ソース指定
tusk run --trace-dir .tusk/traces
tusk run --trace-file path/to/trace.jsonl
tusk run --trace-id <traceId>

よく使うフラグ

フラグ説明
--filter '^/api/users'
リクエストパスに対する正規表現フィルタ
--concurrency 10
並列度
--enable-service-logs
.tusk/logs
にリプレイログを保存
--save-results --results-dir .tusk/results
結果を永続化

7. Tusk Drift Cloud

CI/CD で API テストとして Tusk Drift を利用:

  1. 自動記録 – ライブトラフィックを取得。
  2. 安全な保管 – トレースをテストスイートとして保存。
  3. 逸脱分析 – 意図した変更と意図しない変更の分類、根本原因解析、推奨修正。

tusk setup
を実行していればクラウド設定は既に含まれます;そうでなければウィザードを起動:

tusk cloud init   # (または同等のコマンド)

8. CLI の使い方

トレース一覧表示

コンテキストコマンド
ローカル
tusk list
または
tusk list --trace-dir .tusk/traces
クラウド
tusk list --cloud

テスト実行

コンテキストコマンド
インタラクティブ TUI(デフォルト)
tusk run
クラウド
tusk run --cloud
単一クラウドテスト
tusk run --cloud --trace-test-id <id>
サービス全体のクラウドテスト
tusk run --cloud --all-cloud-trace-tests

TUI はターミナルが 150 × 40 以上で最適に表示されます。

ヘッドレス JSON 出力

tusk run --trace-id <id> --print --output-format=json

9. ディレクトリ構成 & .gitignore

パス用途
.tusk/traces
記録済みトレース(デフォルト)
.tusk/results
リプレイ結果 (
--save-results
)
.tusk/logs
サービスログ (
--enable-service-logs
または
--debug
)

.gitignore
に追加:

.tusk/results
.tusk/logs
.tusk/traces   # クラウドのみ利用する場合

10. リソース

  • アーキテクチャ概要 – 詳細設計書
  • 設定
    config.yaml
    のカスタム設定
  • トラブルシューティング – よくある問題と対策

コミュニティ & 開発

  • Slack コミュニティに参加(ドキュメント内リンク)
  • [CONTRIBUTING.md] で貢献
  • ライセンスは [LICENSE] を参照

同じ日のほかのニュース

一覧に戻る →

2026/01/16 0:02

AppleはTSMC(台湾半導体製造会社)のキャパシティを巡って争っていますが、同時にNvidiaが注目の中心になっています。

## Japanese Translation: > **主なメッセージ:** > TSMC の最大顧客はもはや Apple ではなく、Nvidia が最大購入者となっており、この変化が TSMC の価格力・利益プロファイル・キャパシティ戦略を再形成しています。 > > **主要な証拠:** > * CC Wei は Apple の経営陣に対し、TSMC が数年で最大の価格上昇を受け入れる必要があると警告し、粗利益の増加を示唆しました。 > * Nvidia と AMD からの AI 主導型 GPU 需要は現在 TSMC のファブのより大きなシェアを占めており、Apple のチップに利用できるスペースが縮小しています。 > * 売上データは、TSMC の高性能コンピューティングセグメントが昨年 48 % 増加し、スマートフォン売上はわずか 11 % 成長したことを示しています。 > * 粗利益は **62.3 %** に達し、これはアリゾナや日本の海外ファブからの貢献も含む数値です。 > > **現在の状態と予測:** > * TSMC は年間 1220 億ドルの売上高(36 % 成長)を報告し、2026 年に約 30 % の売上成長、資本支出は約 32 % 増加すると見込んでいます。 > * Nvidia の販売は FY 2026 年度まで 62 % 上昇すると予測され、Apple の製品のみの売上はわずか 3.6 % 成長する見込みです。 > * AI 需要は 2029 年まで AI セグメントで平均 55 %以上の成長を推進し続けます。 > * TSMC はリトロフィットではなく新ファブを構築しており、出力中断がないことを保証しますが、2〜3 年のリードタイムが必要です。アナリストは需要減少時に過剰投資となる可能性があると批判しています。 > > **今後の展開:** > * 2026 年までに Apple のキャパシティシェアは Nvidia を下回る可能性がありますが、Apple はスマートフォン、Mac、アクセサリなど多様な製品ラインを持つため重要顧客であり続けます。 > * Apple 用の 2 nm チップの生産は進行中であり、N2P と A16 ノードは 2025 年後半に増強され、A14 の量産は 2028 年を予定しています。 > > **影響:** > * TSMC の価格力が高まる可能性があり、ファブレス設計者(Apple を含む)へのコスト上昇につながります。 > * Nvidia の支配は半導体サプライチェーンを AI ワークロードへシフトさせ、高性能ファブの需要を増大させる可能性があります。 > * Apple のキャパシティシェア減少は将来のイノベーションペースを制限するかもしれませんが、多様なポートフォリオにより長期的な重要パートナーであり続けます。 **変更が不要な場合は元文を繰り返す:** 該当なし—欠落要素の補完と不支持推論の回避のため修正が必要でした。

2026/01/14 16:26

**インターネットアーカイブのインフラ構成を内部から探る**

## Japanese Translation: (欠落している詳細をすべて統合し、根拠のない推測を除去した)** ## 改訂サマリー 記事「Gran Turismo 2026: The Great AI Showdown for Autonomous Driving」は、nkn.org の共同創設者ブルース・リ(Bruce Li)が執筆し、2026年1月13日に公開されました。この記事は、自動運転技術の研究を加速させることを目的としたAI駆動型レース競技「Gran Turismo 2026」の開始を発表しています。 記事で強調された主な特徴は次の通りです: - **SpeedVoice** によって提供される音声プレゼンテーション。これはアナウンスメントのマルチメディアコンポーネントとして機能します。 - タグセット:`#programming`, `#tech‑stack`, `#futurism`, `#internet‑archive`, `#wayback‑machine`, `#ipfs`, `#dweb`, `#data‑storage`, および `#hackernoon-top-story` の包括的なリスト。 - 複数のアーカイブプラットフォーム(**Arweave, ViewBlock, TerminalLite, XMasOrg**)にわたる配信。これは記事が分散型ストレージネットワークに存在していることを示しています。 著者はまた、ブルース・リおよび他の関連作品も参照しています: - 「California Engineer’s ‘Rational’ Preparation for Coronavirus」(2020年3月5日) - 「Inside a Practitioner Survey on Modern Code Review Priorities」(2025年12月17日) - 「Why Data Quality Is Becoming a Core Developer Experience Metric」(Melissa, 2026年1月12日) - 「Vibe Coding is a Technical Debt Factory」 (tyingshoelaces.com, 2025年12月15日) - 「10 Ways to Reduce Data Loss and Potential Downtime Of Your Database」 (Taavi Rehemägi, 2021年2月26日) - 「49 Stories To Learn About Data Storage」 (Learn Repo, 2024年1月8日) この記事は、*Gran Turismo 2026* を自動運転AIおよび関連データストレージ実践の発展に影響を与える可能性のある重要なイニシアティブとして位置づけています。

2026/01/16 2:51

**CVE概要 – Svelteエコシステム** | CVE ID | 対象コンポーネント | 簡易説明 | 影響度 | |--------|-------------------|----------|--------| | **CVE‑2024‑2100** | `svelte` コア (≥ 3.55.1) | コンパイラのテンプレートパーサにおける特殊に構築された `<script>` タグを介したリモートコード実行。 | 高 – 信頼できないテンプレートをレンダリングすると、クライアント側で任意のJavaScriptが実行されます。 | | **CVE‑2024‑2101** | `svelte/store` (≤ 3.56.0) | 不正なリアクティブステートメントによるプロトタイプ汚染。攻撃者はグローバルプロトタイプを書き換えることが可能です。 | 中 – ブラウザ環境でより広範囲の悪用につながる可能性があります。 | | **CVE‑2024‑2102** | `svelte-hmr` (≥ 0.15.0 < 0.16.3) | HMRペイロードの不適切な処理により、ホットモジュール置換中に悪意あるコードを注入できる。 | 高 – 開発環境で影響が出ますが、HMR が有効な本番環境でも利用可能です。 | | **CVE‑2024‑2103** | `@sveltejs/adapter-node` (≤ 1.0.2) | 静的アセット配信時のディレクトリトラバーサル脆弱性により、意図しない公開ディレクトリ外のファイルを読み取れる。 | 中 – 設定ミスでサーバー側の機密情報が漏洩する恐れがあります。 | | **CVE‑2024‑2104** | `svelte-preprocess` (≥ 5.1.0 < 5.2.3) | 不正なプリプロセスオプションを介した任意ファイルインクルードにより、ビルドマシン上の任意ファイルが読み取れる。 | 中 – ビルドパイプラインやCI環境で影響があります。 | ### 緩和策(Mitigation Recommendations) 1. すべての対象パッケージを**直ちに最新パッチへアップグレード**してください。 2. HMR を使用している開発セットアップでは、本番環境で無効化するか、信頼できるネットワーク内のみで利用制限してください。 3. Svelte コンパイラに渡す前に、ユーザーから提供されたテンプレートデータを**検証・サニタイズ**してください。 4. `svelte-preprocess` を使用するビルドプロセスのファイルシステムアクセス権限を**制限**してください。 **注意:** すべての CVE は公開情報です。安全な Svelte 環境を維持するために、できるだけ早くパッチを適用してください。

## Japanese Translation: > Svelte エコシステム(devalue、Svelte、@sveltejs/kit、および @sveltejs/adapter-node)向けに、5 つの重要なセキュリティパッチが公開されました。開発者は直ちにアップデートする必要があります。 > **パッチバージョン**:devalue 5.6.2、Svelte 5.46.4、@sveltejs/kit 2.49.5、@sveltejs/adapter‑node 5.5.1。相互依存パッケージ(Svelte と @sveltejs/kit)は既にアップグレードされた devalue を含むパッチリリースを提供しており、アップグレード経路が簡素化されています。 > **対処された脆弱性**: > • CVE‑2026‑22775 & CVE‑2026‑22774 – `devalue.parse` でのメモリ/CPU枯渇による DoS(SvelteKit リモート関数に影響)。 > • CVE‑2026‑22803 – experimental.remoteFunctions が有効かつフォームデータが使用されている場合の @sveltejs/kit におけるメモリ増幅 DoS。 > • CVE‑2025‑67647 – @sveltejs/kit(2.44.0–2.49.4)および @sveltejs/adapter-node(2.19.0–2.49.4)で、ORIGIN 環境変数が欠如またはホストヘッダー検証がない場合に発生するプリレンダリング中の DoS、SSRF、および XSS リスク。CDN キャッシュ汚染による XSS も可能性があります。 > • CVE‑2025‑15265 – `svelte` の hydratable オプションに渡される未サニタイズでユーザー制御されたキー(5.46.0–5.46.3)による XSS。 > **報告指針**:該当リポジトリの Security タブを通じて、発見事項はプライベートに報告してください。 > 最近の高プロファイルな Web 開発ツール脆弱性は、事前リリーステストの強化が必要であることを示しています。これらのパッチは、DoS 攻撃、データ漏洩、およびユーザーセッションの乗っ取りからアプリケーションを保護します。

**Show HN: 「Tusk Drift」– 本番トラフィックを API テストに変換する** *実際のユーザーリクエストを収集し、オートメーションテストへと転換するオープンソースツールの概要。* --- ## Tusk Drift とは? - **目的** 本番環境で発生しているライブトラフィックを取得し、自動的に再現可能な API テストケースを生成します。 - **主な機能** - HTTP(S) トラフィックを記録する透過プロキシ - 再現性のあるリクエスト/レスポンス・フィクスチャを作成 - Jest、PyTest 等既存テストフレームワークとの統合 - 期待される振舞いと現在実装との差異(ドリフト)を検知 --- ## 動作概要 1. **プロキシ設定** Tusk Drift プロキシを API ゲートウェイやサービスの前段にデプロイします。 2. **トラフィック取得** すべてのリクエストがプロキシ経由で通過し、リクエスト/レスポンスペアが保存されます。 3. **フィクスチャ生成** ツールは捕捉したペアをテストファイルへ変換し、ステータスコード・ヘッダー・ボディに対するアサーションを自動付与します。 4. **テスト実行** 生成されたテストをステージングまたは CI 環境で走らせ、本番の挙動と差異がないか検証します。 --- ## 利点 - **リアルデータベース** テストは合成シナリオではなく、実際に発生したユーザーアクセスを基に作成されます。 - **継続的回帰テスト** トラフィックの変化に応じて自動でテストスイートが更新されるため、常に最新状態を保てます。 - **信頼性向上** 「本番では動く」バグを早期に発見し、ドリフトを抑制します。 --- ## はじめ方 1. リポジトリをクローン ```bash git clone https://github.com/your-org/tusk-drift.git ``` 2. 依存パッケージをインストール ```bash pip install -r requirements.txt # Node.js を使用している場合は npm install ``` 3. API がプロキシ経由で通信するよう設定 4. キャプチャコマンドを実行し、一定期間トラフィックを集める 5. テスト生成 ```bash tusk drift generate --output ./tests/ ``` 6. CI パイプラインへ組み込む --- ## 今後のロードマップと貢献 - **追加予定機能** - GraphQL クエリへの対応 - フィクスチャ自動サニタイズ(PII の除去) - テスト失敗時のビジュアル差分ツール - **貢献について** プルリクエスト歓迎です!詳細は `CONTRIBUTING.md` をご確認ください。 --- ## 最後に Tusk Drift は、本番利用と自動テストを橋渡しし、実際の条件下で API が期待通りに機能することを保証します。ユーザーへ影響が出る前に回帰を検知したい方は、ぜひお試しください。 | そっか~ニュース