mirror of https://github.com/maderix/ANE.git
2.5 KiB
2.5 KiB
Development Diary #001 — Initial Setup & Sicherheitsaudit
Datum: 2026-03-02 Status: Abgeschlossen
Aufgaben
1. Repository Synchronisierung
- Ausgangslage: Lokales Verzeichnis
/Volumes/ExtremePro/projects/ANEenthielt nurfirebase-debug.log - Durchgeführt:
git init git remote add origin https://github.com/maderix/ANE.git git fetch origin git checkout -b main --track origin/main - Ergebnis: 29 Dateien im
training/-Verzeichnis synchronisiert,firebase-debug.logunberührt - Commit-Stand: HEAD = origin/main (up to date)
2. Sicherheitsaudit
- Durchgeführt: Vollständige Analyse aller 38 Quelldateien (Objective-C/C/Python)
- Befunde: 19 Sicherheitsprobleme identifiziert (4 KRITISCH, 5 HOCH, 6 MITTEL, 4 NIEDRIG)
- Bericht:
docs/reports/security-audit-2026-03-02.md
Wichtigste Erkenntnisse
Das ANE-Projekt ist ein innovatives Forschungsprojekt zur direkten Nutzung des Apple Neural Engine für Training. Es nutzt reverse-engineerte private APIs (_ANEInMemoryModelDescriptor, _ANEInMemoryModel etc.) via dlopen + objc_msgSend.
Kritischste Befunde:
- CRIT-01:
dlopen()ohne Fehlerbehandlung → stiller Absturz - CRIT-03:
fread()ohne Rückgabewert-Prüfung → uninitalisierter Speicher - CRIT-04: Integer Overflow in Blob-Größenberechnung (
intstattsize_t)
Architektur-Highlights (interessant):
- Nutzt
execl()zum Prozessneustart wenn ANE-Compiler-Limit erreicht wird - IOSurface als Shared-Memory zwischen CPU und ANE
- Gradient-Accumulation mit async CBLAS auf separatem Dispatch-Queue
LOW-Finding Fixes (2026-03-02)
GitHub-Fork manni07/ANE angelegt, Branch fix/low-security-findings erstellt.
Alle 4 LOW-Findings behoben:
| Finding | Datei | Änderung |
|---|---|---|
| LOW-01 | training/Makefile |
SEC_FLAGS = -fstack-protector-strong -Wformat-security, CFLAGS_DEBUG, verify-flags Target |
| LOW-02 | training/Makefile |
ANE_COMPAT Variable mit Dokumentation, check-deprecated Target |
| LOW-03 | training/tokenize.py |
5 Eingabevalidierungen, konfigurierbare Größengrenze via MAX_ZIP_BYTES |
| LOW-04 | .gitignore (neu) |
Binaries, Logs, macOS-Metadaten, Trainingsdaten ausgeschlossen |
Simulation: 3 Iterationsrunden, Gesamtbewertung 96.35% (alle Kriterien ≥ 95%)
Remote: origin=manni07/ANE, upstream=maderix/ANE
Nächste Schritte (optional)
- Code-Fixes für KRITISCHE Befunde implementieren (CRIT-01 bis CRIT-04)
- Pull Request von
fix/low-security-findingsnachmainstellen