
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
Note: Currently in Development (Will merge to Swiff after approval)
Swiff streamlines common SSH tasks during website/app development, saving you valuable time.
Keep folders in sync between servers effortlessly.
Manage databases between servers with automatic backups.
Transfer composer files between servers with automatic backups.
Launch an SSH session directly into the remote site/app folder.
Access all logs with swiff.log.
Install Swiff globally with npm:
npm install --global swiff-4@latest
Run Swiff:
swiff-4
Custom SSH Identity:
Swiff uses your identity located at /Users/[currentUser]/.ssh/id_rsa. Specify a custom SSH key path in your .env file with:
SWIFF_CUSTOM_KEY="/Users/[your-user]/.ssh/[key-filename]"
Gzipped Backups: Automatically back up and gzip your files and databases whenever they change.
Disable Specific Tasks: Specify tasks to disable via a config setting.
Dotenv Setup:
Required .env
# The environment currently running in ('dev', 'staging', 'production', etc.)
ENVIRONMENT="dev"
SECURITY_KEY=""
DB_USER="db"
DB_PASSWORD="db"
DB_DATABASE="db"
DB_PORT="3306"
DB_DRIVER="mysql"
DB_SERVER="localhost"
DB_TABLE_PREFIX="craft"
Also this can be prefixed in swiff.config.js
env: {
prefix: "CRAFT_",
},
Folder Sync Enhancements:
New features include see diff and validation sync with git.
Enhanced Logger:
swiff.log includes max size settings to manage log file size:
logging: {
enabled: true,
dir: '', // Default root: "./storage/logs/"
maxSize: 10 * 1024 * 1024, // Recommended 10MB max log file size
},
Multi-Environment Support:
Must have defaultEnvironment in environments object.
defaultEnvironment: "staging",
environments: {
staging: {
user: "",
host: "",
appPath: "",
port: 22,
},
production: {
user: "",
host: "",
appPath: "",
port: 22,
},
},
Swiff requires Node.js LTS version (16.0.0+).
Place the following in swiff.config.js at the root of your application:
export default {
defaultEnvironment: "staging",
logging: {
enabled: true,
// dir: '', // Default root: "./storage/logs/"
maxSize: 10 * 1024 * 1024, // Recommended 10MB max log file size
},
environments: {
staging: {
user: "",
host: "",
appPath: "",
port: 22,
},
production: {
user: "",
host: "",
appPath: "",
port: 22,
},
},
local: {
ddev: true,
},
env: {
prefix: null, // Example: "CRAFT_" for projects above version 4
},
pushFolders: [
// { path: "config", exclude: "/project/*" },
// 'templates',
// 'public/dist'
],
pullFolders: [
// 'public/assets/volumes'
],
disabled: ["databasePush"],
};
Swiff works with MySQL databases and supports ddev (requires local.ddev = true).
FAQs
Swiff saves you time with common SSH tasks during the development of websites/apps
We found that swiff-4 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers 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
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.