Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Gem EXPERIMENTAL para criação de chamados no SAC da Prefeitura de São Paulo. Criei esta gem somente para fins de estudos e ela não deve ser utilizada para aplicações em produção.
Adicione a linha abaixo ao seu Gemfile:
gem 'sacsp_gateway'
e execute:
$ bundle
Ou instale diretamente com o comando abaixo:
$ gem install sacsp_gateway
Para criar um chamado no SAC da prefeitura de São Paulo utilizando esta gem, siga os passos abaixo nas mesma ordem (eu preferi manter os nomes como step_x uma vez que fica mais fácil de lembrar a ordem que devem ser chamados:
#0 - Buscar a lista de assuntos que podem ser utilizados na criação de um ticket (ex.: Lixo/Limpeza, Buracos, etc.)
subjects = SacspGateway.get_subjects #Você pode manter o resultado deste método em cache
##IMPORTANTE: Os métodos abaixo devem ser chamados em ordem.
Iniciando o processo de criação do chamado:
#1 - Envie o assunto do chamado, que foi selecionado com base no método que busca os assuntos.
subject_key = subjects.last[:key] #ex.: "001Buraco"
specifications = SacspGateway.step_1(subject_key)
#2 - Envie a especificação do assunto com base na lista retornada pelo pelo step_1.
specification_key = specifications.last[:key] #ex.: "200101STapa-buraco"
response = SacspGateway.step_2(specification_key)
#3 - Envia os dados do chamado, descrição rua, etc.
# O campo Logradouro, deve que ser especificado conforme no site.
# Ex:NÃO escreva Av. Brig. Faria Lima, escreva APENAS, Faria Lima, OU entre com o CEP sem hífen. Ex: 01452000.
ticket_data = {
txtLogradouro: 'pouso alegre',
txtNumero: 01,
txtReferencia: 'na esquina c av nazare',
txtDescricao: 'A via possui um buraco bem na esquina com a av nazare.'
}
street_occurrences = SacspGateway.step_3(ticket_data)
#3.1 - Confirma dados do endereço do chamado (com base na resposta do step_3.
# Se o nome da rua digitada existir em mais de uma localidade, o sistema exije que se selecione
# a qual dos endereços que a rua pertence (ex.: Rua Vergueiro existe em Santo Amaro, Liberdade e Vila Mariana).
# Eu sei que é estranho mas infelizmente o sistema da prefeitura funciona assim (pra não dizer que é uma merda).
street_selected = street_occurrences.last[:key] # Ex.: '165590R POUSO ALEGRE - VILA MONUMENTO'
ticket_data = {
comboLogradouro: street_selected,
txtNumero: 01,
txtReferencia: 'na esquina c av nazare',
txtDescricao: 'A via possui um buraco bem na esquina com a av nazare.'
}
response = SacspGateway.step_3_1(ticket_data)
#4 - Especifica os dados (RG, UF) de quem está abrindo o chamado (você?)
id_info = {
txtRG: 112223334,
comboRGUF: 'SP'
}
response = SacspGateway.step_4(id_info)
#5 - Finaliza o envio do chamado, passando os dados complementares do usuário do chamado
citizen_data = {
comboRGUF: 'SP',
txtNome: 'Marcelo Cidadao',
txtLogradouro: 'Rua Joao Inacio',
txtNumero: 8424,
txtComplemento: '123, bl4',
txtCep: '01536001',
txtCidade: 'Sao Paulo',
comboUF: 'SP',
txtTelefone: '911111111',
txtFax: '',
txtCPF: '',
txtEmail: 'meuemail@gmail.com',
comboOcupacao: '002'
}
ticket_number = SacspGateway.step_5!(citizen_data)
puts "Chamado criado com sucesso!!! --> #{ticket_number}"
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/gnumarcelo/sacsp_gateway.
The gem is available as open source under the terms of the MIT License.
FAQs
Unknown package
We found that sacsp_gateway demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.