Skip to content

v0.8.64: Land and verify security hardening/code-scanning fixes #3368

Description

@Hmbown

Problem

The v0.8.64 release train needs one explicit public tracker for the security-hardening work that is currently split across CodeQL findings, advisory-class reports, and local integration commits. The goal is to make the release gate clear without publishing exploit details in a public issue.

Evidence

Live CodeQL on main currently reports high-severity findings across these broad areas:

  • Path-boundary validation for config, subagent state, MCP cwd, and runtime store paths.
  • Secret/log redaction and generated runtime-token handling.
  • HTTPS/TLS enforcement for provider and fleet alert traffic.
  • Local tool trust boundaries for fetch, JS execution, and image/file analysis surfaces.

The v0.8.64 integration branch already contains candidate fixes for several of these areas, but they still need to be landed, pushed, and verified by CI/code scanning on the branch that will release.

Expected behavior

Before v0.8.64 ships:

  • Security hardening commits are visible on the release branch and reviewable.
  • CodeQL findings that correspond to fixed code paths are closed by analysis rather than hand-waved.
  • Any remaining findings are triaged into clear follow-up issues with owner, severity, and release decision.
  • Runtime behavior stays compatible for legitimate user config paths and local workflows.

Likely files / commands to inspect

  • crates/config/src/lib.rs and crates/config/src/tests.rs
  • crates/tui/src/tools/subagent/mod.rs
  • crates/tui/src/mcp.rs
  • crates/tui/src/runtime_threads.rs
  • crates/tui/src/runtime_api.rs
  • crates/tui/src/fleet/alerts.rs
  • crates/tui/src/client.rs
  • crates/tui/src/tools/fetch_url.rs
  • crates/tui/src/tools/js_execution.rs
  • crates/tui/src/vision/tools.rs
  • scripts/check-provider-registry.py

Suggested gates:

  • cargo test -p codewhale-config --locked
  • cargo test -p codewhale-tui --bin codewhale-tui --locked <focused filters>
  • cargo fmt --all -- --check
  • cargo check -p codewhale-config --locked
  • cargo check -p codewhale-tui --bin codewhale-tui --locked
  • git diff --check
  • CodeQL/code scanning rerun on the release branch after push

Acceptance criteria

  • Security hardening commits are organized into reviewable PR(s) or a clearly scoped release branch update.
  • CodeQL high findings on the release target are closed or explicitly triaged with a release decision.
  • No generated runtime tokens, provider credentials, webhook secrets, or session identifiers are printed/logged in cleartext except where intentionally redacted or user-facing by design.
  • Config and state path handling rejects traversal/symlink escape while preserving documented --config, CODEWHALE_CONFIG_PATH, and legacy DEEPSEEK_CONFIG_PATH workflows.
  • Project-local config cannot loosen user/global approval or sandbox posture, cannot introduce arbitrary instruction-file reads, and cannot silently enable shell execution.
  • Network-bearing alert/provider/tool paths enforce HTTPS/TLS or otherwise have an explicit, documented local-only exception.
  • Focused tests and formatting/check gates are recorded in the PR or release notes.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    reliabilityReliability, flaky behavior, retries, fallbacks, and robustnesssecuritySecurity, isolation, permissions, or trust-boundary workv0.8.64Targeting v0.8.64

    Projects

    Status
    Backlog

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions