
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
An OpenStack Swift Client npm module and CLI.
import Swifft from 'swifft';
// These are the default env vars used internally by swifft.
// Usage here is for demonstration purposes only.
let options = {
auth_url = process.env.OS_AUTH_URL,
tenant_id = process.env.OS_TENANT_ID,
tenant_name = process.env.OS_TENANT_NAME,
region = process.env.OS_REGION_NAME,
username = process.env.OS_USERNAME,
password = process.env.OS_PASSWORD
}
let account = Swifft.create(options);
// List containers
account.list((err, containers) => {
// Print all container names and size
for (let { name, bytes } of containers) {
console.log(`${name}: ${bytes}`);
}
// List contents of first container.
let [ { name: first } ] = container;
account.container(first).list((err, objects) => {
for (let { name, bytes } of objects) {
console.log(`${name}: ${bytes}`);
}
});
});
$ source ~/openrc.sh
$ swifft list
[ { count: 1, bytes: 4, name: 'foo' },
{ count: 1, bytes: 4, name: 'bar' } ]
$ swift list foo
[ { hash: '<hash>',
last_modified: '<date>',
bytes: 4,
name: 'foo2.txt',
content_type: 'text/plain' } ]
create([options])Returns an Account instance.
getMetadata(callback)Retrieve metadata for the current account.
updateMetadata(metadata, callback)Set metadata for the current account.
list([options], callback)List containers for the current account.
container(name)Get the named container. Returns a Container instance.
create([settings], callback)Create the named container.
getMetadata(callback)Retrieve metadata for the current container.
updateMetadata(metadata, callback)Set metadata for the current container.
list([options], callback)List objects in the current container.
delete(callback)Delete the current container.
object(name)Get the named object. returns an Object instance.
create([settings], callback)Create the named Object.
get(callback)Get the contents and settings of the current object.
getStream([range,] callback)Get the contents as a readable stream and settings of the current object. See Object Storage API Docs for valid Range values.
getRange(range, callback)Get the contents as a readable range and settings of the current object. See Object Storage API Docs for valid Range values.
getMetadata(callback)Retrieve metadata for the current object.
updateMetadata(metadata, callback)Set metadata for the current object.
copy(dest, callback)Copy the current object to the provided destination: { container, object }.
delete(callback)Delete the current object.
FAQs
An OpenStack Swift Client
The npm package swifft receives a total of 8 weekly downloads. As such, swifft popularity was classified as not popular.
We found that swifft 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.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.