Conversation
|
Welcome! Thanks for your first pull request in this repository. A maintainer will review it soon. Please make sure:
Thanks for contributing. |
…le rollback resilience and dialog state [BS-11]
…ntegration [TW-EP-11]
Signed-off-by: Lukas Geiger <lukas@um-bruch.org>
lukisch
left a comment
There was a problem hiding this comment.
Zweitmodell-Review: CI grün (12/12), derselbe Sicherheitsbefund wie in #14.
1. Befehlsinjektion beim Terminal-Start (src/core/platform_utils.py, get_terminal_command)
Der Verzeichnisname wird in powershell -Command "Set-Location -LiteralPath '{directory}'" und cmd /K "cd /d {directory}" interpoliert. Ein Ordnername mit ' oder & (unter Windows zulässig) führt zu Codeausführung. Popen(..., cwd=target_dir) setzt das Arbeitsverzeichnis bereits, die Interpolation kann entfallen:
if shutil.which("powershell"):
return ["powershell", "-NoExit"]
return ["cmd", "/K"]Dazu ein Test mit einem Ordner a'b&c.
2. Überlappung
Der Inhalt ist (bis auf die Laufwerkskapazität) in #14 enthalten, batch_rename_service, checksum_dialog, gui_gc und properties_dialog sind in beiden PRs identisch oder fast identisch. Es sollte nur eine der beiden Varianten gemergt werden, sonst Konflikte.
Sonst: Tests für Batch-Rename-Rollback, Properties-Dialog und Terminal vorhanden. Keine Credentials oder Nutzerpfade im Diff.
Generated by Claude Code
Summary
Validation