Un callable da agente a controller è un oggetto di Jenkins Remoting che consente a un agente di chiedere al controller di eseguire una definita parte di codice o logica e restituire un risultato. Fa parte del normale modello di comunicazione controller-agente, in cui il controller coordina le build e gli agenti eseguono il lavoro. Poiché il callable attraversa un confine di fiducia, il suo design deve essere strettamente controllato.
Questo è importante per la sicurezza perché una gestione non sicura dei callable può diventare un percorso di deserializzazione o di esecuzione di codice sul lato controller, più privilegiato. Se dati non attendibili possono influenzare quale oggetto viene creato, o come viene elaborato, gli aggressori possono essere in grado di attivare comportamenti arbitrari, aggirare il filtraggio delle classi o raggiungere risorse sensibili del controller. I difensori cercano allowlist rigorose, un uso più sicuro delle API e una fiducia minima negli agenti, poiché i difetti lato controller possono influire sull'integrità delle build, sui segreti e sul controllo delle pipeline.


