@corellium/corellium-cli 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,3 +19,10 @@ npm install -g @corellium/corellium-cli
19
19
  3. Link with `npm link`
20
20
 
21
21
  *Note*: if you are running it locally create `.env` file and put the following line there `NODE_TLS_REJECT_UNAUTHORIZED=0`
22
+
23
+ ## Publishing
24
+ To publish Corellium CLI to the official Corellium npm registry, create a tag with the format
25
+ ```
26
+ v#.#.#
27
+ ```
28
+ This creates a GitLab pipeline which runs npm publish with the appropriate permissions
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" ?>
2
2
  <!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
3
- <coverage lines-valid="0" lines-covered="0" line-rate="NaN" branches-valid="0" branches-covered="0" branch-rate="NaN" timestamp="1710433471600" complexity="0" version="0.1">
3
+ <coverage lines-valid="0" lines-covered="0" line-rate="NaN" branches-valid="0" branches-covered="0" branch-rate="NaN" timestamp="1713906557236" complexity="0" version="0.1">
4
4
  <sources>
5
5
  <source>/builds/middleware/corellium-cli</source>
6
6
  </sources>
@@ -86,7 +86,7 @@
86
86
  <div class='footer quiet pad2 space-top1 center small'>
87
87
  Code coverage generated by
88
88
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
89
- at 2024-03-14T16:24:31.607Z
89
+ at 2024-04-23T21:09:17.243Z
90
90
  </div>
91
91
  <script src="prettify.js"></script>
92
92
  <script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corellium/corellium-cli",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "Corellium CLI Tool",
5
5
  "scripts": {
6
6
  "corellium": "node index.js",
@@ -87,6 +87,9 @@ class Client {
87
87
  case 'DELETE':
88
88
  response = await axios.delete(`${this._profile.endpoint}/api/${path}`, { headers })
89
89
  break
90
+ case 'HEAD':
91
+ response = await axios.head(`${this._profile.endpoint}/api/${path}`, { headers })
92
+ break
90
93
  }
91
94
  if (response.status >= 400) { throw new Error(response.statusText) }
92
95
  return response.data || {}
@@ -24,6 +24,13 @@ async function builder (yargs) {
24
24
  describe: 'virtual device id',
25
25
  default: process.env.INSTANCE
26
26
  })
27
+ .option('format', {
28
+ alias: 'f',
29
+ type: 'string',
30
+ describe: 'The desired format of the report.',
31
+ choices: ['html', 'json'],
32
+ default: 'html'
33
+ })
27
34
  .option('verbose', {
28
35
  alias: 'v',
29
36
  type: 'boolean',
@@ -33,10 +40,10 @@ async function builder (yargs) {
33
40
  }
34
41
 
35
42
  async function handler (argv) {
36
- const { assessment, instance, verbose } = argv
43
+ const { assessment, instance, format, verbose } = argv
37
44
  const client = new Client(argv)
38
45
  try {
39
- const res = await client._fetch('GET', `${MAST_API_BASE_PATH}/${instance}/assessments/${assessment}/download`)
46
+ const res = await client._fetch('GET', `${MAST_API_BASE_PATH}/${instance}/assessments/${assessment}/download?format=${format}`)
40
47
  console.log(res)
41
48
  } catch (error) {
42
49
  handleError(error, 'download-report failed', verbose)
@@ -1,4 +1,3 @@
1
-
2
1
  const Client = require('../../clients/Client')
3
2
  const { handleError } = require('../../error')
4
3
  const { MAST_API_BASE_PATH } = require('./constants')
@@ -0,0 +1,44 @@
1
+ const Client = require('../../clients/Client')
2
+ const { handleError } = require('../../error')
3
+ const { MAST_API_BASE_PATH } = require('./constants')
4
+
5
+ /**
6
+ * Get assessments for an instance via corellium-mast API.
7
+ *
8
+ * @param yargs
9
+ * @returns {Promise<void>}
10
+ */
11
+ async function builder (yargs) {
12
+ yargs
13
+ .option('instance', {
14
+ alias: 'i',
15
+ type: 'string',
16
+ demandOption: true,
17
+ describe: 'virtual device id',
18
+ default: process.env.INSTANCE
19
+ })
20
+ .option('verbose', {
21
+ alias: 'v',
22
+ type: 'boolean',
23
+ describe: 'console will receive verbose error output',
24
+ default: false
25
+ })
26
+ }
27
+
28
+ async function handler (argv) {
29
+ const { instance, verbose } = argv
30
+ const client = new Client(argv)
31
+ try {
32
+ const res = await client._fetch('GET', `${MAST_API_BASE_PATH}/${instance}/instances/${instance}/assessments`)
33
+ console.log(JSON.stringify(res))
34
+ } catch (error) {
35
+ handleError(error, 'get-assessments failed', verbose)
36
+ }
37
+ }
38
+
39
+ module.exports = {
40
+ builder,
41
+ handler,
42
+ command: 'get-assessments',
43
+ describe: 'Get all MAST assessments for a given instance'
44
+ }
@@ -2,6 +2,7 @@ const subcommands = [
2
2
  require('./create-assessment'),
3
3
  require('./delete-assessment'),
4
4
  require('./get-assessment'),
5
+ require('./get-assessments'),
5
6
  require('./start-monitor'),
6
7
  require('./stop-monitor'),
7
8
  require('./test'),