Repository navigation
security
Pure Logic Code edited this page Nov 6, 2026
·
1 revision
See the repository-level SECURITY.md for the vulnerability disclosure process. This page summarizes how the application is hardened.
| Area | Exposure |
|---|---|
| Archive parsing | Untrusted .7z, .zip, .rar files |
| File paths | User-selected folders and archive entry names |
| Network | GitHub API, bug report, stats, donation endpoints |
| Local state |
donation.json and rolling log files |
| Updates | Browser redirect only; no auto-download or execution |
- SharpCompress is managed code; no native library is loaded.
- Verification reads entry streams into memory-bounded buffers and discards them.
- Entry sizes and CRC-32 values are checked.
- A per-archive timeout prevents indefinite hangs.
- The app never extracts entries to disk during verification.
- Archives are created in the chosen output folder only.
- Output archive names are sanitized with the platform's invalid file-name characters.
- Input and output folders must differ.
- Move operations preserve relative subfolders and never overwrite existing files.
- Partial archives are deleted on failure/cancellation.
- The app only reads the GitHub release JSON.
- A user confirmation is required before opening a download URL.
- No binary is downloaded, executed, or replaced by the application.
- Download URLs come from GitHub's API response over HTTPS.
- Logs contain operation details and possible file paths.
- Bug reports contain environment details and stack traces.
- The donation cache stores the verified email address.
- Delete the log folder or
donation.jsonto remove local data.
- Dependabot, CodeQL, Dependency Review, and NuGet audit are enabled.
- Workflows use least-privilege permissions.
- Release assets include SHA-256 checksums.
Report vulnerabilities privately through https://github.com/purelogiccode/BatchConvertToCompressedFile/security/advisories/new.
Batch Convert to Compressed File · GNU GPL v3 · Pure Logic Code