Security hardening: verified jar downloads, CLI sanitization, per-request server state; add tests #13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses three critical security issues:\n\n- Supply chain integrity: Verified generator JAR downloads using SHA-256 (fallback SHA-1). If checksums mismatch, delete the artifact and error.\n- CLI hardening: Sanitize additionalArguments with an allowlist and forbidden token checks. Integrated into command builders.\n- Server concurrency: Refactor mws.Application to use per-request local state, removing shared mutable request/response index.\n\nAlso adds a unit test suite (testSecurityHardening.m) covering checksum computation, CLI sanitization, command building integration, and server state isolation; includes a network-guarded checksum verification test.\n\nNotes:\n- Follows repo conventions; minimal API change.\n- Backwards compatible for typical usage; will error on dangerous CLI arguments.\n- Ready for review and testing in separate environment.