Skip to content

Harden project trust across IDE setup mutations and executable scripts #1973

Description

@codeforester

Goal

Make Base's trust model accurately cover project-originated setup mutations and executable command surfaces, or present explicit boundaries that prevent users from mistaking manifest approval for broader repository integrity.

Background

Project setup can install manifest-declared IDE extensions and merge arbitrary settings into user-global VS Code or Cursor configuration. Onboarding performs setup before its manifest command-trust review.

Command trust is bound to the base_manifest.yaml digest. Git HEAD is audit metadata only, and the documented contract intentionally does not prove that scripts reachable from the manifest are unchanged.

Relevant code and docs:

Scope

  • Define the trust boundary for project-originated IDE extension installs and user-global settings.
  • Require explicit review or consent for global IDE mutations, including under --yes.
  • Show the exact extensions and settings before applying them.
  • Decide whether command trust should bind direct executable inputs, Git state, or emit a strong stale-script warning.
  • Keep setup, onboarding, trust status, docs, and tests aligned with the selected contract.

Acceptance Criteria

  • A newly cloned project cannot silently install extensions or add global IDE settings through generic setup consent.
  • Dry-run provides a complete mutation plan.
  • --yes does not implicitly grant project command trust or hide project-originated global mutations.
  • The trust UI states whether script changes invalidate approval.
  • Tests cover manifest-only changes, referenced-script changes, Git HEAD changes, and IDE setup consent.

Validation

  • Focused base_setup IDE tests.
  • Focused base_trust pytest and manifest-command-trust BATS tests.
  • Onboarding dry-run and interactive consent tests.
  • env -u BASE_HOME ./bin/base-test
  • git diff --check

Non-Goals

  • Do not turn Base into a general IDE policy manager.
  • Do not overwrite existing user settings.
  • Do not add remote trust or centralized policy infrastructure in this issue.

Project Fields

  • Status: Backlog
  • Priority: P1
  • Area: Security
  • Initiative: Contract Hardening
  • Size: L

Agent Assignment

  • Assignee: codeforester

Metadata

Metadata

Assignees

Labels

securitySecurity hardening or vulnerability work

Type

No type

Projects

Status
Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions