Show HN: ストローク — コーディングエージェントが行った操作と理由のローカル監査ツール

2026/11/06 0:54

Show HN: ストローク — コーディングエージェントが行った操作と理由のローカル監査ツール

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

要約▶

日本語訳:

Stroq は、外部アカウントを必要とせずに AI コーディングエージェント(Claude Code、Cursor、Codex CLI、Copilot など)の偶発的な機密情報の漏洩を防ぐことで、さまざまなセキュリティを保護することを目的としたプライバシー志向のローカルセキュリティプラットフォームです。macOS と Linux で動作し、ネイティブフックを搭載しており、機密クレデンシャル(例:API キー)を含むアウトバウンドリクエストを含むツールコールをインターセプトしてブロックします。システムは、エージェントセッションの過去 30 日間の記録、キーファイル(例:

~/.aws/credentials
)、およびフォルダを読み取り、ローカルキャッシュ(
~/.stroq
)に格納されたエクスポートされたキーの名前のみを印刷し(値は決して表示しない)、その機密性を特定します。システムはフルなサンドボックス化ではなくテキストレベルのマッチングを採用しており、繰り返し実行されるコマンドや特定のキーとの一致(例:エクスポートされた Stripe シークレット)を検出します。ユーザーは、未来のセッションを保護するために
npx @stroq/cli init
という特定の CLI コマンドを使用したり、フックが無効だった場合でも過去 30 日間のセッションを分析する
replay --all
コマンドを使用したり、既知の攻撃ベクトルに対してサンドボックス化されたテストを行うために攻撃シミュレーション(バージョン 0.30.0 で利用可能)のコマンド
attack
を使用したりできます。127.0.0.1 のプライベートローカルコンソールでは、テレメトリやアウトバウンドコールなしで証拠ログを取得できます。ストロークはサポートされた環境での明示的な漏洩に対して非常に効果的ですが、ローカルキャッシュの定義と一致しない古い、回転済み、または暗黙的なスクリプトベースの脆弱性を検出できない可能性があります。現在では Apple と Linux 向けのネイティブインストールに限定されており、Windows ユーザーは
stroq init
を手動で有効にする必要があります。インストールには Node.js 22 またはそれ以降(Apache-2.0 ライセンス)が必要です。誤検知に関するガイドやエージェント固有のフックなど、包括的なドキュメントは stroq.dev で利用可能です。究極的には、Stroq はローカル開発環境におけるセキュリティとプライバシーの間に強固なバランスを提供します。

本文

Stroq: AI エージェント向けローカルセキュリティプラットフォーム

Stroq は、ご自身の Claude Code および Codex セッションを読み取り、エージェントが閲覧したテキストから由来するコマンドの数をカウントし、マシンから外部へ送信されたキーの種類を分析します。

  • 表示内容: アジェンツ(エージェント)が閲覧したテキストから生成されたコマンド数、およびマシンから流出したキーの種類のみを表示します。
  • 対象範囲: 直近 30 日のセッション、キーファイル、およびエージェントが作業したフォルダが読み取られます。
  • プライバシー保証:
    • コマンド名のみ表示し、キーの値は一切表示しません。
    • ~/.stroq
      ディレクトリに最小限のキャッシュファイルを記録するだけで、外部への送信は行いません。
    • アカウント登録やテlemetry(使用状況の収集)は不要です。

コマンド一覧と基本機能

基本コマンド

コマンド概要
npx @stroq/cli
ご自身のセッションカードを表示します。
npx @stroq/cli init
次回から機能を停止し、エージェントを保護するために使用します。
npx @stroq/cli why
アクションが停止された理由を確認します。
npx @stroq/cli attack
サンドボックス環境で、Stroq が既知の攻撃を検知・阻止する様子を見ることができます(36 種類)。
npx @stroq/cli uninstall
Stroq を削除します。

カード詳細の表示

  • 証拠の出力: カード上の各モーメントには「stroq show」ラインがあり、背後にある証拠を出力できます(例:
    npx @stroq/cli show 1
    )。
  • 全コマンドの一覧表示:
    stroq help --all
    で利用可能なコマンドを確認可能です。
  • 環境要件: Node.js 22 以上が必要です(Apache-2.0 ライセンス)。

