@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 +7 -0
- package/coverage/cobertura-coverage.xml +1 -1
- package/coverage/lcov-report/index.html +1 -1
- package/package.json +1 -1
- package/src/clients/Client.js +3 -0
- package/src/commands/mast/download-report.js +9 -2
- package/src/commands/mast/get-assessment.js +0 -1
- package/src/commands/mast/get-assessments.js +44 -0
- package/src/commands/mast/index.js +1 -0
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="
|
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-
|
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
package/src/clients/Client.js
CHANGED
@@ -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)
|
@@ -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
|
+
}
|