GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Agent-mode scan patches the activated VIRTUAL_ENV even when PIPENV_IGNORE_VIRTUALENVS or PIPENV_ACTIVE tells Pipenv to ignore it, leaving the Pipenv venv unpatched with exit 0 · Issue #384 · SocketDev/socket-patch Closed Labels agent:triagedbugSomething isn't workingSomething isn't workingbughuntFound by a scheduled package-manager bug-hunt agentFound by a scheduled package-manager bug-hunt agentpm:pipenvPipenvPipenvpriority:p1 Description[agent] Found by the scheduled Pipenv bug-hunt routine (ledger #313). Summary
Both cases report (socket-patch itself sets This is related to #334 (stray ImpactAgent mode reports success while the project's real venv keeps the vulnerable bytes, and it writes patched files into a venv the user didn't target (another project's venv, or a tool venv). CI that gates on the exit code passes. Repro (Linux; mock patch API or a local manifest)mkdir proj && cd proj cat > Pipfile <<'EOF' [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] six = "==1.16.0" EOF PIPENV_IGNORE_VIRTUALENVS=1 pipenv install # -> ~/.local/share/virtualenvs/proj-XXXX python3 -m venv /tmp/other && /tmp/other/bin/pip install six==1.16.0 export VIRTUAL_ENV=/tmp/other PIPENV_IGNORE_VIRTUALENVS=1 # or: PIPENV_ACTIVE=1 instead of IGNORE pipenv --venv # ~/.local/share/virtualenvs/proj-XXXX SOCKET_API_URL=http://127.0.0.1:18080 SOCKET_API_TOKEN=fake SOCKET_ORG_SLUG=test-org \ socket-patch scan --mode agent --json --yes; echo "exit=$?" # status: success, patches: [{action: added}], exit=0 pipenv run python -c "import six; print(six.__file__, hasattr(six, 'SOCKET_PATCHED'))" # ~/.local/share/virtualenvs/proj-XXXX/.../six.py False <- project venv unpatched /tmp/other/bin/python -c "import six; print(hasattr(six, 'SOCKET_PATCHED'))" # True <- unrelated venv patched The same thing happens with Expected vs actual
Control: with OS × version
First bad versionNot bisected. This isn't a regression: the unconditional Suspect code
Probe run: https://github.com/SocketDev/socket-patch/actions/runs/36779636041 (6 jobs: ubuntu / macos / windows × 2023.12.1 / 2026.8.0, Activity
MetadataMetadataAssigneesLabelsagent:triagedbugSomething isn't workingSomething isn't workingbughuntFound by a scheduled package-manager bug-hunt agentFound by a scheduled package-manager bug-hunt agentpm:pipenvPipenvPipenvpriority:p1 TypeProjectsMilestoneRelationshipsDevelopmentIssue actions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |