You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
security audit: apply all 32 findings (Groups 1-11)
- Group 1 (validate.mojo): allowlist scan on tarball URLs (C-1), version
max-32-chars + leading/trailing/consecutive-dot checks (V-1/V-3/V-4),
validate_name call in manifest_add_dep (T-3), ASCII-only comment (V-2)
- Group 2 (fs/installer.mojo): _shell_quote helper, quote all paths in
mkdir_p/tar/curl/compile cmds, private $HOME/.mojo/tmp dir (C-2/C-3/P-1/P-2)
- Group 3 (lockfile/flags/toml.mojo): _json_escape all lockfile fields,
double-quote install_path in flags output, _unquote escape processing (P-3/P-4/T-2)
- Group 4 (resolver.mojo): queued dict for cycle detection, semver empty
component rejection, R-3 TODO comment (R-1/R-2/R-3)
- Group 5 (json.mojo): depth limit (max 64) threaded through all three
recursive parse functions (T-1)
- Group 6 (http_client.mojo): allow_private_ips default False (N-1)
- Group 7 (scripts/install.sh): SHA256 sidecar verification before extract (S-2)
- Group 8 (CI workflows): pin actions to commit SHAs, pin tls clone to
commit, test+build-and-smoke as release prereqs, scope contents:write
to release job only (S-1/S-3/CI-2/CI-3)
- Group 9: delete 7 dead code files (greet/mymod/xyz123/simple_test/
test_greet_inline/test_greet/test_resolver) (D-2/TC-1)
- Group 10: new test_installer.mojo (sha256, hex, validate checks),
enhanced test_validate (version dots/length, url allowlist, single-char name),
enhanced test_lockfile (JSON escape roundtrip), updated test_flags
(double-quoted path assertions), wired test-installer into pixi.toml (TC-2/3/4)
- Group 11: RC-1 TODO in lockfile_write, R-3 TODO in resolver.mojo
All 9 test suites pass; binary smoke test passes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>