Naar de inhoud
Sand Software Solutions

Weet of je bestanden zijn veranderd

Assay verzegelt een map met een cryptografische hash van elk bestand. Controleer je de map later, dan zie je precies wat is gewijzigd, toegevoegd, verwijderd of hernoemd. Eén klein command-line programma, zonder afhankelijkheden, open source.

Status
Open source
Licentie
AGPL-3.0
Taal
Go
Versie
0.1.1

Waar Assay helpt

Zo werkt het

  1. Verzegel de map

    assay seal ./map schrijft een klein manifest met een hash van elk bestand. Dat duurt seconden, ook bij duizenden bestanden.

  2. Controleer later

    assay check ./map toont wat is gewijzigd, toegevoegd, verwijderd of hernoemd, en geeft een exitcode waar je scripts op kunnen reageren.

  3. Onderteken het (optioneel)

    assay keygen en assay seal --key maken het zegel manipulatiebestendig: een vervangen manifest na het wijzigen van bestanden wordt dan opgemerkt.

Zo ziet een controle eruit

$ assay seal ./backups
Sealed 1204 files -> backups/.assay.json

$ assay check ./backups
Checked 1204 files against backups/.assay.json (sealed 2026-10-16T09:12:44Z, sha256)
  modified  db/users.sqlite (4.2 MiB -> 4.2 MiB)
  added     db/users.sqlite-wal
  removed   logs/2026-10-01.log
  renamed   notes.txt -> archive/notes.txt
CHANGED: 1 modified, 1 added, 1 removed, 1 renamed, 1200 unchanged

In een script: assay check ./backups --json, of kijk gewoon naar de exitcode (0 niets veranderd, 1 wijzigingen, 2 fout).

Wat Assay voor je doet

Gewijzigd, toegevoegd, verwijderd, hernoemd
Niet alleen "er is iets anders": je ziet welke bestanden, en een verplaatst bestand wordt herkend als hernoeming.
Ondertekende manifesten
Onderteken het zegel met een Ed25519-sleutel. Vervang je na knoeien met de bestanden ook het manifest, dan klopt de handtekening niet meer.
Gemaakt voor scripts
Exitcode 0 als niets veranderde, 1 als er iets veranderde, en JSON-uitvoer voor je eigen gereedschap.
Eén klein programma
Eén bestand voor Windows, macOS en Linux. Geen database, geen service, geen root.
Leesbare rapporten
Gewone tekst in de terminal, of een los HTML-rapport dat je aan iemand anders kunt geven.
Blijft opletten
Controleer elke paar seconden opnieuw en zie veranderingen zodra ze gebeuren.

Assay of sha256sum?

sha256sum is prima om de bestanden te controleren die je opgeeft. Het ziet geen bestanden die erbij zijn gekomen en weet niet dat een bestand is hernoemd. Assay kijkt naar de hele map en vertelt wat er anders is.

Gereedschap als Tripwire en AIDE doet iets vergelijkbaars, maar is gemaakt voor systeembeheerders. Assay is één klein programma dat je met de hand of in een script draait.

Assay laat zien dat een bestand veranderde, niet wie dat deed. Wie de bestanden kan wijzigen, kan ze ook opnieuw verzegelen; daarvoor is de handtekening.

Installeren

Op Debian, Ubuntu en afgeleiden installeer je het met apt. Updates komen dan mee met je gewone systeemupdates. Andere systemen: download een archief van GitHub, of gebruik go install.

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://sandsoftwaresolutions.github.io/apt/key.asc | sudo tee /etc/apt/keyrings/sandsoftwaresolutions.asc >/dev/null
echo "deb [signed-by=/etc/apt/keyrings/sandsoftwaresolutions.asc] https://sandsoftwaresolutions.github.io/apt stable main" | sudo tee /etc/apt/sources.list.d/sandsoftwaresolutions.list
sudo apt update
sudo apt install assay

# of, met Go 1.22 of nieuwer:
go install github.com/SandSoftwareSolutions/assay@latest

Status

Assay staat op GitHub, versie 0.1.1, onder de GNU Affero General Public License v3 (AGPL-3.0). Bij elke release horen archieven voor Linux, macOS en Windows, Debian-pakketten en checksums.

Veelgestelde vragen

Wat is Assay?

Een command-line tool die een hash van elk bestand in een map vastlegt en later laat zien welke bestanden afwijken van die vastlegging.

Wat is het verschil met sha256sum?

sha256sum controleert alleen de bestanden die je opgeeft, ziet dus geen nieuwe bestanden en herkent geen hernoemingen. Assay kijkt naar de hele map en meldt gewijzigde, toegevoegde, verwijderde en hernoemde bestanden.

Kan het zien wie een bestand heeft veranderd?

Nee. Een hash laat zien dát een bestand veranderde, niet wie dat deed. Wie de bestanden kan wijzigen, kan ze ook opnieuw verzegelen. Daarom kan Assay het zegel ondertekenen met een sleutel die je ergens anders bewaart.

Onder welke licentie valt Assay?

De GNU Affero General Public License v3 (AGPL-3.0), net als Foundry.

Op welke systemen draait het?

Windows, macOS en Linux, op zowel Intel/AMD- als ARM-processoren.

Ook van ons

Een vraag of een idee?

Stuur ons een mail. Je praat direct met de mensen die de software bouwen en krijgt binnen 2 werkdagen antwoord.