Entendendo a Propriedade com.glide.script.packages_call_removal no ServiceNow

Tiago Macul
3 min readOct 24, 2024

Esta propriedade desempenha um papel crucial na atualização e na prevenção do uso de pacotes Java descontinuados.

O Propósito da com.glide.script.packages_call_removal

A propriedade com.glide.script.packages_call_removal é projetada para identificar e substituir chamadas a classes Java específicas que foram descontinuadas ou removidas nas versões mais recentes do ServiceNow. Este recurso ajuda a garantir que os scripts permaneçam compatíveis com futuras atualizações da plataforma.

Funcionamento da Ferramenta Packages Call Removal

Ao ativar essa propriedade, a ferramenta de remoção de chamadas de pacotes executa três funções principais:

  1. Identificação de Campos de Scripts: Examina campos que podem conter scripts utilizando chamadas a pacotes descontinuados.
  2. Localização de Scripts: Busca scripts específicos que ainda fazem chamadas a essas classes Java obsoletas.
  3. Propostas de Alterações: Oferece sugestões de mudanças nos scripts para eliminar as chamadas de pacotes descontinuadas.

Exemplos de Comandos Bloqueados

Santhosh identificou vários exemplos de comandos que seriam bloqueados e como substituí-los:

  • Chamadas a com.glide.util:
var str = Packages.com.glide.util.StringUtil.format("Olá, %s!", "Mundo")

Substituído por:

var str = GlideStringUtil.format("Olá, %s!", "Mundo");

Chamadas a com.glide.security:

var encrypted = Packages.com.glide.security.Encryption.encrypt("senha");

Substituído por:

var encrypted = GlideSecurity.encrypt("senha");

Chamadas a com.glide.schedules:

var sched = new Packages.com.glide.schedules.Schedule("sys_id");

Substituído por:

var sched = new GlideSchedule("sys_id");

Chamadas a com.glide.zip:

var zip = Packages.com.glide.zip.ZipUtil.compress("conteúdo"

Substituído por:

var zip = GlideZipUtil.compress("conteúdo");

Instance Security Center

Restrict Allowed Java Packages

If the “sys_whitelist_member” and “sys_whitelist_package” table are not empty value, then dangerous APIs may be exposed to the scripting engine. Entries correspond to Java namespace that have not be approved by ServiceNow’s security teams. These supported APIs will likely will introduce instability and insecurity within the instance.

https://<instance>.service-now.com/now/app-manager/home/plugin/id/com.glide.script.packages_call_removal/details

Conclusão

A propriedade com.glide.script.packages_call_removal é uma ferramenta essencial para manter a integridade e a compatibilidade dos scripts no ServiceNow. Ao utilizá-la, Santhosh garante que suas implementações estejam sempre alinhadas com as melhores práticas e preparadas para futuras atualizações da plataforma.

--

--

No responses yet