diff --git a/install-scripts/install-safe-chain.ps1 b/install-scripts/install-safe-chain.ps1 index 1bd3f0a..bc3aa23 100644 --- a/install-scripts/install-safe-chain.ps1 +++ b/install-scripts/install-safe-chain.ps1 @@ -1,18 +1,6 @@ # Downloads and installs safe-chain for Windows # -# Usage examples: -# -# Default (JavaScript packages only): -# iex (iwr "https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.ps1" -UseBasicParsing) -# -# CI setup (JavaScript packages only): -# iex "& { $(iwr 'https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.ps1' -UseBasicParsing) } -ci" -# -# Include Python packages: -# iex "& { $(iwr 'https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.ps1' -UseBasicParsing) } -includepython" -# -# CI setup with Python packages: -# iex "& { $(iwr 'https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.ps1' -UseBasicParsing) } -ci -includepython" +# Usage with "iex (iwr {url} -UseBasicParsing)" --> See README.md param( [switch]$ci, diff --git a/install-scripts/install-safe-chain.sh b/install-scripts/install-safe-chain.sh index 867f5b7..3fc5043 100755 --- a/install-scripts/install-safe-chain.sh +++ b/install-scripts/install-safe-chain.sh @@ -2,23 +2,7 @@ # Downloads and installs safe-chain, depending on the operating system and architecture # -# Usage examples: -# -# Default (JavaScript packages only): -# curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -# wget -qO- https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -# -# CI setup (JavaScript packages only): -# curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci -# wget -qO- https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci -# -# Include Python packages: -# curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --include-python -# wget -qO- https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --include-python -# -# CI setup with Python packages: -# curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci --include-python -# wget -qO- https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci --include-python +# Usage with "curl -fsSL {url} | sh" --> See README.md set -e # Exit on error diff --git a/packages/safe-chain/bin/safe-chain.js b/packages/safe-chain/bin/safe-chain.js index 0a73f0e..f3b790b 100755 --- a/packages/safe-chain/bin/safe-chain.js +++ b/packages/safe-chain/bin/safe-chain.js @@ -141,6 +141,12 @@ async function getVersion() { * @param {import("../src/shell-integration/helpers.js").AikidoTool} tool */ async function executePip(tool) { + // Scanners for pip / pip3 / python / python3 use a slightly different approach: + // - They all use the same PIP_PACKAGE_MANAGER internally, but need some setup to be able to do so + // - It needs to set which tool to run (pip / pip3 / python / python3) + // - For python and python3, the -m pip/pip3 args are removed and later added again by the package manager + // - Python / python3 skips safe-chain if not being run with -m pip or -m pip3 + let args = process.argv.slice(3); setEcoSystem(tool.ecoSystem); initializePackageManager(PIP_PACKAGE_MANAGER);