chore(release): v0.1.8 — zero-trust CLI wrapper hardening - #52
Merged
Merged
Conversation
Manual version bump for the post-#51 zero-trust hardening series. release-please workflow is untracked (.github excluded in fa9fca6) so the bump + tag + GH release are cut by hand for this cycle. Headline: zero-trust CLI wrapper layer across 15 secure_*_command helpers + universal env-strip + RCE-vector deny-lists for rg/find/ git/cargo/node/python/ruby/jvm/dotnet/go/k8s/docker/aws/psql/curl/wget. 19 merged PRs since v0.1.6. See PR #52 body / release notes for full list.
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.
Release v0.1.8
Manual cut (release-please workflow is untracked;
.github/excluded since fa9fca6). BumpsCargo.toml,Cargo.lock,.release-please-manifest.jsonto 0.1.8.Highlights since v0.1.6
Security — zero-trust CLI wrapper layer
secure_*_commandhelpers wrapping every spawned tool: rg, find, git, cargo, npm/pnpm/yarn/node, python/pytest/ruff/black, ruby/bundle, java/mvn/gradle, dotnet, go, kubectl, docker, aws, psql, curl, wget.UNIVERSAL_ENV_STRIPwired into all of them (PR harden(pre-release): UNIVERSAL_ENV_STRIP wiring + remove unsafe env-mutation + 4 missed wire-ins #51 — closed the doc-only gap):LD_PRELOAD,DYLD_*,BASH_FUNC_*,PROMPT_COMMAND,PERL5OPT,LUA_INIT, etc. stripped from every child env.--pre,--kubeconfig,--config,--exec,-K,--rcfile, etc. — env-and-arg attack vectors covered.--pre <script>(4/4 attack paths empirically reproduced + blocked).secure_*_commandinstead of unsafe env-mutation.Real
contextcrawler securitysubcommandWas a doc-only feature in the CONTEXTCRAWLER.md template (invocations fell through to macOS
/usr/bin/securitykeychain tool). Now ships as a Tirith dashboard: binary resolution, gate state, downgrade log tail (10 by default,--allfull),--jsonmode.Token-savings improvements
passthrough_extensionsallowlist + two-line marker withcontextcrawler proxy cat <path>escape hatch.grep -c/-L/-o/-Zlong-form routes directly throughrg— eliminates the 518parse_failuresobserved before ux(grep): pre-clap intercept routes documented format flags through rg #16.rtk readweighted savings expected: 12.5% → ~50%+ after JSON-like routing for xcstrings/etc.Rebrand / regression insurance
--versionnow printscontextcrawler 0.1.8(was incomplete; clapname="rtk"overrode package name).[rtk]→[contextcrawler](+[rtk:toml],[rtk: ...]colon variants) + ~15RTK.md/@RTK.mduser-facing labels.tests/branding_lint.rs— scope-aware lint oversrc/, fails the suite on any new[rtk]/RTK.mdliteraltest_rtk_md_constant_pinned_to_contextcrawler_filename(bug: regression —init --codexwrites RTK.md instead of CONTEXTCRAWLER.md (incomplete rebrand) #19)test_cli_name_pinned_to_contextcrawler(bug:--versionshowsrtk 0.39.0instead ofcontextcrawler 0.39.0(incomplete rebrand) #22)branding_lint_config_files_pin_canonical_package_name(chore(branding): finish rtk→contextcrawler print-string sweep + branding-lint test #25)~/.codex/RTK.md→CONTEXTCRAWLER.md+ AGENTS.md/CLAUDE.md dedupe.Codex integration
contextcrawler discoverfinds raw Bash and proposes wrapped equivalents.Tooling
tests/harness_standalone.rs— Tier 1 bench harness with isolated DB viaRTK_DB_PATHtempfile + JSON/MD reports keyed by git sha.Tests
cargo test --bin contextcrawler— 2116 pass, 0 failPRs included (19)
#10 #14 #15 #16 #17 #18 #21 #24 #25 #30 #31 #33 #41 #42 #43 #44 #46 #47 #51
Deferred to v0.1.9+
#26 uninstall ordering · #27 $CODEX_HOME canonicalize · #28 codex compliance lift 80→95% · #29 bench Tier2/3 · #40 trusted-PATH binary resolution · #48 GLOBAL_ENV_LOCK sharing · #49 pytest -p · #50 gh/glab/gt hardening