From 34b0c478ea99b82ebc182ca6d0debaeb063acabd Mon Sep 17 00:00:00 2001 From: fraxken Date: Sat, 17 Aug 2024 18:31:40 +0200 Subject: [PATCH 1/2] docs: enhance CLI commands & usage examples --- README.md | 29 +++++++++++------------------ bin/index.js | 2 +- docs/cli/auto.md | 19 +++++++++++++++---- docs/cli/config.md | 5 +++-- docs/cli/cwd.md | 7 ++++--- docs/cli/from.md | 16 ++++++++++++---- docs/cli/images/lang.PNG | Bin 0 -> 6114 bytes docs/cli/images/scorecard.PNG | Bin 0 -> 54336 bytes docs/cli/images/summary.PNG | Bin 0 -> 19290 bytes docs/cli/images/verify.PNG | Bin 0 -> 49170 bytes docs/cli/lang.md | 11 +++++++++-- docs/cli/open.md | 5 +---- docs/cli/report.md | 9 +++++++-- docs/cli/scorecard.md | 13 ++++++++++--- docs/cli/summary.md | 11 +++++++++-- docs/cli/verify.md | 9 ++++++++- 16 files changed, 90 insertions(+), 46 deletions(-) create mode 100644 docs/cli/images/lang.PNG create mode 100644 docs/cli/images/scorecard.PNG create mode 100644 docs/cli/images/summary.PNG create mode 100644 docs/cli/images/verify.PNG diff --git a/README.md b/README.md index c559be45..13b8adbb 100644 --- a/README.md +++ b/README.md @@ -58,12 +58,9 @@ or $ git clone https://github.com/NodeSecure/cli.git $ cd cli -# install NPM dependencies $ npm install - -# run esbuild to bundle/compile front-end assets +# bundle/compile front-end assets $ npm run build - $ npm link ``` @@ -77,18 +74,12 @@ $ nsecure auto express ## 👀 Usage example -To show the complete list of commands -```bash -$ nsecure --help -``` - ---- - ```bash -# Run an analysis on the current working dir (must have a package.json file). +# Run a scan on the current working dir +# Note: must have a package.json or node_modules directory $ nsecure cwd -# Run an analysis for a given 'npm' package (must be in the npm registry). +# Run a scan on a remote 'npm' package $ nsecure from mocha ``` @@ -96,13 +87,16 @@ Then a `nsecure-result.json` will be writted at the current CLI location. To ope ```bash $ nsecure open - -# If you want to define a specific port use the --port option. -$ nsecure open --port 8080 ``` ### Command Documentation +The CLI includes built-in documentation accessible with the --help option: +```bash +$ nsecure --help +$ nsecure --help +``` + For complete details on each command, refer to the following documents: - [`cwd`](./docs/cli/cwd.md) @@ -117,8 +111,7 @@ For complete details on each command, refer to the following documents: - [`config create`](./docs/cli/config.md) - [`config`](./docs/cli/config.md) - -Each link redirects you to the complete documentation of the command, with additional details, options, and usage examples. +Each link provides access to the full documentation for the command, including additional details, options, and usage examples. ## Private registry / Verdaccio diff --git a/bin/index.js b/bin/index.js index d2436768..f33c26f6 100755 --- a/bin/index.js +++ b/bin/index.js @@ -120,7 +120,7 @@ function defaultScannerCommand(name, options = {}) { const { includeOutput = true, strategy = null } = options; const cmd = prog.command(name) - .option("-d, --depth", i18n.getTokenSync("cli.commands.option_depth"), 4) + .option("-d, --depth", i18n.getTokenSync("cli.commands.option_depth"), Infinity) .option("--silent", i18n.getTokenSync("cli.commands.option_silent"), false); if (includeOutput) { diff --git a/docs/cli/auto.md b/docs/cli/auto.md index 88469720..524f0d5a 100644 --- a/docs/cli/auto.md +++ b/docs/cli/auto.md @@ -5,14 +5,25 @@ The `auto` command combines the `cwd` and `from` commands to analyze and explore ## 📜 Syntax ```bash -nsecure auto [spec] +$ nsecure auto [spec] +``` + +Omitting the `[spec]` option is equivalent to running the `cwd` and `open` commands together. If `[spec]` is provided, the `from` command will be used instead. + +## 👀 Example + +By default, when using the `auto` command, the JSON payload is deleted once the HTTP server is closed. If you want to keep the JSON file to share or re-open it later, simply add the `--keep` or `-k` option. + +```bash +$ nsecure auto --keep ``` ## ⚙️ Available Options | Name | Shortcut | Default Value | Description | |---|---|---|--| -| `--depth` | `-d` | `4` | Specify the depth of dependency analysis. | -| `--silent` | | | Suppress console output, making execution silent. | +| `--depth` | `-d` | `Infinity` | Maximum tree depth to scan. | +| `--silent` | | `false` | Suppress console output, making execution silent. | | `--output` | `-o` | `nsecure-result` | Specify the output file for the results. | -| `--keep` | `-k` | `false` | Preserve temporary files after execution. | +| `--vulnerabilityStrategy` | `-s` | github-advisory | Strategy used to fetch package vulnerabilities (see Vulnera [available strategy](https://github.com/NodeSecure/vulnera?tab=readme-ov-file#available-strategy)). | +| `--keep` | `-k` | `false` | Preserve JSON payload after execution. | diff --git a/docs/cli/config.md b/docs/cli/config.md index d14746ff..c329bd8f 100644 --- a/docs/cli/config.md +++ b/docs/cli/config.md @@ -5,7 +5,9 @@ The `config` command allows you to manage the `.nodesecurerc` configuration file ## 📜 Syntax ```bash -nsecure config [sub-command] [options] +$ nsecure config create [options] +# OR +$ nsecure config edit ``` ## ⚙️ Available Options @@ -19,4 +21,3 @@ nsecure config [sub-command] [options] ### `edit` Sub-command This sub-command does not have any specific options. - diff --git a/docs/cli/cwd.md b/docs/cli/cwd.md index 779a8cc7..64fe2c1a 100644 --- a/docs/cli/cwd.md +++ b/docs/cli/cwd.md @@ -5,7 +5,7 @@ The `cwd` command scans the project in the current working directory using the ` ## 📜 Syntax ```bash -nsecure cwd [options] +$ nsecure cwd [options] ``` ## ⚙️ Available Options @@ -14,6 +14,7 @@ nsecure cwd [options] |---|---|---|---| | `--nolock` | `-n` | `false` | Do not use a lock file (package-lock.json or yarn.lock) for the analysis. | | `--full` | `-f` | `false` | Perform a full analysis of the project, including all dependencies. | -| `--depth` | `-d` | `4` | Specify the depth of dependency analysis. | -| `--silent` | | | Suppress console output, making execution silent. | +| `--depth` | `-d` | `Infinity` | Maximum tree depth to scan. | +| `--silent` | | `false` | Suppress console output, making execution silent. | | `--output` | `-o` | `nsecure-result` | Specify the output file for the results. | +| `--vulnerabilityStrategy` | `-s` | github-advisory | Strategy used to fetch package vulnerabilities (see Vulnera [available strategy](https://github.com/NodeSecure/vulnera?tab=readme-ov-file#available-strategy)). | diff --git a/docs/cli/from.md b/docs/cli/from.md index 0d8fbab7..999380c5 100644 --- a/docs/cli/from.md +++ b/docs/cli/from.md @@ -5,14 +5,22 @@ The `from` command allows you to run a security analysis on a specific npm packa ## 📜 Syntax ```bash -nsecure from [options] +$ nsecure from [options] +``` + +## 👀 Example + +Scanning version 3.0.0 of express and saving the result into `./express-report.json` + +```bash +$ nsecure from express@3.0.0 -o express-report ``` ## ⚙️ Available Options | Name | Shortcut | Default Value | Description | |---|---|---|---| -| `--depth` | `-d` | `4` | Specify the depth of dependency analysis. | +| `--depth` | `-d` | `Infinity` | Maximum tree depth to scan. | +| `--silent` | | `false` | Suppress console output, making execution silent. | | `--output` | `-o` | `nsecure-result` | Specify the output file for the results. | -| `--silent` | | | Suppress console output, making execution silent. | - +| `--vulnerabilityStrategy` | `-s` | github-advisory | Strategy used to fetch package vulnerabilities (see Vulnera [available strategy](https://github.com/NodeSecure/vulnera?tab=readme-ov-file#available-strategy)). | diff --git a/docs/cli/images/lang.PNG b/docs/cli/images/lang.PNG new file mode 100644 index 0000000000000000000000000000000000000000..0c6e7fadad0cf16f5602e2dc2f210144c396ee8b GIT binary patch literal 6114 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

