Repository navigation
SimplrSSH - Code Scan - 2026-10-18 - #27
Merged
Merged
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BqZTLmNxFqYWcR2xAXAAec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Findings
main/ssh_terminal.cpp(consolessh/sshkeycommands, ~lines 980 and 1007): the port is parsed withatoiand never range-checked.htons()inssh_begin()wraps e.g. 65558 to 22, andknown_hostskeys on the unwrapped value. This is a user-typed input only, so it is a correctness and host-key-bookkeeping issue, not remotely exploitable.Reviewed with no finding: unsafe C string functions (none), TLS verification (CA bundle on OpenAI and portal clients, no verify-off), portal URL/port parsing (bounded), workflow permissions and SHA pinning (only the documented
sast-rules@mainexception), and the previous code-scan branch (already merged).Plan
Validate the port in
ssh_begin(), the single path every connection goes through. Files:main/ssh_terminal.cpp. Verify with the guard tests.Final gap analysis
libmbedtls-dev(missing), and SAST needs docker with ECR login. CI will run them.Deferred
None.
Verification
cd test/guards && python3 -m unittest test_supply_chain test_firmware_rules test_rules_file test_ci_scripts- 97 tests, OKSKIP_SAST=1 scripts/check.sh- guards passed; the host build failed at CMake configure (mbedcrypto not found), so host tests did not run.Generated by Claude Code