
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.
@purinton/modify
Advanced tools
A modern, modular Discord moderation and utility bot with OpenAI-powered content moderation, multi-language support, and easy customization.

A modern Discord moderation and utility bot built with Node.js, based on the @purinton/discord foundation. It provides advanced moderation using OpenAI, multi-language support, and a modular command/event system for easy customization.
@purinton/commonClone this project:
git clone https://github.com/purinton/modify.git
cd modify
npm install
Set up your environment:
.env.example to .env and fill in your Discord app token, OpenAI key, and database credentials.Start the app locally:
npm start
# or
node modify.mjs
.env file..env.example for required and optional variables.The bot requires a MySQL table named log_channels for logging moderation events and storing guild locales. This table is not created automatically.
To create the table, import the provided schema.sql file into your MySQL database:
mysql -u <username> -p <database> < schema.sql
Replace <username> and <database> with your MySQL username and database name. You will be prompted for your password.
The schema.sql file contains:
DROP TABLE IF EXISTS `log_channels`;
CREATE TABLE `log_channels` (
`guild_id` varchar(32) NOT NULL,
`channel_id` varchar(32) NOT NULL,
`guild_locale` varchar(12) NOT NULL,
PRIMARY KEY (`guild_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
Copy modify.service to /usr/lib/systemd/system/modify.service.
Edit the paths and user/group as needed.
Reload systemd and start the service:
sudo systemctl daemon-reload
sudo systemctl enable modify
sudo systemctl start modify
sudo systemctl status modify
Build the Docker image:
docker build -t modify .
Run the container:
docker run --env-file .env modify
commands/ directory..json definition (for Discord registration/localization) and a .mjs handler (for logic).commands/yourcommand.json and commands/yourcommand.mjs.events/ directory.ready, messageCreate, interactionCreate) has its own handler file.locales/ directory.en-US.json for consistency.Run tests with:
npm test
Add your tests in the tests/ folder or alongside your code.
Jest is configured for ESM and will automatically find .test.mjs files.
For help, questions, or to chat with the author and community, visit:
FAQs
A modern, modular Discord moderation and utility bot with OpenAI-powered content moderation, multi-language support, and easy customization.
We found that @purinton/modify 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
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.