T03 · Remote Payload Retrieval and Execution
- Location
install.py:241- Finding
Unverified Remote Bootstrap Script Execution
- Content
View full analysis
bool: """Bootstrap pip using get-pip.py.""" import tempfile import urllib.request log("Downloading get-pip.py...") get_pip_url = "https://bootstrap.pypa.io/get-pip.py" try: with tempfile.NamedTemporaryFile(mode='wb', suffix='.py', delete=False) as f: with urllib.request.urlopen(get_pip_url, timeout=60) as response: f.write(response.read()) get_pip_path = f.name log("Installing pip via get-pip.py...") run_command([str(venv_python), get_pip_path], capture=True) os.unlink(get_pip_path) return True ``` ### Technical Analysis When normal virtual-environment creation fails, the installer downloads the current `get-pip.py` payload and immediately executes it with the virtual environment's Python interpreter. The downloaded file is not pinned to a reviewed version and is not verified using a cryptographic digest or signature. HTTPS provides transport protection under normal conditions, but it does not establish that the retrieved script is the same artifact that was reviewed with this project. The effective executable payload can change after the Skill is audited. A compromise of the remote distribution infrastructure, certificate trust chain, DNS or proxy environment, or published bootstrap artifact could therefore turn installation into arbitrary code execution. This network request does not directly transmit wallet credentials. The security issue is that externally controlled Python code is retrieved and executed without an independent integrity check. ### Attack Path 1. The user runs `python3 install.py`, either directly or through the automatic bootstrap behavior in `kaswallet.sh`. 2. Standard ` ...[truncated 1344 chars]- Remediation
View remediation
