Skip to content

simple-git-4 - #825

Merged
VeryComplexAndLongName merged 3 commits into
mainfrom
simple-git-4
Oct 6, 2026
Merged

VeryComplexAndLongName merged 3 commits into
mainfrom
simple-git-4

Conversation

@VeryComplexAndLongName

Copy link
Copy Markdown
Owner

simple-git-4

The dependency audit started failing every pull request on 2026-10-06: two critical advisories in simple-git <= 4.0.1 (GHSA-v5rq-49vh-5v5c, GHSA-x6jw-m9v5-85vh), fixed only in 4.0.2. This repository was on 3.x.

  • simple-git ^4.0.2 in core and cli; npm audit --omit=dev --audit-level=high finds 0 vulnerabilities.
  • One way to open git. simple-git 4 strips every GIT_ variable (and EDITOR, PAGER, SSH_ASKPASS, VISUAL, PREFIX) from the git it starts. That would take away the askpass helper VS Code provides and a person's SSH command; measured here, an SSH remote then waits on the real ssh until killed. openGit(cwd) (git-client.ts) replaces every simpleGit(cwd) and lets through only GIT_ASKPASS, SSH_ASKPASS, GIT_SSH, GIT_SSH_COMMAND, GIT_SSH_VARIANT, GIT_TERMINAL_PROMPT; every other guarded variable stays away from git.
  • Fixtures name the author/committer variables their commits set, which simple-git 4 otherwise refuses.

Checks

  • typecheck clean, lint 0 errors; core 2096, core-git-subprocess 69, cli 201, webui 712, server 122, extension 502 passed.
  • git-client.test.ts (real git): GIT_SSH_COMMAND reaches git, GIT_EDITOR does not; fails without the allowance.
  • Live: this branch was pushed to GitHub through the product's own git wrapper (HTTPS, Git Credential Manager).
  • openspec validate --strict; merge gate with the absolute worktree path: ok.

After this merges, re-running the audit on #824 turns it green.

🤖 Generated with Claude Code

VeryComplexAndLongName and others added 3 commits October 6, 2026 10:00
…s let through (simple-git-4)

The dependency audit failed every pull request: two critical advisories
in simple-git <= 4.0.1 (GHSA-v5rq-49vh-5v5c, GHSA-x6jw-m9v5-85vh), fixed
only in 4.0.2. simple-git 4 strips every GIT_ variable and a few others
from the environment of the git it starts, which would take away the
askpass helper and SSH command a person set up to reach their remote; an
SSH remote then waits on the real ssh until killed. Git is now opened
through one function, openGit(cwd), that lets through GIT_ASKPASS,
SSH_ASKPASS, GIT_SSH, GIT_SSH_COMMAND, GIT_SSH_VARIANT and
GIT_TERMINAL_PROMPT, and nothing else that is guarded. Test fixtures name
the author and committer variables their commits set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@VeryComplexAndLongName
VeryComplexAndLongName merged commit 44ec9b7 into main Oct 6, 2026
10 checks passed
@VeryComplexAndLongName
VeryComplexAndLongName deleted the simple-git-4 branch October 6, 2026 07:30
VeryComplexAndLongName added a commit that referenced this pull request Oct 6, 2026
Brings in simple-git 4.0.2 (#825), which the dependency audit needs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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