Aikido Safe Chain - Prevent Malware Installs

Protect your projects from hidden threats like malicious code and malware by integrating Aikido into your workflow. As you install node packages, Aikido scans for risks such as obfuscated code, data theft attempts, sneaky install scripts, and crypto miners, all without interrupting your command. Picture it as a safety net wrapped around npm and other package managers, ensuring safer operations.

Why It Matters:

  • Threats Covered: Aikido blocks access to potentially harmful packages by identifying suspicious activities like data exfiltration or unwanted scripts during setup.

  • Peace of Mind: Get instant protection without complex changes, helping you catch issues early and keep your dependencies clean.

Key behavior

  • Malware scanning

    • Scans packages and nested dependencies during install

    • No setup or config needed

    • Looks for known malicious patterns and suspicious package behavior

  • 24 hour safety window

    • Blocks any package version published less than 24 hours ago

    • New versions carry the highest risk, so Aikido delays them until they are vetted by the community

  • Safe fallback, never breaks builds

    • If a version is blocked, the installer automatically picks the latest version older than 24 hours

    • Installs continue normally so your build never fails because of the malware check

1

Install the Aikido Safe Chain package globally

Default installation (JavaScript packages only)

Include Python support (pip/pip3/uv)

2

Restart your terminal to start using the Aikido Safe Chain

This step is crucial as it ensures that the shell aliases for npm, npx, yarn, pnpm and pnpx are loaded correctly. If you do not restart your terminal, the aliases will not be available.

3

Verify the installation by running following command

The output should show that Aikido Safe Chain is blocking the installation of this package as it is flagged as malware.

Alternatively you can use following for Python

Additional configuration

You can find additional configuration options like logging and minimum package age on our Github repository.

Last updated

Was this helpful?