1^a!+u?Je(k*cy2PhVU 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 literal 0 HcmV?d00001 diff --git a/docs/cli/images/verify.PNG b/docs/cli/images/verify.PNG new file mode 100644 index 0000000000000000000000000000000000000000..870c3da59e1533eba6cdf04101a0d8dfec8a0037 GIT binary patch literal 49170 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 USJ*ZZ1i%mCl8JuF1*fS00{cGL!2kdN literal 0 HcmV?d00001 diff --git a/docs/cli/lang.md b/docs/cli/lang.md index e8109167..a0669d94 100644 --- a/docs/cli/lang.md +++ b/docs/cli/lang.md @@ -1,9 +1,16 @@ ## 📝 Command `lang` -The `lang` command allows you to set your preferred language. Use this command to customize the language used in the CLI or Web interfaces +The `lang` command allows you to set your preferred language. Use this command to customize the language used in the CLI or Web interfaces. + +

+ +

+ +> [!NOTES] +> Feel free to help us translate this tool into other languages. Translations can be found in the root `./i18n` folder. ## 📜 Syntax ```bash -nsecure lang +$ nsecure lang ``` diff --git a/docs/cli/open.md b/docs/cli/open.md index 70983e01..02b1de07 100644 --- a/docs/cli/open.md +++ b/docs/cli/open.md @@ -5,15 +5,12 @@ The `open` command reads a specified JSON payload and starts a local HTTP server ## 📜 Syntax ```bash -nsecure open [json] +$ nsecure open [json] ``` > [!NOTE] > If the `[json]` property is omitted, the command will default to searching for a `nsecure-result.json` file in the current working directory. ->[!NOTE] -> If the `[json]` property is omitted, the command will default to searching for a `nsecure-result.json` file in the current working directory. -> ## ⚙️ Available Options | Name | Shortcut | Default Value | Description | diff --git a/docs/cli/report.md b/docs/cli/report.md index 3cd2bea8..5e93da4d 100644 --- a/docs/cli/report.md +++ b/docs/cli/report.md @@ -1,11 +1,16 @@ ## 📝 Command `report` -The `report` command generates a detailed security report for a repository in PDF format. The report can include all dependencies and can be customized with various options. +The `report` command generates a detailed security report for a repository in PDF format (using [@nodesecure/report](https://github.com/NodeSecure/report)). The report can include all dependencies and can be customized with various options. + +

+ +

+ ## 📜 Syntax ```bash -nsecure report [repository] +$ nsecure report [repository] ``` ## ⚙️ Available Options diff --git a/docs/cli/scorecard.md b/docs/cli/scorecard.md index 9c2c9960..190ceb43 100644 --- a/docs/cli/scorecard.md +++ b/docs/cli/scorecard.md @@ -1,11 +1,19 @@ ## 📝 Command `scorecard` -The `scorecard` command is used to generate an OpenSSF scorecard for a specific GIT repository or NPM package. This command evaluates the repository and provides a security score based on various criteria. +The `scorecard` command is used to generate an [OpenSSF scorecard](https://openssf.org/projects/scorecard/) for a specific GIT repository or NPM package. + +This command evaluates the repository and provides a security score based on various criteria. + +

+ +

+ +Under the hood it use our [OpenSSF scorecard SDK for Node.js](https://github.com/NodeSecure/ossf-scorecard-sdk) ## 📜 Syntax ```bash -nsecure scorecard [repository] +$ nsecure scorecard [repository] ``` ## ⚙️ Available Options @@ -13,4 +21,3 @@ nsecure scorecard [repository] | Name | Shortcut | Default Value | Description | |---|---|---|---| | `--vcs` | | `github` | Specify the version control system (VCS) used by the repository. | - diff --git a/docs/cli/summary.md b/docs/cli/summary.md index 5b491ad0..0ab204d9 100644 --- a/docs/cli/summary.md +++ b/docs/cli/summary.md @@ -1,9 +1,16 @@ ## 📝 Command `summary` -The `summary` command is used to generate a summarized report from a JSON security report. This command provides a concise overview of the security findings. +The `summary` command generates a summarized report from a specified JSON payload. + +

+ +

## 📜 Syntax ```bash -nsecure summary [json] +$ nsecure summary [json] ``` + +> [!NOTE] +> If the `[json]` property is omitted, the command will default to searching for a `nsecure-result.json` file in the current working directory. diff --git a/docs/cli/verify.md b/docs/cli/verify.md index 24e47478..5fa971be 100644 --- a/docs/cli/verify.md +++ b/docs/cli/verify.md @@ -2,12 +2,19 @@ The `verify` command performs a deep analysis of a specified NPM package. It provides advanced information about the files in the tarball, including details on potential threats, file integrity, and more. +

+ +

+ ## 📜 Syntax ```bash -nsecure verify [package] +$ nsecure verify [spec] ``` +> [!NOTE] +> If the `[spec]` property is omitted, the command will default to searching the local project manifest to extract it's name + version. + ## ⚙️ Available Options | Name | Shortcut | Default Value | Description | From 4fffd8409636b530ae1bd8e643a1e5b4ff4d66bb Mon Sep 17 00:00:00 2001 From: fraxken Date: Sun, 18 Aug 2024 00:44:05 +0200 Subject: [PATCH 2/2] refactor(bin): improve commands options to match documentation --- bin/index.js | 23 +++++++++-------- src/commands/scanner.js | 55 +++++++++++++++++++++++++---------------- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/bin/index.js b/bin/index.js index f33c26f6..113c68e7 100755 --- a/bin/index.js +++ b/bin/index.js @@ -46,22 +46,25 @@ defaultScannerCommand("cwd", { strategy: vulnera.strategies.GITHUB_ADVISORY }) .describe(i18n.getTokenSync("cli.commands.cwd.desc")) .option("-n, --nolock", i18n.getTokenSync("cli.commands.cwd.option_nolock"), false) .option("-f, --full", i18n.getTokenSync("cli.commands.cwd.option_full"), false) - .action(async(...options) => { + .action(async(options) => { checkNodeSecureToken(); - await commands.scanner.cwd(...options); + await commands.scanner.cwd(options); }); -defaultScannerCommand("from ") +defaultScannerCommand("from ") .describe(i18n.getTokenSync("cli.commands.from.desc")) - .action(async(...options) => { + .action(async(spec, options) => { checkNodeSecureToken(); - await commands.scanner.from(...options); + await commands.scanner.from(spec, options); }); -defaultScannerCommand("auto [package]", { includeOutput: false, strategy: vulnera.strategies.GITHUB_ADVISORY }) +defaultScannerCommand("auto [spec]", { includeOutput: false, strategy: vulnera.strategies.GITHUB_ADVISORY }) .describe(i18n.getTokenSync("cli.commands.auto.desc")) .option("-k, --keep", i18n.getTokenSync("cli.commands.auto.option_keep"), false) - .action(commands.scanner.auto); + .action(async(spec, options) => { + checkNodeSecureToken(); + await commands.scanner.auto(spec, options); + }); prog .command("open [json]") @@ -70,12 +73,12 @@ prog .action(commands.http.start); prog - .command("verify [package]") + .command("verify [spec]") .describe(i18n.getTokenSync("cli.commands.verify.desc")) .option("-j, --json", i18n.getTokenSync("cli.commands.verify.option_json"), false) - .action(async(...options) => { + .action(async(spec, options) => { checkNodeSecureToken(); - await commands.verify.main(...options); + await commands.verify.main(spec, options); }); prog diff --git a/src/commands/scanner.js b/src/commands/scanner.js index fc1543ab..01536dba 100644 --- a/src/commands/scanner.js +++ b/src/commands/scanner.js @@ -1,5 +1,5 @@ // Import Node.js Dependencies -import fs from "node:fs/promises"; +import fs from "node:fs"; import path from "node:path"; import events from "node:events"; @@ -14,12 +14,14 @@ import * as Scanner from "@nodesecure/scanner"; // Import Internal Dependencies import * as http from "./http.js"; -export async function auto(packageName, opts) { - const keep = Boolean(opts.keep); - delete opts.keep; - delete opts.k; +export async function auto(spec, options) { + const { keep, ...commandOptions } = options; - const payloadFile = await (typeof packageName === "string" ? from(packageName, opts) : cwd(opts)); + const payloadFile = await ( + typeof spec === "string" ? + from(spec, commandOptions) : + cwd(commandOptions) + ); try { if (payloadFile !== null) { await http.start(); @@ -29,7 +31,7 @@ export async function auto(packageName, opts) { finally { if (!keep && payloadFile !== null) { try { - await fs.unlink(payloadFile); + fs.unlinkSync(payloadFile); } catch (error) { if (error.code !== "ENOENT") { @@ -41,10 +43,15 @@ export async function auto(packageName, opts) { } } -export async function cwd(opts) { +export async function cwd(options) { const { - depth: maxDepth = 4, output, nolock, full, vulnerabilityStrategy, silent - } = opts; + depth: maxDepth = Infinity, + output, + nolock, + full, + vulnerabilityStrategy, + silent + } = options; const payload = await Scanner.cwd( process.cwd(), @@ -52,18 +59,22 @@ export async function cwd(opts) { initLogger(void 0, !silent) ); - return await logAndWrite(payload, output); + return logAndWrite(payload, output); } -export async function from(packageName, opts) { - const { depth: maxDepth = 4, output, silent } = opts; +export async function from(spec, options) { + const { depth: maxDepth = Infinity, output, silent } = options; - const payload = await Scanner.from(packageName, { maxDepth }, initLogger(packageName, !silent)); + const payload = await Scanner.from( + spec, + { maxDepth }, + initLogger(spec, !silent) + ); - return await logAndWrite(payload, output); + return logAndWrite(payload, output); } -function initLogger(packageName, verbose = true) { +function initLogger(spec, verbose = true) { const spinner = { walkTree: new Spinner({ verbose }), tarball: new Spinner({ verbose }), @@ -97,7 +108,7 @@ function initLogger(packageName, verbose = true) { if (eventName === "fetchManifest") { spinner[eventName] - .start(kleur.white().bold(i18n.getTokenSync(spinner.i18n.start[eventName], kleur.green().bold(packageName)))); + .start(kleur.white().bold(i18n.getTokenSync(spinner.i18n.start[eventName], kleur.green().bold(spec)))); } else { spinner[eventName] @@ -134,7 +145,7 @@ function initLogger(packageName, verbose = true) { spin.succeed(kleur.white().bold(i18n.getTokenSync(tokenName, kleur.green().bold(logger.count("walkTree")), execTime))); } else if (eventName === "fetchManifest") { - spin.succeed(kleur.white().bold(i18n.getTokenSync(tokenName, kleur.green().bold(packageName), execTime))); + spin.succeed(kleur.white().bold(i18n.getTokenSync(tokenName, kleur.green().bold(spec), execTime))); console.log(""); } }); @@ -142,7 +153,7 @@ function initLogger(packageName, verbose = true) { return logger; } -async function logAndWrite(payload, output = "nsecure-result") { +function logAndWrite(payload, output = "nsecure-result") { if (payload === null) { console.log(i18n.getTokenSync("cli.no_dep_to_proceed")); @@ -158,9 +169,11 @@ async function logAndWrite(payload, output = "nsecure-result") { const ret = JSON.stringify(payload, null, 2); - const fileName = path.extname(output) === ".json" ? filenamify(output) : `${filenamify(output)}.json`; + const fileName = path.extname(output) === ".json" ? + filenamify(output) : + `${filenamify(output)}.json`; const filePath = path.join(process.cwd(), fileName); - await fs.writeFile(filePath, ret); + fs.writeFileSync(filePath, ret); console.log(""); console.log(kleur.white().bold(i18n.getTokenSync("cli.successfully_written_json", kleur.green().bold(filePath))));