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
Is mijn back-up nog intact?
Verzegel een back-up zodra je hem maakt en controleer hem vóór je hem nodig hebt. Je ziet precies welke bestanden kapot zijn gegaan, verdwenen of erbij zijn gekomen.
Heeft iemand de site op de server aangepast?
Verzegel de uitgerolde map en controleer hem op een schema. Elke wijziging, elk nieuw en elk verwijderd bestand verschijnt met naam.
Kan ik laten zien dat deze map niet is veranderd?
Een ondertekend zegel laat zien dat een dataset, een release of een dossier precies is wat je verzegelde, op de dag dat je dat deed.
Zo werkt het
Verzegel de map
assay seal ./map schrijft een klein manifest met een hash van elk bestand. Dat duurt seconden, ook bij duizenden bestanden.
Controleer later
assay check ./map toont wat is gewijzigd, toegevoegd, verwijderd of hernoemd, en geeft een exitcode waar je scripts op kunnen reageren.
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 unchangedIn 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@latestStatus
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.