Offener Code. Direkt zum Prüfen.
Der Browser-Verschlüsselungscode von IcyZip und seine ausführbaren Sicherheitstests sind hier frei zugänglich. Lesen, herunterladen, selbst testen – ohne Konto oder Telefonnummer.
Mit Git klonen – inklusive Historie
git clone https://icyzip.com/open-source/icyzip-e2ee.git cd icyzip-e2ee npm test
Das Repository ist öffentlich lesbar. Änderungen kannst du in deinem eigenen Klon untersuchen und testen. Alle Änderungen ansehen.
Vollständiges Git-Repository herunterladen (.bundle)
git clone icyzip-e2ee.bundle icyzip-e2ee
Was hier veröffentlicht ist
Das Paket enthält das vollständige E2E-Browsermodul, die zugehörige Integration und Empfangslogik, kleine eigenständig ausführbare Tests, Angriffs-Regressionsfälle sowie Protokoll- und Prüfdokumentation. Die proprietäre Serversoftware ist nicht Teil dieses Pakets. Nachrichten und Vertrauensgrenzen des Relays sind im Protokoll beschrieben.
Die Verschlüsselung verwendet WebCrypto: P-256 ECDH, HKDF-SHA-256, HMAC-SHA-256 und AES-GCM. Ein Test mit einer unabhängigen Node-Kryptografieimplementierung prüft die Ergebnisse zusätzlich.
Tests direkt ausführen
Archiv entpacken und im entpackten Ordner starten. Node.js 20 oder neuer genügt; die Tests brauchen weder Paketinstallation noch Server, Konto oder Netzwerk.
tar -xzf icyzip-e2ee.tar.gz cd icyzip-e2ee sha256sum -c SHA256SUMS npm run test:minimal npm test
Auf macOS kann statt sha256sum der Befehl shasum -a 256 -c SHA256SUMS verwendet werden. Auf Windows das Archiv mit einem Archivprogramm entpacken und die npm-Befehle im entpackten Ordner ausführen.
Startpunkt: test/minimal.test.mjs · TESTING.md
Mit der laufenden Website vergleichen
npm run check:live
Dieser optionale Netzwerkcheck vergleicht das gesamte Verschlüsselungsmodul und die drei veröffentlichten Integrationsabschnitte bytegenau mit den aktuell ausgelieferten Browserdateien. Prüfumfang und Herkunft sind in PROVENANCE.md beschrieben. PROVENANCE.md
Docker-Prüflabor
Das fertige Prüflabor auf Docker Hub enthält diesen Quellstand mit Node.js, Git, OpenSSL, Python und Analysewerkzeugen. Es läuft auf AMD64 und ARM64. Nach dem Download startet ein Befehl die Protokolltests und reproduzierbare Manipulationstests mit synthetischen Daten offline.
IMAGE=docker.io/icyzip/e2ee-review@sha256:827fa29a1b1f98c7dac1df1b068ef7eac1113908876acfcffc5658ac70c4a75f docker pull "$IMAGE" docker run --rm --network=none --read-only --cap-drop=ALL \ --security-opt=no-new-privileges --memory=768m --pids-limit=128 \ --tmpfs /tmp:rw,nosuid,nodev,size=128m "$IMAGE"
Ein erfolgreicher Lauf bestätigt die ausgeführten Prüfungen; er beweist nicht, dass Code oder Dienst frei von Schwachstellen sind. Paketliste, Lizenzen, Prüfumfang und eigene Experimente sind in der Anleitung beschrieben.
Quellcode und Dokumentation
.gitignore29 bytes · Rohdatei.dockerignore597 bytes · RohdateiDockerfile3,978 bytes · RohdateiCONTAINER.md5,287 bytes · Rohdateicontainer-lock.json1,271 bytes · RohdateiLICENSE11,358 bytes · RohdateiPROTOCOL.md6,351 bytes · RohdateiPROVENANCE.json1,439 bytes · RohdateiPROVENANCE.md3,056 bytes · RohdateiREADME.md5,755 bytes · RohdateiSECURITY.md2,097 bytes · RohdateiTESTING.md3,046 bytes · RohdateiTHREAT-MODEL.md4,801 bytes · Rohdateipackage.json1,018 bytes · Rohdateisrc/e2ee.js14,319 bytes · Rohdateisrc/snapshot.js23,738 bytes · Rohdateitest/crypto.test.mjs14,259 bytes · Rohdateitest/endpoint.mjs1,295 bytes · Rohdateitest/file-receive.test.mjs14,293 bytes · Rohdateitest/minimal.test.mjs1,099 bytes · Rohdateitest/provenance.test.mjs5,246 bytes · Rohdateitest/security-regressions.test.mjs2,057 bytes · Rohdateitest/container.test.mjs4,547 bytes · Rohdateitools/snapshot.mjs8,559 bytes · Rohdateitools/fuzz.mjs6,617 bytes · Rohdateitools/inspect.mjs3,456 bytes · Rohdateitools/lab.mjs977 bytes · Rohdateitools/sbom.mjs7,983 bytes · Rohdatei
Downloads verifizieren
SHA-256-Prüfsummen kennzeichnen die angebotenen Bytes. Das Archiv enthält zusätzlich SHA256SUMS für alle veröffentlichten Dateien. Der Quellstand ist der SHA-256 dieser Prüfsummenliste; gleiche Quellstände haben dieselbe Liste.
Prüfungen und Rückmeldungen willkommen
Untersuche den Code mit eigenen synthetischen Testdaten und ergänze reproduzierbare Testfälle. Vermutete Sicherheitslücken bitte vertraulich melden; allgemeines Feedback ist auch ohne Name oder E-Mail möglich.