08d5957690
fix: address bugs and security gaps found in code audit round 2
...
- Fix blocking MikroTik channel sends that could leak goroutines
- Default to 10s timeout when check TimeoutMs is 0
- Add payload size limit to check_jobs event
- Add 30s write deadline to WebSocket writes
- Use random ICMP sequence numbers to prevent ping ID collisions
- Atomic host key file writes via temp+rename
- Sanitize update URLs in log output
- Zero correct buffer in sendBinaryResult after MarshalAppend
2026-03-05 12:53:30 -06:00
4f5be74528
security: implement audit fixes (TOFU host keys, update TOCTOU, TLS enforcement, read timeouts)
2026-02-15 09:06:39 -06:00
e014e9ccd4
harden security: URL sanitization, security docs, credential zeroing utility
...
- Mask query parameters in log output to prevent credential leakage
- Document InsecureSkipVerify rationale for MikroTik self-signed certs
- Document InsecureIgnoreHostKey rationale for SSH device connections
- Add zeroBytes utility for future byte-slice credential clearing
2026-02-12 10:35:42 -06:00
ab2c28c595
harden security: frame limits, HTTPS enforcement, checksum validation, download bounds
...
- WebSocket: reject frames exceeding 16 MB to prevent OOM
- MikroTik: reject words exceeding 10 MB to prevent OOM
- Self-update: require HTTPS for download URLs
- Self-update: require non-empty SHA256 checksum
- Self-update: use constant-time comparison for checksum verification
- Self-update: bound download size to 100 MB
2026-02-12 10:24:49 -06:00
94192f402a
propagate context to job executors for cancellation on disconnect
2026-02-12 09:59:45 -06:00
a36a2b7fd7
increase test coverage and improve logger output
2026-02-11 10:42:19 -06:00
58d1af4f84
refactor some code
2026-02-11 10:17:01 -06:00
769ac1f623
Full rewrite in golang
2026-02-11 10:04:30 -06:00