INNER CODE UNIT · Python
assert_no_provider_secrets_in_environ
ArcReel/ArcReel · server/app.py:85
def assert_no_provider_secrets_in_environ() -> None:
"""父进程禁止持有任何 provider 密钥;违反即 fail-fast。
Bash 沙箱子进程通过 fork 继承父 env,父进程必须把 provider secrets
全部下线到 DB,由 SDK options.env 显式注入子进程。
"""
leaked = sorted(k for k in PROVIDER_SECRET_KEYS if os.environ.get(k))
if leaked:
raise RuntimeError(
f"SECURITY: 父进程 os.environ 含 provider 密钥: {leaked}. "
"请到 WebUI 系统配置页填写,并从 env / .env 中移除对应条目。"
)
_APPARMOR_USERNS_SYSCTL = Path("/proc/sys/kernel/apparmor_restrict_unprivileged_userns")
_UNPRIV_USERNS_SYSCTL = Path("/proc/sys/kernel/unprivileged_userns_clone")
_MAX_USER_NS_SYSCTL = Path("/proc/sys/user/max_user_namespaces")