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.
= BreakVerter
== DESCRIPTION:
BreakVerter is a Ruby library and commandline tool for conversion of text between linebreak encoding formats of unix, windows or mac.
== FEATURES/PROBLEMS:
== SYNOPSIS:
=== Commandline
The default output encoding is unix. You can also choose mac and windows.
breakverter -o windows unix.txt windows.txt
If no target file is specified the output will be sent to STDOUT.
breakverter -o windows mac.txt > windows.txt
You can set the default with the environment variable BREAKVERTER_OUTPUT.
export BREAKVERTER_OUTPUT=mac
breakverter windows.txt mac.txt
=== Library
First of all you have to load the BreakVerter gem:
require 'breakverter'
You can put strings or objects responding to to_s into the convert method and optionally define a target linebreak encoding. The default encoding is :unix. You can also choose :mac and :windows. Notice that the :mac encoding is deprecated. Modern Apple machines also use :unix linebreak encoding.
windows_string = "Abcdef\r\nAbcdef\r\nAbcdef"
Aef::BreakVerter.convert(windows_string, :unix) #=> "Abcdef\nAbcdef\nAbcdef"
Alternatively you could include BreakVerter into the String class and use it in the following way:
class String include Aef::BreakVerter end
"Abcdef\nAbcdef\nAbcdef".linebreaks(:mac) #=> "Abcdef\rAbcdef\rAbcdef"
== REQUIREMENTS:
=== Additional for commandline
=== Additional for automated testing
== INSTALL:
=== Normal
gem install breakverter
Additionally for the commandline tool:
gem install user-choices
=== High security (recommended)
There is a high security installation option available through rubygems. It is highly recommended over the normal installation, although it may be a bit less comfortable. To use the installation method, you will need my public key, which I use for cryptographic signatures on all my gems. You can find the public key and more detailed verification information in the aef-certificates section of my rubyforge project[https://rubyforge.org/frs/?group_id=7890&release_id=31749]
Add the key to your rubygems' trusted certificates by the following command:
gem cert --add aef.pem
Now you can install the gem while automatically verifying it's signature by the following command:
gem install breakverter --ignore-dependencies -P HighSecurity
Please notice that you will need other keys for dependent libraries, so you may have to install dependencies manually.
=== Automated testing
You can test this package through rspec on your system. First find the path where the gem was installed to:
gem which breakverter
Go into the root directory of the installed gem and run the following command to start the test runner:
rake spec
On Windows systems you have to run the following instead:
spec spec/**/*_spec.rb
If something goes wrong you should be noticed through failing examples.
== DEVELOPMENT:
This software is developed in the source code management system git hosted at github.com. You can download the most recent sourcecode through the following command:
git clone git://github.com/aef/breakverter.git
Help on making this software better is always very appreciated. If you want your changes to be included in the official release, please send me a patch through the project's tracker[https://rubyforge.org/tracker/?group_id=7890] at rubyforge.org. You can generate a patch-file by the following command:
git diff > patch.diff
Please make sure to write tests for your changes and notice that I can't promise to include your changes before reviewing them.
== LICENSE:
Copyright 2009 Alexander E. Fischer aef@raxys.net
This file is part of BreakVerter.
BreakVerter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
FAQs
Unknown package
We found that aef-breakverter 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.