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

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

.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ファイルは
Releaseから提供され、個々のCIアーティファクトからは提供されません。
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 のトラブルシューティングを確認してください。 検疫を確認する方法と、必要に応じてキャッシュディレクトリのみを除外する方法が説明されています。
CI ワークフローは、Apple Silicon および Intel 向けにアドホック署名された DMG をビルドし、macOS 15 以降を対象としています。ビルドに Apple Developer メンバーシップは必要ありませんが、公証されていないため、起動には Gatekeeper のオーバーライドが必要になる場合があります。 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
アプリケーションのバージョンは app/package.json で定義されています。Tauri はパッケージの命名時および実行中のバージョンの報告時にその値を読み取ります。