logo

NJP

Adeus a Packages Calls – Garantindo a Sustentabilidade e Segurança dos Scripts na Now Platform

New article articles in ServiceNow Community · Nov 15, 2025 · article

Migração de Código Crítico: A Propriedade com.glide.script.packages_call_removal e o Risco de Usar Java Direto

Gemini_Generated_Image_iy9jfiiy9jfiiy9j.png

1. Introdução: O Risco de Burlar o Escopo

No passado, os desenvolvedores do ServiceNow frequentemente recorriam a chamadas diretas a pacotes Java usando a sintaxe Packages.com.glide... para estender a funcionalidade da plataforma.

Embora funcionais, essas chamadas representam um grande risco de segurança e instabilidade. Eles contornam as camadas de proteção de API suportadas, comprometendo a capacidade da ServiceNow de garantir a estabilidade do seu código durante upgrades e expondo a instância a vulnerabilidades.

A propriedade com.glide.script.packages_call_removal e a ferramenta que a acompanha são essenciais. Elas servem como a linha de frente para a migração, ajudando a identificar e substituir chamadas a classes Java que foram descontinuadas, não-suportadas ou que apresentam alto risco de segurança nas versões mais recentes da plataforma.

2. Por Que Usar Packages Calls é uma Má Prática?

O problema central não é o Java em si, mas o acesso não governado a ele:

  • Instabilidade em Upgrades: A ServiceNow pode remover ou alterar classes Java internas a qualquer momento, pois elas não fazem parte do contrato de API público. Isso quebra scripts que dependem delas.
  • Vulnerabilidade de Segurança: O acesso direto a pacotes Java não honra as proteções do Application Scope (Escopo de Aplicação), podendo expor o Scripting Engine a APIs perigosas.
  • Ameaça no SSC: O Security Center (SSC) monitora o uso de pacotes Java não aprovados (visível em Restrict Allowed Java Packages), indicando que o seu código está fora de conformidade com os padrões de hardening.

3. A Ferramenta de Remoção de Chamadas de Pacotes (Packages Call Removal Tool)

Ao ser ativada, a ferramenta associada à propriedade com.glide.script.packages_call_removal executa uma auditoria crítica em toda a sua instância, com três funções principais:

  1. Identificação e Escaneamento: Examina todos os campos de scripts (Business Rules, Script Includes, etc.) que podem conter chamadas Packages..
  2. Localização Precisa: Encontra exatamente quais linhas de código estão utilizando classes Java obsoletas ou descontinuadas.
  3. Propostas de Correção: Oferece sugestões de substituição para migrar o código de uma chamada insegura (Packages) para uma API Glide equivalente e suportada.

4. Guia de Migração: Substituindo o Código Inseguro

A boa notícia é que a ServiceNow oferece APIs Glide robustas e seguras para substituir a maioria das chamadas diretas a pacotes Java.

A migração é simples: Substitua a sintaxe longa e insegura por um equivalente Glide Global ou Scoped API.

Comando Bloqueado/Obsoleto Novo Comando (Suportado) Função
Packages.com.glide.util.StringUtil.format(...) GlideStringUtil.format(...) Formatação e Manipulação de String.
Packages.com.glide.security.Encryption.encrypt(...) GlideSecurity.encrypt(...) Funções de Criptografia e Segurança.
new Packages.com.glide.schedules.Schedule(...) new GlideSchedule(...) Gestão de Agendamentos e Calendários.
Packages.com.glide.zip.ZipUtil.compress(...) GlideZipUtil.compress(...) Compressão e Descompressão de Arquivos Zip.

5. Conexão com o Security Center (SSC)

Este processo é um pilar do seu Hardening Score no Security Center.

O SSC monitora as tabelas sys_whitelist_member e sys_whitelist_package. Se essas tabelas contiverem entradas de pacotes não aprovados, o SSC o alertará sobre a exposição de APIs perigosas ao Scripting Engine, o que causa instabilidade e insegurança.

Ação de Conformidade: Ao utilizar a ferramenta packages_call_removal e substituir as chamadas obsoletas, você garante que sua lista de pacotes permitidos esteja limpa e alinhada com as APIs seguras e suportadas, elevando seu Hardening Score.

tiagomacul_0-1763158646967.png

tiagomacul_1-1763158658919.png

tiagomacul_2-1763158673500.png

tiagomacul_3-1763158688044.png

tiagomacul_4-1763158695701.png

tiagomacul_5-1763158752959.png

tiagomacul_6-1763158763529.png

tiagomacul_7-1763158770698.png

tiagomacul_8-1763158782796.png

Conclusão

A propriedade com.glide.script.packages_call_removal não é apenas uma ferramenta para preparar sua instância para o próximo upgrade; ela é uma ferramenta de governança de segurança.

Ao migrar sistematicamente de chamadas diretas a pacotes Java para as APIs Glide suportadas, você garante que seus scripts não apenas funcionem, mas que também sejam sustentáveis, seguros e auditáveis, cumprindo os mais altos padrões de segurança exigidos pela ServiceNow e pelo seu Security Center.

tiagomacul_9-1763158800768.jpeg

tiagomacul_11-1763158967020.jpeg

tiagomacul_10-1763158816919.png

View original source

https://www.servicenow.com/community/brazil-snug/adeus-a-packages-calls-garantindo-a-sustentabilidade-e-seguran%C3%A7a/ta-p/3427412