
YARAルールの作成、検証、コンパイル、テストを行うためのデスクトップワークベンチ。

YARA ルールの作成、検証、コンパイル、テストを行うためのデスクトップワークベンチ。
Quipu(「キープー」と発音)は、プロジェクトエクスプローラー、YARA 対応エディタ、 YARA-X コンパイラ、そして絞り込まれたスキャン結果を 1 つのローカルアプリケーションに統合します。 YARA-X とその言語サーバーの両方を組み込んでいるため、 別途 YARA をインストールする必要はありません。
[!IMPORTANT] Quipu は MVP 段階です。ビルド対象は Linux/Windows x86-64 および macOS 15+ Apple Silicon/Intel です。 Windows デスクトップの検証は Windows 11 24H2 を対象としています。詳細は 検証記録を参照してください。 署名済み macOS パッケージは Developer ID と Apple の公証を使用しています。詳細は検証記録を参照してください。

.yar および .yara ファイルのフォルダをワークスペースとして開くか、
スクラッチルールから開始できます。ルールとスキャン対象はローカルで処理されます。Quipu はそれらの内容を リモートサービスへ送信しません。
Linux x86-64 パッケージは GitHub Releases ページで公開されています:
| パッケージ | 最適な用途 | インストールまたは実行 |
|---|---|---|
| AppImage | 対応ディストリビューションでのポータブル利用 | chmod +x Quipu_*.AppImage && ./Quipu_*.AppImage |
.deb | Ubuntu 22.04+ および Debian 12+ | sudo apt install ./Quipu_*.deb |
.rpm | 最近の Fedora リリース | sudo dnf install ./Quipu-*.rpm |
.deb および .rpm パッケージはシステムの WebKitGTK ランタイムを使用します。
お使いのディストリビューションがこの依存関係を満たせない場合は、AppImage を使用してください。
開発用パッケージは、成功した CI 実行の
quipu-linux-x86_64 アーティファクトとして利用できます。
CI と Release は、パッケージ検証やネイティブメニューのスモークテストを含む同一の Linux ワークフローを呼び出します。
統合された SHA256SUMS ファイルは、個々の CI アーティファクトではなく Release から提供されます。
Quipu パッケージは現在署名されていません。各リリースには
SHA256SUMS ファイルが含まれています。パッケージと一緒にダウンロードし、
ダウンロードしたファイルを次のコマンドで検証してください:
sha256sum --ignore-missing --check SHA256SUMS
チェックサムは偶発的な破損を検出しますが、認証された署名ではありません。
Windows x86-64 パッケージ(v0.3.0 以降)については、
GitHub Releases からインストーラーをダウンロードしてください。
開発ビルドは、成功した CI 実行 から
quipu-windows-x86_64 および quipu-windows-offline-x86_64 アーティファクトとしても入手できます。
.exe インストーラーを使用してください。.msi インストーラーも利用可能です。-offline.exe または -offline.msi インストーラー
(quipu-windows-offline-x86_64 CI アーティファクト)を選択してください。これらのより大きなパッケージには
Microsoft Edge WebView2 ランタイムの完全なインストーラーが含まれており、インターネットアクセスなしで
インストールできます。インストーラーは署名されていないため、Windows が不明な発行元または SmartScreen の警告を表示する場合があります。続行する前に、ダウンロード元がこのリポジトリの リリースまたはワークフローであることを確認してください。
リリースパッケージには、統合された SHA256SUMS ファイルが含まれています。PowerShell で、
ダウンロードしたインストーラーのハッシュを計算します(例のファイル名を置き換えてください):
Get-FileHash -Algorithm SHA256 .\Quipu_VERSION_x64-setup.exe
Get-Content .\SHA256SUMS
ハッシュを、大文字小文字を区別せずに、その正確なファイル名のエントリと比較してください。 個々の CI アーティファクトには、統合されたリリースチェックサムファイルは含まれません。
再起動後にコンパイル済みルールセットが失われた場合は、同梱ガイドの Windows Defender のトラブルシューティングを確認してください。 検疫を確認する方法と、必要に応じてキャッシュディレクトリのみを除外する方法が説明されています。
Apple Silicon および Intel 向けのリリース DMG は、macOS 15 以降を対象としています。アプリと DMG は Developer ID で署名され、Apple による公証を受け、ステープルされています。Releasesから 適切な DMG をダウンロードし、Quipu を Applications にドラッグしてください。通常の CI アーティファクトはアドホック署名を使用しており、 開発向けです。インストール、ビルド手順、および現在の検証状況については macOSを参照してください。
text_indicators.yar を確認します。完全なガイドは Help → Documentation から Quipu に同梱されています。そのソースは
documentation/content でも入手できます。
quipu.toml設定がない場合、Quipu はルールファイルを再帰的に検出し、他のファイルにインクルードされていない
各ファイルからエントリポイントを推測します。明示的なエントリポイント、インクルード
ディレクトリ、または除外が必要な場合は、ワークスペースのルートに
quipu.toml を追加します:
schema = 1
entrypoints = ["main.yar"]
include_dirs = ["rules", "../shared-rules"]
exclude = ["fixtures/**", "vendor/legacy/**"]
完全なプロジェクトモデルとマニフェストのリファレンスについては、ワークスペースとプロジェクトを参照してください。
すべてのプラットフォームで以下が必要です:
Windows の場合は、MSVC ビルドツール、Windows SDK、WebView2 ランタイム、および PowerShell ビルドコマンドについて Windows 開発 に従ってください。
macOS ビルドの場合は、macOS 開発 に従ってください。
Linux では、さらに Tauri と WebKitGTK が必要とするネイティブライブラリも必要です。
Debian または Ubuntu では、次のコマンドでネイティブ依存関係をインストールします:
sudo apt update
sudo apt install -y \
build-essential \
curl \
file \
libayatana-appindicator3-dev \
libgtk-3-dev \
librsvg2-dev \
libssl-dev \
libwebkit2gtk-4.1-dev \
patchelf \
rpm \
wget
次に、3つのLinuxパッケージ形式をすべてビルドします:
git clone https://github.com/corelight/quipu.git
cd quipu/app
npm ci
npm run tauri -- build --bundles appimage,deb,rpm
成果物は app/src-tauri/target/release/bundle/ の下に書き出されます。Cargo が YARA-X とその依存関係をソースからコンパイルするため、初回のビルドには時間がかかることがあります。
Windows ビルドのセットアップ、インストーラーの動作、ファイルシステムの制限については、Windows development で説明されています。
依存関係をインストールし、開発用アプリケーションを起動します:
cd app
npm ci
npm run tauri -- dev
フロントエンドのユニットテスト、本番用フロントエンドビルド、および Rust テストを次のコマンドで実行します:
cd app
npm test
npm run build
cd src-tauri
cargo test --locked
ネイティブメニューの受け入れテストスイートには、追加の Linux ディスプレイサーバー要件があります。セットアップと使用方法については test/README.md を参照してください。
Quipu は Tauri アプリケーションであり、バニラ TypeScript のフロントエンドと Rust のバックエンドで構成されています:
app/src/ TypeScript frontend
app/src-tauri/ Rust backend and desktop packaging
documentation/ Source for the bundled offline guide
examples/ Projects bundled with the application
test/ui/ Native-menu acceptance test harness