Pular para o conteúdo

Relatório de Security Scan

FerramentaVersãoPropósito
Salesforce Code Analyzer v5Mais recenteAnálise de segurança Apex/LWC
PMD (incl. AppExchange rules)v5Qualidade de código & segurança
ESLintv5Análise JavaScript/LWC
RetireJSv5Bibliotecas JS vulneráveis
Partner Security Portal (Checkmarx)Mais recenteScan de fonte obrigatório
Terminal window
# Install Salesforce CLI
npm install -g @salesforce/cli
# Install Code Analyzer v5 plugin
sf plugins install @salesforce/plugin-code-analyzer
Terminal window
# Run all rules with HTML output
sf code-analyzer run --workspace force-app --output-file docs/scan-results.html
# Run AppExchange-specific rules
sf code-analyzer run --rule-selector AppExchange --workspace force-app --output-file docs/scan-appexchange.html
# Run Security-tagged rules only
sf code-analyzer run --rule-selector Security --workspace force-app --output-file docs/scan-security.html
# Fail on High or Critical (CI/CD)
sf code-analyzer run --rule-selector AppExchange --workspace force-app --severity-threshold 2 --output-file docs/scan-appexchange.html
  • Verificação isCreateable() antes de INSERT
  • Verificação isUpdateable() antes de UPDATE
  • Verificação isDeletable() antes de DELETE
  • Permissões em nível de campo via Permission Sets
  • Bind variables usadas para entrada de usuário
  • String.escapeSingleQuotes() para queries dinâmicas
  • Nomes de objeto derivados de IDs Salesforce (não entrada de usuário)
  • with sharing em controllers principais
  • without sharing apenas onde documentado e necessário
  • Registros de compartilhamento respeitam configurações OWD
  • Sem eval() ou execução de script dinâmico
  • Entrada de usuário sanitizada antes de exibição
  • Sem credenciais codificadas
VerificaçãoStatusNotas
HTTP CalloutsN/APacote não faz chamadas externas
Named CredentialsN/ANão usado
External ObjectsN/ANão usado
Remote Site SettingsN/ANão necessário
CSP ViolationsPassSem violações de Content-Security-Policy
ClasseCoberturaStatus
ObjectTeamMemberController>75%Pass
TeamMemberWizardController>75%Pass
ShareRecordQueueable>75%Pass
SharingRecalculationBatch>75%Pass
ExpiredTeamMemberCleanupBatch>75%Pass
ObjectTeamMemberTriggerHandler>75%Pass
PostInstallHandler>75%Pass
Geral>75%Pass
Terminal window
# Run all tests with coverage
sf apex run test --code-coverage --result-format human --target-org [ORG_ALIAS]
# Run specific test class
sf apex run test --tests ObjectTeamMemberTest --code-coverage --result-format human --target-org [ORG_ALIAS]

Referência de Comandos do Scanner (Code Analyzer v5)

Seção intitulada “Referência de Comandos do Scanner (Code Analyzer v5)”
Terminal window
# List available rules
sf code-analyzer rules
# List AppExchange rules only
sf code-analyzer rules --rule-selector AppExchange
# Run with specific rule selector
sf code-analyzer run --rule-selector Security --workspace force-app
# Export to various formats
sf code-analyzer run --workspace force-app --output-file results.html
sf code-analyzer run --workspace force-app --output-file results.sarif