⚠️ 注意: 画像内のマシン、セッション、キー、ホストはすべて架空のものであり、実際には何ら実行もされていません。


カード機能を超えて:セキュリティプラットフォームとしての活用

Stroq は、AI コーディングエージェント(Claude Code、Cursor、Codex CLI など)向けのローカルセキュリティプラットフォームです。そのフック(Hook)は、各ツール呼び出しを実行する前に評価します。

  • 通信遮断:
    curl | sh
    などの危険な操作や、マシン上の既知の秘密情報を外へ持ち出す通信を遮断します。
  • 再確認機能: エージェントが以前読み取ったテキストを再度含むコマンドを発行しようとした際には、そのテキストを提示し、ユーザーに確認をとってから実行を許容します。

コンソール機能

コンソール画面では、実際に応答を求めているエージェントと、各意思決定の理由が表示されます。インストールなしで既存セッションの検証も可能です。

  • npx @stroq/cli console
    :
    127.0.0.1
    にホストされるプライベートなページです。
  • npx @stroq/cli replay --all
    : 直近 30 日間の Claude Code セッションをポリシーに基づいて再検証(フックのインストールは不要)。
  • npx @stroq/cli sent
    : エージェントがキー情報を外部へ流出させたかどうかを確認(キー名のみ表示、値は表示しない)。
  • npx @stroq/cli init
    : エージェントにフックを適用し、次のセッションを保護します。

コンソールについて詳しく

第五の画面「Rules(ルール)」では、実際に動作させることなくアクションを試すことができます。

  • プレビューとテスト: ルールの有効化をプレビューとテストモードで行い、履歴の取り消しも可能で、ルールへの参照リンクも確認できます。
  • 接続状態の確認:
    • Connected(接続済み): Stroq のフックがエージェントの設定に含まれていることを意味します。
    • 注意:エージェントがそれを呼び出しているわけではありません(「Test hook」および「Live」表示で確認可能)。

コンソール起動コマンド

  • npx @stroq/cli console
    : デフォルト設定でのプライベートページ表示(
    127.0.0.1
    )。
  • npx @stroq/cli console --workspace /path/to/repo
    : ストロクが対象にするプロジェクトを指定します。

💡 コンソールの仕組み: コンソール起動ごとに新しいキーが含まれます。すでにストロクで記録されたデータを閲覧できます。設定変更やポリシー更新は、プレビューの確認後にのみ反映されます。実行チェック結果は

~/.stroq
に保存されます。

動作環境とプラットフォームの制限

  • セキュリティ:
    127.0.0.1
    のみリスニングし、アカウント不要、テlemetry なし。
  • 動作原理: コンソール自体がエージェントを起動することはありません。「Test hook(テストフック)」はオフラインで一度だけフックを実行します。
  • OS 依存: コンソールからフックを追加するには macOS または Linux の必要があります。Windows 版では
    stroq init
    を使用してください。

ソースコードからのセットアップ

pnpm install --frozen-lockfile
pnpm --dir console install --ignore-workspace --frozen-lockfile
pnpm platform:build
pnpm platform --workspace /path/to/repo

ターミナルでの使用例(CLI 出力)

以下は、0.29.0 バージョンの CLI 出力です(パス名は省略されています)。

stroq replay

  • 機能: エージェント自身のスクリプトを読み取るため、Stroq をインストールする前のセッションでも機能します。エージェントが何を読み取り、その後にどのようなアクションが発生したかを特定します。
  • オプション:
    --all
    オプションを使用すると、直近 30 日のすべてのセッションを確認し、どのセッションを開くべきか提案します。
  • 注意: 実行も送信も行わず、判断は現在のポリシーに基づき、過去の動作の記録ではありません。

