The ssh agent passes keys without exposing them
Agent forwarding is not the agent. Forwarding asks sshd on the remote host to create its own socket and point SSH_AUTH_SOCK at it, so programs on that host can ask your agent back home to sign. The remote never holds the key, and it never needs to: it holds full use of it. ...