
Research
npm Malware Targets Telegram Bot Developers with Persistent SSH Backdoors
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
This Python package is designed for efficient compression of Mass Spectrometry (MS/MS) data. It is based on the MassComp algorithm, which is described in the following paper: https://doi.org/10.1186/s12859-019-2962-7
0.2.0
To install the MS/MS Data Compression package, run:
pip install msms-compression
The package includes the following main compressor classes:
SpectrumCompressorUrl
: Utilizes URL-safe Base64 encoding.SpectrumCompressor
: Uses Base85 encoding.from msms_compression import SpectrumCompressorF32
# Sample data
mz_values, intensity_values = [100.0, 101.0, 102.0], [10.0, 20.0, 30.0]
# Initialize the compressor
compressor = SpectrumCompressorF32()
# Compress data
compressed_data = compressor.compress(mz_values, intensity_values)
print("Compressed Data:", compressed_data)
# Decompress data
decompressed_mz, decompressed_intensity = compressor.decompress(compressed_data)
assert decompressed_mz == mz_values
assert decompressed_intensity == intensity_values
strategy | Compression Ratio | Compression Ratio Rank | URL Compression Ratio | URL Compression Ratio Rank | Compression Time | Compression Time Rank | Decompression Time | Decompression Time Rank |
---|---|---|---|---|---|---|---|---|
SpectrumCompressorLossy | 5.952 | 1 | 5.023 | 2 | 0.030 | 5 | 0.008 | 4 |
SpectrumCompressorUrlLossy | 5.579 | 2 | 6.926 | 1 | 0.030 | 4 | 0.007 | 1 |
SpectrumCompressor | 3.890 | 3 | 3.299 | 6 | 0.053 | 7 | 0.010 | 6 |
SpectrumCompressorUrl | 3.646 | 4 | 4.528 | 3 | 0.051 | 6 | 0.008 | 3 |
SpectrumCompressorGzip | 3.148 | 5 | 2.658 | 7 | 0.023 | 2 | 0.009 | 5 |
SpectrumCompressorUrlGzip | 2.951 | 6 | 3.665 | 4 | 0.022 | 1 | 0.007 | 2 |
SpectrumCompressorUrlLzstring | 2.800 | 7 | 3.418 | 5 | 0.026 | 3 | 0.097 | 7 |
scan | strategy | original_size | compressed_size | url_encoded_size | compression_ratio | url_compression_ratio | compressed_time | decompressed_time |
---|---|---|---|---|---|---|---|---|
0 | SpectrumCompressor | 56124 | 14428 | 21139 | 3.88993623509842 | 3.299068073229576 | 0.053049564361572266 | 0.009985208511352539 |
0 | SpectrumCompressorUrl | 56124 | 15392 | 15401 | 3.646309771309771 | 4.528212453736771 | 0.051015615463256836 | 0.00789642333984375 |
0 | SpectrumCompressorGzip | 56124 | 17829 | 26236 | 3.1479050984351336 | 2.6581414849824667 | 0.02299976348876953 | 0.009003639221191406 |
0 | SpectrumCompressorUrlGzip | 56124 | 19020 | 19029 | 2.950788643533123 | 3.664879920121919 | 0.021996021270751953 | 0.007005453109741211 |
0 | SpectrumCompressorUrlLzstring | 56124 | 20041 | 20402 | 2.8004590589291953 | 3.418243309479463 | 0.026098012924194336 | 0.09739089012145996 |
0 | SpectrumCompressorLossy | 56124 | 9429 | 13884 | 5.952274896595609 | 5.022976087582829 | 0.030114173889160156 | 0.007976055145263672 |
0 | SpectrumCompressorUrlLossy | 56124 | 10060 | 10069 | 5.578926441351888 | 6.9261098420895815 | 0.030014991760253906 | 0.006910562515258789 |
The method compresses intensity values into two-character hexadecimal strings, offering 256 unique representations. This is a lossy approach, effectively reducing data size. Meanwhile, m/z values are compressed losslessly using delta encoding, maintaining their exact accuracy.
FAQs
A tool for compressing MS/MS data
We found that msms-compression demonstrated a healthy version release cadence and project activity because the last version was released less than 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.
Research
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
Security News
pip, PDM, pip-audit, and the packaging library are already adding support for Python’s new lock file format.
Product
Socket's Go support is now generally available, bringing automatic scanning and deep code analysis to all users with Go projects.