stroq sent

  • 機能: Claude Code、Codex CLI、Cursor のセッションをマシンの認証情報と比較し、各キーがどこへ流出したかを特定します。
    • 別の企業へ送信されたケース
    • 送信の可能性が高いケース
    • AI が視認したケース
    • エージェント自身で使用されたケース
    • 実行前にブロックされたケース
  • 表示制限: 表示されるのはキー名とソースのみで、値は一切表示されません。

✅ セッションの秘密スキャン手順から始めると良いでしょう(まだセッションがない場合は、架空のキーを使用してください)。


stroq sent
の検出結果例(架空データ)

確認期間: 3 セッション(Claude Code: 2、Codex: 1)、2026 年 10 月 2 日〜19 日 比較対象:

~/.aws/credentials
,
~/.npmrc
,
~/work/shop/.env
,
~/work/api/.env

【送信されたキー】(別の企業へ)→ 本日中に回転(rotate)してください

  1. STRIPE_SECRET_KEY
    • ソース:
      ~/work/shop/.env
    • 検出状況: 宛先:
      collector.example
      、curl コマンド経由
    • 日時: 2026-10-11 14:02 UTC(Claude Code)
    • 対応策: Stripe API キー管理ダッシュボード からキーを無効化し、
      ~/work/shop/.env
      を更新してください。

【AI が視認したキー】→ 重要であれば回転を検討

  1. aws_secret_access_key
    • ソース:
      ~/.aws/credentials
    • 検出状況: 読み取り出力中に視認
    • 日時: 2026-10-02 09:42 UTC(Claude Code)
    • 注意: そのセッションの後半でネットワーク通信が行われた可能性あり(2 つのコマンドが検出)。
    • 対応策: AWS IAM セキュリティ資格情報管理画面 でキーを回転してください。

⚠️ 注記: Stroq は、コマンド内でキーが表示された場合にのみ「送信」と判断します。スクリプト、ファイル、または変数を介してキーが流出しても表示されない場合は検出できません。


stroq attack
の概要

36 種類の既知攻撃(公開レポートと合成データに基づく)をテスト実行しました(0.30.0 バージョン)。

  • 遮断: 15 つの攻撃を検知・ブロック
  • 確認: 21 つの攻撃についてユーザーに確認を求め
  • 通過: 0 つの攻撃

機能範囲と制限事項

【アクション実行前】

  • 対応エージェント: Claude Code, Cursor, Codex, Copilot CLI, Windsurf, Antigravity、OpenClaw プラグイン、stdio MCP プロキシ。
  • 主要機能:
    • 既知の秘密情報を含まれる外部通信を遮断します。
    • ツール出力と重複する後続アクションのプロベナンス(出所)を追跡します。
    • エージェントが以前読み取ったテキストに含まれる値をコピーしてコマンドを発行しようとした場合、セッション単位で一度だけ確認を求めます(ただし、バックグラウンドでの動作を開始したセッションは例外)。

【事後検証】

  • 対象:
    replay
    と
    sent
    はローカルセッション記録を読み取るため、Stroq 未導入以前のセッションも対象となります。
  • 注意点:
    • 古い値、回転済み値、未知の値は見逃される可能性があります。
    • コマンド内で表示されなかったキーでも、スクリプトやファイル、変数を通じて流出している場合があります。
    • ローカルでのテキストマッチングは、モデルプロバイダーへの実際の配信を保証するものではありません。

【動作環境】

  • ローカルのみ: フックから外部ネットワーク通信が発生しません(古い Task Lock のフックはローカル親コントラーとだけ通信)。テlemetry なし。

【制限事項】

  • フックはホストが送信する情報のみを確認可能で、エージェントやバージョンによって異なります。
  • マッチングはテキストレベルであり、モデルがゼロから作成したコマンドはソースへの追跡対象外です。
  • Stroq はフィルタであり、サンドボックスではありません。ライブフックに依存する前に、インテグレーションの制限事項を確認してください。

リンク集(Docs)

  • [ガイド]: インストール・コマンド・動作原理・保証と制限
  • エージェント別詳細: 各フックの対応範囲と文書化された制限
  • セキュリティ情報: 誤検知・攻撃対応範囲・Cloak と AgentCloak の比較・変更履歴(Changelog)・コントリビューションガイド

