
Un banco di lavoro desktop per scrivere, validare, compilare e testare regole YARA.

Un ambiente di lavoro desktop per scrivere, validare, compilare e testare regole YARA.
Quipu (pronunciato “KEE-poo”) riunisce un esploratore di progetti, un editor consapevole di YARA, il compilatore YARA-X e risultati di scansione mirati in un'unica applicazione locale. Integra sia YARA-X sia il suo language server, quindi non è necessaria un'installazione separata di YARA.
[!IMPORTANT] Quipu è in fase MVP. La piattaforma inizialmente supportata è Linux a 64 bit; il supporto per Windows e macOS seguirà.

.yar e .yara come workspace, oppure inizia con
una regola scratch.Le regole e i target di scansione vengono elaborati localmente. Quipu non invia i loro contenuti a un servizio remoto.
I pacchetti Linux x86-64 sono pubblicati nella pagina GitHub Releases:
| Pacchetto | Ideale per | Installazione o esecuzione |
|---|---|---|
| AppImage | Uso portatile su distribuzioni supportate | chmod +x Quipu_*.AppImage && ./Quipu_*.AppImage |
.deb | Ubuntu 22.04+ e Debian 12+ | sudo apt install ./Quipu_*.deb |
.rpm | Versioni recenti di Fedora | sudo dnf install ./Quipu-*.rpm |
I pacchetti .deb e .rpm utilizzano il runtime WebKitGTK di sistema. Se la
tua distribuzione non riesce a soddisfare quella dipendenza, usa l'AppImage.
I pacchetti Quipu al momento non sono firmati. Ogni release include un file
SHA256SUMS; scaricalo insieme ai pacchetti e verifica i file scaricati con:
sha256sum --ignore-missing --check SHA256SUMS
I checksum rilevano corruzioni accidentali ma non sono una firma autenticata.
text_indicators.yar nell'editor.La guida completa è inclusa in Quipu sotto Help → Documentation. Il suo
sorgente è disponibile anche in documentation/content.
quipu.tomlSenza configurazione, Quipu scopre ricorsivamente i file di regole e inferisce
un entrypoint da ogni file che non è incluso da un altro file. Aggiungi un
quipu.toml nella radice del workspace quando hai bisogno di entrypoint
espliciti, directory di include o esclusioni:
schema = 1
entrypoints = ["main.yar"]
include_dirs = ["rules", "../shared-rules"]
exclude = ["fixtures/**", "vendor/legacy/**"]
Vedi Workspaces and projects per il modello di progetto completo e il riferimento del manifest.
Quipu attualmente è destinato a Linux x86-64. Una build richiede:
Su Debian o Ubuntu, installa le dipendenze native con:
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
Poi compila tutti e tre i formati di pacchetto Linux:
git clone https://github.com/corelight/quipu.git
cd quipu/app
npm ci
npm run tauri -- build --bundles appimage,deb,rpm
Gli artefatti vengono scritti sotto app/src-tauri/target/release/bundle/. La
prima build può richiedere un po' di tempo perché Cargo compila YARA-X e le sue
dipendenze dal sorgente.
Installa le dipendenze e avvia l'applicazione di sviluppo:
cd app
npm ci
npm run tauri -- dev
Esegui i test unitari del frontend, la build di produzione del frontend e i test Rust con:
cd app
npm test
npm run build
cd src-tauri
cargo test --locked
La suite di accettazione del menu nativo ha ulteriori requisiti per il
display server Linux. Vedi test/README.md per la sua
configurazione e il suo utilizzo.
Quipu è un'applicazione Tauri con un frontend TypeScript vanilla e un backend 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
La versione dell'applicazione è definita in app/package.json; Tauri legge
quel valore quando assegna i nomi ai pacchetti e riporta la versione in
esecuzione.
I contributi sono benvenuti. Leggi CONTRIBUTING.md prima
di aprire una pull request.
Non segnalare vulnerabilità di sicurezza in una issue pubblica. Segui il
processo di segnalazione privata in SECURITY.md.