# lambda_env_inject.py - Vulnerable function that reads env from event
import os, json
def handler(event, context):
# The event contains environment variable overrides (debug feature)
for key, value in event.get('env', {}).items():
os.environ[key] = value
return os.environ.get('SECRET', 'not set')
无服务器函数信任传入的事件来设置环境变量,本意是用于调试。攻击者可以注入任意的环境变量,覆盖机密并改变函数的行为。
os.environ 中。在本地运行该函数,并使用恶意事件进行调用:
python lambda_env_inject.py
密钥被覆盖为 "attacker_controlled"。