コントリビューターへ

コード提供、バグレポート、エージェント連携テスト、ドキュメント改善にご協力いただいた皆様へ、心より感謝申し上げます ❤️

同じ日のほかのニュース

一覧に戻る →

2026/11/06 5:03

誰でも使える Kagi シーach

## Japanese Translation: 2025年11月以降、Kagi はプライバシー重視の検索エンジンから、ノートンヌーク(Notesnook)やエンテ(Ente)といったサードパーティ製サービスとの統合機能を備えた包括的なエコシステムへと進化しました。主な進展には、Python 実行機能を備えた研究アシスタント向けのネイティブモバイルアプリのリリース、2026年秋における Android 版のための大幅な UI リデザイン、そして音声検索、画像貼り付け、Wolfram Alpha 連携といった高度なツールの追加が含まれます。プライバシー重視の理念を維持するために、Kagi はユーザーが AI コンポーネントを完全に無効化できる詳細な制御機能を実装するとともに、IPv6 アドレスのホワイトリスト追加やプレミアム会員向けに Claude 4.5 のような新しいモデルを追加する機能を導入し、ニュースフィードにおけるトラッキングをゼロに抑えました。コンテンツ品質に関する懸念に対処するためにも、コミュニティが低品質な AI コンテンツを報告できる「SlopStop」の起動を行いました。今後の展開としては、Ultimate 会員向けに専用モデルを提供するとともに、開発者向けの新 API を提供し、学生やプロフェッショナルに対し高精度で透明性の高い研究ツールを供与し続けています。 ## Key Points List: (ここに Stage 1 の出力を貼り付けてください)

2026/11/05 21:19

SSH ホール

## Japanese Translation: musl ベースの Linux 分布(Alpine、OpenWrt、Buildroot、Yocto など)に実装されている OpenSSH は、パスワード認証が有効化されていながら PAM が使用されていない環境におけるシステムで重大なセキュリティ欠陥を有しています。この脆弱性により、攻撃者が 256 文字を超える長さのパスワードを提供した場合、`/etc/shadow` ファイル内で `*` を設定したアカウント(例:root、LDAP ユーザーなど)に対するパスワードチェックを回避できます。この問題は、musl ライブラリの認証失敗処理に関する 2012 年の変更および、256 バイトを超える無権限な入力に対するハッシュ検証の特定の動作に起因しています。新規で既存のパスワードのないシステムには影響はありませんが、これらの分布を運用する組織は、アカウント乗っ取りの重大なリスクに直面しています。この即座の脅威に対処するためには、管理者は OpenSSH バージョン 10.6p2 にアップグレードするか、あるいは完全にパスワード認証を無効化する必要があります。なお、この脆弱性は主に PAM が利用されていない環境に影響を与えるものであり、PAM を使用している場合、標準的なハンドリングによりこの特定の攻撃ベクトルを防ぐ可能性があります。この問題に対処しないことは、以前に誤設定されたアカウントに関連した主要なインシデントと同程度の不正アクセスにつながりかねません。

2026/11/06 7:17

Claude Code がメールアドレスをウェブサイトへ送信します

## Japanese Translation: キーポイントリストは、未特定の実事件に対する複数の個人からの一連の反応から構成されています。氏名が記載されている人物には、Klughertz、Jonathan、Netkas、Sebastian Hooker、ryanlsmith、Tyler Coffman、InventorBlack、TacoDevs、Luis Diaz、Dan Avery、wei が含まれており、その他に 27 名の反応もあるとの注記があります。 ## Text to translate The Key Points List consists of a series of reactions from various individuals to an unspecified event. The named figures include Klughertz, Jonathan, Netkas, Sebastian Hooker, ryanlsmith, Tyler Coffman, InventorBlack, TacoDevs, Luis Diaz, Dan Avery, and wei, along with a note that 27 others also reacted.

Show HN: ストローク — コーディングエージェントが行った操作と理由のローカル監査ツール | そっか~ニュース