chore: changes log levels for several events - #113
Conversation
acf7210 to
ae99873
Compare
ae99873 to
823e69d
Compare
There was a problem hiding this comment.
| Status | Verificação | Observações |
|---|---|---|
| ✅ | Fronteira do ecossistema | |
| ✅ | Impacto no ecossistema | |
| Design de contrato | A variável de ambiente do SNS deixou de ser consultada, impedindo a desativação documentada dos logs. | |
| ✅ | Verificação de contrato | |
| Correção | O logger SNS captura o valor da variável de ambiente no carregamento, ao contrário do logger SQS. | |
| 📝 | Segurança | A versão explícita do Bundler não possui justificativa de segurança refletida no delta SAST/SCA. |
| Descrição do PR | Asserções de emissão e formatação foram removidas sem equivalente. | |
| Artefatos obrigatórios | openapi_spec missing | |
| ✅ | CVEs da imagem base |
Artefatos obrigatórios
openapi_spec: MISSING — add an OpenAPI spec if this service exposes an HTTP API (verify manually; artifact presence alone can't confirm requiredness).
Resumo de achados de segurança
SAST (análise estática)
semgrep
| Severidade | Ativos | Novos | Resolvidos |
|---|---|---|---|
| warning | 4 | 0 | 0 |
SCA (CVEs de dependências/imagem)
(0 achados ativos)
| module Configurator | ||
| module Logger | ||
| PROGRAM_NAME = 'AWS::SNS::Configurator' | ||
| LOGGER_ENABLED_ENV = ENV.fetch('AWS_SNS_CONFIGURATOR_LOGGER', 'true') |
There was a problem hiding this comment.
2 verificações apontaram o mesmo problema:
⚠️ Design de contrato:lib/aws/sns/configurator/logger.rb:11defineLOGGER_ENABLED_ENVcomo a string literal da chave, enquantolog?compara essa constante com'false'; assim,AWS_SNS_CONFIGURATOR_LOGGER=falsenão suprime os logs. Corrija a constante para buscar o valor da variável, preservando a semântica anterior, por exemplo comENV.fetch('AWS_SNS_CONFIGURATOR_LOGGER', 'true').⚠️ Correção:lib/aws/sns/configurator/logger.rb:11armazena o valor deAWS_SNS_CONFIGURATOR_LOGGERemLOGGER_ENABLED_ENV; portanto, alterações emENVapós o carregamento da biblioteca não têm efeito, enquantolib/aws/sqs/configurator/logger.rb:11armazena corretamente o nome da variável e a lê emlog?. Isso pode impedir a desativação ou reativação do logging em processos que configuram o ambiente durante a inicialização. Use o nome da variável como constante e faça a leitura no momento da chamada:ruby LOGGER_ENABLED_ENV = 'AWS_SNS_CONFIGURATOR_LOGGER' def log? ENV.fetch(LOGGER_ENABLED_ENV, 'true') != 'false' end
| ruby-version: 2.7 | ||
| bundler-cache: true | ||
| uses: actions/checkout@0717577d45739eb3c851188b29f50ed6c0b2194e # v2.8.0 | ||
| - name: Set up bundler |
There was a problem hiding this comment.
📝 Segurança
.github/workflows/specs.yml:14 introduz o Bundler 2.4.22, mas o delta SAST/SCA não registra nenhuma vulnerabilidade resolvida ou introduzida associada a essa versão. Documente o motivo de segurança da alteração ou mantenha a mudança separada de atualizações de dependências.
| expect(described_class).to_not receive(:log_info) | ||
| it 'should not delegate to the underlying logger' do | ||
| expect(described_class.logger).to_not receive(:info) | ||
| end |
There was a problem hiding this comment.
(confiança: 25%)
spec/aws/sns/configurator/logger_spec.rb:58 verifica somente a chamada de logger.info; as asserções anteriores sobre puts e log_info foram removidas, sem validar saída formatada ou emissão efetiva. Preserve ou substitua essas verificações por expectativas sobre o destino e o formatter do logger, incluindo casos debug para SNS e SQS.
Muda log level de info para debug para tudo aquilo associado a publicações.
Eventos de configuração continuam sendo logados com info.
A intenção é remover o número de logs gerados.