release: v0.7.1 — Security-Patch (R-01 bis R-06)
Sanctum Release / Build & Release (Windows x86_64) (push) Waiting to run

- R-01: Bereinigung verbliebener Restbehauptungen in Doku und Code (LEGAL.md, README.md, QUICKSTART.md, main.rs, crypto/storage/recovery/verify.rs)
- R-02: Lückenloser Carrier-Schutz in SanctumFs::copy (Quelle & Ziel) und sync (Pull-Skip & Push-Schutz)
- R-03: Shared Dateinamen-Validierung (validate_node_name) in pathutil.rs, durchgesetzt in storage.rs und vfs.rs
- R-04: Fail-closed Release-Packaging & obligatorische Minisign-Signatur in CI (.gitea/workflows/release.yaml) und Scripts
- R-05: Session-Token Beseitigung im argv: In-Process Win32 WNetAddConnection2W/WNetCancelConnection2W, kein gio argv-Token, Multi-Auth HTTP Middleware (Basic Auth, X-Sanctum-Token, Path-Fallback) mit 401 WWW-Authenticate
- R-06: Sofortiges Löschen von SANCTUM_RECOVERY_KEY aus der Prozessumgebung
This commit is contained in:
2026-09-18 19:49:38 +02:00
parent 436790abf0
commit 1cdb30147b
24 changed files with 663 additions and 174 deletions
+30
View File
@@ -51,6 +51,35 @@ jobs:
echo "ZIP_FILE=$ZipFile" >> $env:GITHUB_OUTPUT
echo "PACKAGE_NAME=$PackageName" >> $env:GITHUB_OUTPUT
- name: Sign Checksums with Minisign
shell: pwsh
env:
MINISIGN_SECRET_KEY: ${{ secrets.MINISIGN_SECRET_KEY }}
run: |
if (-not $env:MINISIGN_SECRET_KEY) {
Write-Error "Secret MINISIGN_SECRET_KEY ist nicht gesetzt! Release ohne Signatur verboten."
exit 1
}
if (-not (Get-Command minisign -ErrorAction SilentlyContinue)) {
Invoke-WebRequest -Uri "https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-win64.zip" -OutFile "minisign.zip"
Expand-Archive -Path "minisign.zip" -DestinationPath "minisign-bin"
$MinisignExe = "minisign-bin/minisign-win64/minisign.exe"
} else {
$MinisignExe = "minisign"
}
$KeyFile = "sanctum-ci-release.key"
[System.IO.File]::WriteAllText($KeyFile, $env:MINISIGN_SECRET_KEY)
try {
& $MinisignExe -S -s $KeyFile -m "dist/SHA256SUMS.txt" -W -x "dist/SHA256SUMS.txt.minisig"
if ($LASTEXITCODE -ne 0 -or -not (Test-Path "dist/SHA256SUMS.txt.minisig")) {
Write-Error "Minisign-Signierung fehlgeschlagen!"
exit 1
}
} finally {
Remove-Item $KeyFile -Force -ErrorAction SilentlyContinue
}
- name: Create Gitea Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
@@ -58,6 +87,7 @@ jobs:
files: |
dist/*.zip
dist/SHA256SUMS.txt
dist/SHA256SUMS.txt.minisig
target/release/sanctum.exe
body_path: CHANGELOG.md
draft: false