* fix(security): fence external hook job name in isolated-agent prompts
buildSafeExternalPrompt wrapped the hook message inside the external-content
boundary but placed the job name on a Task: line above it, unsanitized. The job
name comes from the same hook-controlled configuration or request data as the
message, so a crafted name could inject a forged end-marker and instruction-like
text into the trusted prompt region.
Pass the job name to wrapExternalContent as taskName so it is sanitized and
rendered as a Task: metadata line inside the boundary, matching the sender and
subject handling. Job ID and Received remain in the trusted prefix because they
are OpenClaw-generated.
* fix(security): fence external hook job name in isolated-agent prompts
Move hook-controlled job names into the existing sanitized external-content metadata boundary. Keep generated job IDs and timestamps in the trusted prefix.
Replays and narrows openclaw/openclaw#112501.
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>