
Симулирует остаточные данные памяти при холодном старте бессерверных приложений CVE-2026-23007; демонстрирует, как постоянное глобальное состояние между вызовами Lambda может приводить к утечке секретов между выполнениями.
# lambda_remanence.py - Simulated Lambda environment reuse
import os, secrets
def first_invocation():
# Simulates storing a secret in a global variable
global SECRET
SECRET = secrets.token_hex(16)
return "Initialized"
def second_invocation():
# Another function in same container? Actually, separate invocations share memory.
# Here we just read the global if it exists
global SECRET
return SECRET if 'SECRET' in globals() else "No secret"
print("Cold start: ", first_invocation())
print("Warm start: ", second_invocation())
Бессерверные платформы повторно используют среды выполнения (контейнеры) между вызовами функций без обнуления глобальной памяти. Функция злоумышленника, работающая на том же базовом хосте (или даже в той же учётной записи), может получить доступ к остаткам предыдущих выполнений, что приведёт к утечке секретов.
Выполните:
python lambda_remanence.py
Второй вызов считывает секрет, установленный во время первого.