Skip to content

test: mechanical security floor for the server library#3

Merged
bradgessler merged 1 commit into
mainfrom
security-floor
Jun 22, 2026
Merged

test: mechanical security floor for the server library#3
bradgessler merged 1 commit into
mainfrom
security-floor

Conversation

@bradgessler

Copy link
Copy Markdown
Contributor

Adds a static guard test asserting the library never reaches for arbitrary code execution (Code.eval/EEx), shell-out (System.cmd/:os.cmd/Port.open), unsafe deserialization (binary_to_term), or untrusted-string→atom conversion (String.to_atom/binary_to_atom/list_to_atom — atom-table exhaustion). The server runs untrusted client input, so none of these may be one grep away. Backs the manual security audit; passes today and fails the build if a dangerous primitive is ever added.

…ser / atom creation)

The server runs untrusted input — a hostile client sends arbitrary frames and the
CLI runs client-controlled argv. A static test asserts lib/ never contains the
primitives that would let that punch through: Code.eval/EEx, System.cmd/:os.cmd/
Port.open, binary_to_term, or String.to_atom/binary_to_atom/list_to_atom (atom-table
exhaustion). Passes today; fails the build if one ever creeps in.
@bradgessler bradgessler merged commit c3e4b69 into main Jun 22, 2026
1 check passed
@bradgessler bradgessler deleted the security-floor branch June 22, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant