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.
The official Ruby Client for the Verb messaging platform.
gem install verb-rb
Verb.configure(token: '<Project API Key>')
The API is non-blocking so you can simply send and forget. The processing happens in the background on a highly efficient queue system.
msg = Verb.email({
to: 'me@me.com', text: 'Email Text', html: 'Email HTML'
})
msg.send
Files can only be attached to email messages (this is also dependent on the service you are using to send the emails). Only pass the path to the file.
msg = Verb.email({
to: 'me@me.com', text: 'Email Text', html: 'Email HTML'
})
msg.attach('file.pdf')
# OR
msg.attach(['file1.pdf', 'file2.pdf'])
# OR
msg.attach('file1.pdf')
msg.attach('file2.pdf')
msg.attach('file3.pdf')
msg.send
These file types are generally not allowed and will be blocked.
vbs, exe, bin, bat, chm, com, cpl,
crt, hlp, hta, inf, ins, isp, jse,
lnk, mdb, pcd, pif, reg, scr, sct,
shs, vbe, vba, wsf, wsh, wsl, msc,
msi, msp, mst
Verb has a built-in scheduler that allows you schedule messages to be delivered in the future. These are quite useful in the sense that you can target future user behavior or events.
msg = Verb.email({
to: 'me@me.com', text: 'Email Text', html: 'Email HTML'
})
msg.send(in: '1h')
There is no limit to how far in the future a message can be scheduled for.
Schedule Examples:
'1h' # 1 hour
'1h20m' # 1 hour 20 minutes
'3Y2W' # 3 years 2 weeks
Available Date Tokens:
msg = Verb.sms({
to: '+20830000000', text: 'SMS Text'
})
msg.send(in: '1h')
Templates are a powerful way to add reusable message (SMS / Email) templates on the server side where you can edit content without requiring direct access to source code or perform re-deployments.
Templates are available for the following message types:
Example:
msg = Verb.sms({
template: 'welcome-sms-template', to: '+20830000000', data: { name: 'My Name', other: 'More data' }
})
msg.send(in: '20m')
Templates are created in the Verb admin dashboard using Text, HTML or Mustache. If your template contains variables, you can specify these by adding a data: {}
field into the parameters list.
The SDK has purposely been kept simple to use in attempt to keep code as minimal as possible. There are however two additional methods that can be used to determine if messages were sent successfully.
puts msg.status # Integer, the response code from the API
puts msg.sent? # Boolean, based on if the message was sent or not
puts msg.error # Hash, contains all the error details from the API if a message was not delivered
To test the current stable version of verb-sh, simply run:
rake test
Please see LICENSE for licensing details.
Sean Nieuwoudt, @seannieuwoudt
FAQs
Unknown package
We found that verb-rb 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.