prismor 0.1.1__tar.gz → 1.0.5__tar.gz
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.
- {prismor-0.1.1/prismor.egg-info → prismor-1.0.5}/PKG-INFO +189 -32
- {prismor-0.1.1 → prismor-1.0.5}/README.md +188 -31
- {prismor-0.1.1 → prismor-1.0.5}/prismor/__init__.py +1 -1
- prismor-1.0.5/prismor/api.py +487 -0
- prismor-1.0.5/prismor/cli.py +611 -0
- {prismor-0.1.1 → prismor-1.0.5/prismor.egg-info}/PKG-INFO +189 -32
- {prismor-0.1.1 → prismor-1.0.5}/setup.py +1 -1
- prismor-0.1.1/prismor/api.py +0 -197
- prismor-0.1.1/prismor/cli.py +0 -316
- {prismor-0.1.1 → prismor-1.0.5}/LICENSE +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/MANIFEST.in +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/prismor.egg-info/SOURCES.txt +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/prismor.egg-info/dependency_links.txt +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/prismor.egg-info/entry_points.txt +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/prismor.egg-info/requires.txt +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/prismor.egg-info/top_level.txt +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/requirements.txt +0 -0
- {prismor-0.1.1 → prismor-1.0.5}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: prismor
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.5
|
|
4
4
|
Summary: A CLI tool for scanning GitHub repositories for vulnerabilities, secrets, and generating SBOMs
|
|
5
5
|
Home-page: https://github.com/PrismorSec/prismor-cli
|
|
6
6
|
Author: Prismor
|
|
@@ -48,12 +48,12 @@ A powerful command-line tool for scanning GitHub repositories for security vulne
|
|
|
48
48
|
|
|
49
49
|
## Features
|
|
50
50
|
|
|
51
|
-
- 🔍 **Vulnerability Scanning (
|
|
51
|
+
- 🔍 **Vulnerability Scanning (scan)** - Detect security vulnerabilities in your codebase
|
|
52
52
|
- 🔐 **Secret Detection** - Find exposed secrets, API keys, and credentials
|
|
53
53
|
- 📦 **SBOM Generation** - Generate comprehensive Software Bill of Materials
|
|
54
54
|
- ⚡ **Full Scan** - Run all security checks in one command
|
|
55
55
|
- 🎨 **Beautiful CLI Output** - Colorful, easy-to-read results
|
|
56
|
-
- 🔗 **Flexible Repository Input** - Support for
|
|
56
|
+
- 🔗 **Flexible Repository Input** - Support for multiple GitHub URL formats including SSH, HTTPS, and bare domain formats
|
|
57
57
|
|
|
58
58
|
## Quick Start
|
|
59
59
|
|
|
@@ -61,7 +61,7 @@ A powerful command-line tool for scanning GitHub repositories for security vulne
|
|
|
61
61
|
2. **Generate your API Key** from the dashboard
|
|
62
62
|
3. **Install** the CLI: `pip install prismor`
|
|
63
63
|
4. **Set your API key**: `export PRISMOR_API_KEY=your_api_key`
|
|
64
|
-
5. **Run your first scan**: `prismor --
|
|
64
|
+
5. **Run your first scan**: `prismor --repo username/repo --fullscan`
|
|
65
65
|
|
|
66
66
|
For the complete analysis with dashboards and reports, visit [Prismor.dev](https://prismor.dev) after running scans!
|
|
67
67
|
|
|
@@ -116,39 +116,91 @@ This allows Prismor to securely access and scan your private repositories.
|
|
|
116
116
|
### Basic Syntax
|
|
117
117
|
|
|
118
118
|
```bash
|
|
119
|
-
prismor --
|
|
119
|
+
prismor --repo <repository> [scan-type]
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
+
**Note**: The `--scan` flag is used to enable vulnerability scanning, while `--repo` specifies the repository to scan.
|
|
123
|
+
|
|
122
124
|
### Repository Format
|
|
123
125
|
|
|
124
|
-
|
|
126
|
+
Prismor CLI supports multiple GitHub repository URL formats for maximum flexibility:
|
|
127
|
+
|
|
128
|
+
#### 1. **Username/Repository format** (recommended):
|
|
129
|
+
```bash
|
|
130
|
+
prismor --repo Ar9av/trychai-web-revamped --fullscan
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### 2. **HTTPS URLs**:
|
|
134
|
+
```bash
|
|
135
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped --fullscan
|
|
136
|
+
prismor --repo https://www.github.com/Ar9av/trychai-web-revamped --fullscan
|
|
137
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped.git --fullscan
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### 3. **HTTP URLs**:
|
|
141
|
+
```bash
|
|
142
|
+
prismor --repo http://github.com/Ar9av/trychai-web-revamped --fullscan
|
|
143
|
+
prismor --repo http://www.github.com/Ar9av/trychai-web-revamped --fullscan
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### 4. **Bare domain formats**:
|
|
147
|
+
```bash
|
|
148
|
+
prismor --repo github.com/Ar9av/trychai-web-revamped --fullscan
|
|
149
|
+
prismor --repo www.github.com/Ar9av/trychai-web-revamped --fullscan
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### 5. **SSH format**:
|
|
153
|
+
```bash
|
|
154
|
+
prismor --repo git@github.com:Ar9av/trychai-web-revamped.git --fullscan
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### 6. **URLs with paths and fragments**:
|
|
158
|
+
```bash
|
|
159
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped/tree/main --fullscan
|
|
160
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped/blob/main/file.py --fullscan
|
|
161
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped#branch --fullscan
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**All formats are automatically parsed and normalized to extract the `user/repo_name` format for processing.**
|
|
125
165
|
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
prismor --scan Ar9av/trychai-web-revamped --fullscan
|
|
129
|
-
```
|
|
166
|
+
### Smart URL Parsing
|
|
130
167
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
168
|
+
Prismor CLI features intelligent GitHub URL parsing that automatically:
|
|
169
|
+
|
|
170
|
+
- ✅ **Detects and extracts** repository information from any supported format
|
|
171
|
+
- ✅ **Handles edge cases** like trailing slashes, `.git` suffixes, and branch references
|
|
172
|
+
- ✅ **Validates input** to ensure it's a valid GitHub repository
|
|
173
|
+
- ✅ **Provides clear error messages** for unsupported formats
|
|
174
|
+
- ✅ **Supports special characters** in repository names (hyphens, underscores, numbers)
|
|
175
|
+
|
|
176
|
+
**Examples of what gets automatically parsed:**
|
|
177
|
+
```bash
|
|
178
|
+
# All of these resolve to "facebook/react":
|
|
179
|
+
prismor --repo facebook/react --scan
|
|
180
|
+
prismor --repo https://github.com/facebook/react --scan
|
|
181
|
+
prismor --repo git@github.com:facebook/react.git --scan
|
|
182
|
+
prismor --repo github.com/facebook/react --scan
|
|
183
|
+
prismor --repo https://github.com/facebook/react/tree/main --scan
|
|
184
|
+
```
|
|
135
185
|
|
|
136
186
|
### Scan Types
|
|
137
187
|
|
|
138
|
-
#### 1. Vulnerability Scanning (
|
|
188
|
+
#### 1. Vulnerability Scanning (scan)
|
|
139
189
|
|
|
140
190
|
Scan for security vulnerabilities in your dependencies and code:
|
|
141
191
|
|
|
142
192
|
```bash
|
|
143
|
-
prismor --
|
|
193
|
+
prismor --repo myrepository --scan
|
|
144
194
|
```
|
|
145
195
|
|
|
196
|
+
**Note**: Vulnerability scans now run asynchronously for large repositories. The CLI will wait for completion automatically, but you can also use `prismor start-scan` to get a job ID and check status separately.
|
|
197
|
+
|
|
146
198
|
#### 2. Secret Detection
|
|
147
199
|
|
|
148
200
|
Detect exposed secrets, API keys, passwords, and other sensitive information:
|
|
149
201
|
|
|
150
202
|
```bash
|
|
151
|
-
prismor --
|
|
203
|
+
prismor --repo myrepository --detect-secret
|
|
152
204
|
```
|
|
153
205
|
|
|
154
206
|
#### 3. SBOM Generation
|
|
@@ -156,15 +208,15 @@ prismor --scan myrepository --detect-secret
|
|
|
156
208
|
Generate a Software Bill of Materials for your repository:
|
|
157
209
|
|
|
158
210
|
```bash
|
|
159
|
-
prismor --
|
|
211
|
+
prismor --repo myrepository --sbom
|
|
160
212
|
```
|
|
161
213
|
|
|
162
214
|
#### 4. Full Scan
|
|
163
215
|
|
|
164
|
-
Run all security checks (
|
|
216
|
+
Run all security checks (scan + Secret Detection + SBOM):
|
|
165
217
|
|
|
166
218
|
```bash
|
|
167
|
-
prismor --
|
|
219
|
+
prismor --repo myrepository --fullscan
|
|
168
220
|
```
|
|
169
221
|
|
|
170
222
|
### Multiple Scan Types
|
|
@@ -172,7 +224,7 @@ prismor --scan myrepository --fullscan
|
|
|
172
224
|
You can combine multiple scan types:
|
|
173
225
|
|
|
174
226
|
```bash
|
|
175
|
-
prismor --
|
|
227
|
+
prismor --repo myrepository --scan --detect-secret
|
|
176
228
|
```
|
|
177
229
|
|
|
178
230
|
### JSON Output
|
|
@@ -180,37 +232,127 @@ prismor --scan myrepository --vex --detect-secret
|
|
|
180
232
|
Get results in JSON format for automation and integration:
|
|
181
233
|
|
|
182
234
|
```bash
|
|
183
|
-
prismor --
|
|
235
|
+
prismor --repo myrepository --fullscan --json
|
|
184
236
|
```
|
|
185
237
|
|
|
186
238
|
## Examples
|
|
187
239
|
|
|
188
|
-
### Example 1: Quick Vulnerability Scan
|
|
240
|
+
### Example 1: Quick Vulnerability Scan (Username/Repo format)
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
prismor --repo facebook/react --scan
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Example 2: Comprehensive Security Audit (HTTPS URL)
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
prismor --repo https://github.com/microsoft/vscode --fullscan
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Example 3: Secret Detection with SSH URL
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
prismor --repo git@github.com:openai/gpt-3.git --detect-secret
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Example 4: SBOM Generation with Bare Domain
|
|
189
259
|
|
|
190
260
|
```bash
|
|
191
|
-
prismor --
|
|
261
|
+
prismor --repo github.com/kubernetes/kubernetes --sbom --json > sbom-results.json
|
|
192
262
|
```
|
|
193
263
|
|
|
194
|
-
### Example
|
|
264
|
+
### Example 5: Full Scan with Branch Reference
|
|
195
265
|
|
|
196
266
|
```bash
|
|
197
|
-
prismor --
|
|
267
|
+
prismor --repo https://github.com/tensorflow/tensorflow/tree/v2.13.0 --fullscan
|
|
198
268
|
```
|
|
199
269
|
|
|
200
|
-
### Example
|
|
270
|
+
### Example 6: Multiple Scan Types with Different URL Formats
|
|
201
271
|
|
|
202
272
|
```bash
|
|
203
|
-
|
|
273
|
+
# Using HTTPS URL
|
|
274
|
+
prismor --repo https://github.com/pytorch/pytorch --scan --sbom
|
|
275
|
+
|
|
276
|
+
# Using SSH URL
|
|
277
|
+
prismor --repo git@github.com:nodejs/node.git --detect-secret --sbom
|
|
278
|
+
|
|
279
|
+
# Using bare domain
|
|
280
|
+
prismor --repo www.github.com/vercel/next.js --fullscan
|
|
204
281
|
```
|
|
205
282
|
|
|
206
|
-
### Example
|
|
283
|
+
### Example 7: Async Scan with Status Checking
|
|
207
284
|
|
|
208
285
|
```bash
|
|
209
|
-
|
|
286
|
+
# Start a scan and get job ID
|
|
287
|
+
prismor start-scan username/repo --branch main
|
|
288
|
+
|
|
289
|
+
# Check scan status (use job ID from previous command)
|
|
290
|
+
prismor scan-status <job_id>
|
|
291
|
+
|
|
292
|
+
# Check status with JSON output
|
|
293
|
+
prismor scan-status <job_id> --json
|
|
210
294
|
```
|
|
211
295
|
|
|
212
296
|
## Additional Commands
|
|
213
297
|
|
|
298
|
+
### Start Async Vulnerability Scan
|
|
299
|
+
|
|
300
|
+
Start a vulnerability scan asynchronously and get a job ID for status checking:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
prismor start-scan username/repo
|
|
304
|
+
prismor start-scan username/repo --branch develop
|
|
305
|
+
prismor start-scan username/repo --token ghp_xxxxx
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**Note**: Requires GitHub token. Set `GITHUB_TOKEN` environment variable or use `--token` option.
|
|
309
|
+
|
|
310
|
+
### Check Scan Status
|
|
311
|
+
|
|
312
|
+
Check the status of a running or completed vulnerability scan:
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
prismor scan-status <job_id>
|
|
316
|
+
prismor scan-status <job_id> --json
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**Status Response Includes**:
|
|
320
|
+
- Job status (running/completed/failed)
|
|
321
|
+
- Repository and branch information
|
|
322
|
+
- Results URLs (public and presigned)
|
|
323
|
+
- Vulnerability summary with severity breakdown
|
|
324
|
+
- Scan date and duration
|
|
325
|
+
|
|
326
|
+
**Example Output**:
|
|
327
|
+
```
|
|
328
|
+
============================================================
|
|
329
|
+
Scan Status
|
|
330
|
+
============================================================
|
|
331
|
+
|
|
332
|
+
Job ID: abc123def456...
|
|
333
|
+
|
|
334
|
+
Status: completed
|
|
335
|
+
|
|
336
|
+
Repository:
|
|
337
|
+
https://github.com/username/repo
|
|
338
|
+
|
|
339
|
+
Branch:
|
|
340
|
+
main
|
|
341
|
+
|
|
342
|
+
Vulnerability Summary:
|
|
343
|
+
Total Vulnerabilities: 15
|
|
344
|
+
Total Targets Scanned: 3
|
|
345
|
+
|
|
346
|
+
Severity Breakdown:
|
|
347
|
+
CRITICAL: 2
|
|
348
|
+
HIGH: 5
|
|
349
|
+
MEDIUM: 6
|
|
350
|
+
LOW: 2
|
|
351
|
+
|
|
352
|
+
Results URL:
|
|
353
|
+
https://prismor-sbom-public-dev.s3.amazonaws.com/...
|
|
354
|
+
```
|
|
355
|
+
|
|
214
356
|
### Check Configuration
|
|
215
357
|
|
|
216
358
|
View your current Prismor CLI configuration:
|
|
@@ -303,9 +445,24 @@ export PRISMOR_API_KEY=your_api_key_here
|
|
|
303
445
|
|
|
304
446
|
### Invalid Repository Format
|
|
305
447
|
|
|
306
|
-
Ensure your repository is in one of
|
|
307
|
-
|
|
448
|
+
Ensure your repository is in one of the supported formats:
|
|
449
|
+
|
|
450
|
+
**Supported formats:**
|
|
451
|
+
- `username/repository` (recommended)
|
|
308
452
|
- `https://github.com/username/repository`
|
|
453
|
+
- `https://www.github.com/username/repository`
|
|
454
|
+
- `http://github.com/username/repository`
|
|
455
|
+
- `http://www.github.com/username/repository`
|
|
456
|
+
- `github.com/username/repository`
|
|
457
|
+
- `www.github.com/username/repository`
|
|
458
|
+
- `git@github.com:username/repository.git`
|
|
459
|
+
- `https://github.com/username/repository/tree/branch`
|
|
460
|
+
- `https://github.com/username/repository/blob/branch/file`
|
|
461
|
+
|
|
462
|
+
**Not supported:**
|
|
463
|
+
- Non-GitHub URLs (GitLab, Bitbucket, etc.)
|
|
464
|
+
- Invalid URL formats
|
|
465
|
+
- Empty or malformed repository names
|
|
309
466
|
|
|
310
467
|
### Connection Issues
|
|
311
468
|
|
|
@@ -6,12 +6,12 @@ A powerful command-line tool for scanning GitHub repositories for security vulne
|
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
- 🔍 **Vulnerability Scanning (
|
|
9
|
+
- 🔍 **Vulnerability Scanning (scan)** - Detect security vulnerabilities in your codebase
|
|
10
10
|
- 🔐 **Secret Detection** - Find exposed secrets, API keys, and credentials
|
|
11
11
|
- 📦 **SBOM Generation** - Generate comprehensive Software Bill of Materials
|
|
12
12
|
- ⚡ **Full Scan** - Run all security checks in one command
|
|
13
13
|
- 🎨 **Beautiful CLI Output** - Colorful, easy-to-read results
|
|
14
|
-
- 🔗 **Flexible Repository Input** - Support for
|
|
14
|
+
- 🔗 **Flexible Repository Input** - Support for multiple GitHub URL formats including SSH, HTTPS, and bare domain formats
|
|
15
15
|
|
|
16
16
|
## Quick Start
|
|
17
17
|
|
|
@@ -19,7 +19,7 @@ A powerful command-line tool for scanning GitHub repositories for security vulne
|
|
|
19
19
|
2. **Generate your API Key** from the dashboard
|
|
20
20
|
3. **Install** the CLI: `pip install prismor`
|
|
21
21
|
4. **Set your API key**: `export PRISMOR_API_KEY=your_api_key`
|
|
22
|
-
5. **Run your first scan**: `prismor --
|
|
22
|
+
5. **Run your first scan**: `prismor --repo username/repo --fullscan`
|
|
23
23
|
|
|
24
24
|
For the complete analysis with dashboards and reports, visit [Prismor.dev](https://prismor.dev) after running scans!
|
|
25
25
|
|
|
@@ -74,39 +74,91 @@ This allows Prismor to securely access and scan your private repositories.
|
|
|
74
74
|
### Basic Syntax
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
prismor --
|
|
77
|
+
prismor --repo <repository> [scan-type]
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
+
**Note**: The `--scan` flag is used to enable vulnerability scanning, while `--repo` specifies the repository to scan.
|
|
81
|
+
|
|
80
82
|
### Repository Format
|
|
81
83
|
|
|
82
|
-
|
|
84
|
+
Prismor CLI supports multiple GitHub repository URL formats for maximum flexibility:
|
|
85
|
+
|
|
86
|
+
#### 1. **Username/Repository format** (recommended):
|
|
87
|
+
```bash
|
|
88
|
+
prismor --repo Ar9av/trychai-web-revamped --fullscan
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### 2. **HTTPS URLs**:
|
|
92
|
+
```bash
|
|
93
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped --fullscan
|
|
94
|
+
prismor --repo https://www.github.com/Ar9av/trychai-web-revamped --fullscan
|
|
95
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped.git --fullscan
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
#### 3. **HTTP URLs**:
|
|
99
|
+
```bash
|
|
100
|
+
prismor --repo http://github.com/Ar9av/trychai-web-revamped --fullscan
|
|
101
|
+
prismor --repo http://www.github.com/Ar9av/trychai-web-revamped --fullscan
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### 4. **Bare domain formats**:
|
|
105
|
+
```bash
|
|
106
|
+
prismor --repo github.com/Ar9av/trychai-web-revamped --fullscan
|
|
107
|
+
prismor --repo www.github.com/Ar9av/trychai-web-revamped --fullscan
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
#### 5. **SSH format**:
|
|
111
|
+
```bash
|
|
112
|
+
prismor --repo git@github.com:Ar9av/trychai-web-revamped.git --fullscan
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### 6. **URLs with paths and fragments**:
|
|
116
|
+
```bash
|
|
117
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped/tree/main --fullscan
|
|
118
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped/blob/main/file.py --fullscan
|
|
119
|
+
prismor --repo https://github.com/Ar9av/trychai-web-revamped#branch --fullscan
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**All formats are automatically parsed and normalized to extract the `user/repo_name` format for processing.**
|
|
83
123
|
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
prismor --scan Ar9av/trychai-web-revamped --fullscan
|
|
87
|
-
```
|
|
124
|
+
### Smart URL Parsing
|
|
88
125
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
126
|
+
Prismor CLI features intelligent GitHub URL parsing that automatically:
|
|
127
|
+
|
|
128
|
+
- ✅ **Detects and extracts** repository information from any supported format
|
|
129
|
+
- ✅ **Handles edge cases** like trailing slashes, `.git` suffixes, and branch references
|
|
130
|
+
- ✅ **Validates input** to ensure it's a valid GitHub repository
|
|
131
|
+
- ✅ **Provides clear error messages** for unsupported formats
|
|
132
|
+
- ✅ **Supports special characters** in repository names (hyphens, underscores, numbers)
|
|
133
|
+
|
|
134
|
+
**Examples of what gets automatically parsed:**
|
|
135
|
+
```bash
|
|
136
|
+
# All of these resolve to "facebook/react":
|
|
137
|
+
prismor --repo facebook/react --scan
|
|
138
|
+
prismor --repo https://github.com/facebook/react --scan
|
|
139
|
+
prismor --repo git@github.com:facebook/react.git --scan
|
|
140
|
+
prismor --repo github.com/facebook/react --scan
|
|
141
|
+
prismor --repo https://github.com/facebook/react/tree/main --scan
|
|
142
|
+
```
|
|
93
143
|
|
|
94
144
|
### Scan Types
|
|
95
145
|
|
|
96
|
-
#### 1. Vulnerability Scanning (
|
|
146
|
+
#### 1. Vulnerability Scanning (scan)
|
|
97
147
|
|
|
98
148
|
Scan for security vulnerabilities in your dependencies and code:
|
|
99
149
|
|
|
100
150
|
```bash
|
|
101
|
-
prismor --
|
|
151
|
+
prismor --repo myrepository --scan
|
|
102
152
|
```
|
|
103
153
|
|
|
154
|
+
**Note**: Vulnerability scans now run asynchronously for large repositories. The CLI will wait for completion automatically, but you can also use `prismor start-scan` to get a job ID and check status separately.
|
|
155
|
+
|
|
104
156
|
#### 2. Secret Detection
|
|
105
157
|
|
|
106
158
|
Detect exposed secrets, API keys, passwords, and other sensitive information:
|
|
107
159
|
|
|
108
160
|
```bash
|
|
109
|
-
prismor --
|
|
161
|
+
prismor --repo myrepository --detect-secret
|
|
110
162
|
```
|
|
111
163
|
|
|
112
164
|
#### 3. SBOM Generation
|
|
@@ -114,15 +166,15 @@ prismor --scan myrepository --detect-secret
|
|
|
114
166
|
Generate a Software Bill of Materials for your repository:
|
|
115
167
|
|
|
116
168
|
```bash
|
|
117
|
-
prismor --
|
|
169
|
+
prismor --repo myrepository --sbom
|
|
118
170
|
```
|
|
119
171
|
|
|
120
172
|
#### 4. Full Scan
|
|
121
173
|
|
|
122
|
-
Run all security checks (
|
|
174
|
+
Run all security checks (scan + Secret Detection + SBOM):
|
|
123
175
|
|
|
124
176
|
```bash
|
|
125
|
-
prismor --
|
|
177
|
+
prismor --repo myrepository --fullscan
|
|
126
178
|
```
|
|
127
179
|
|
|
128
180
|
### Multiple Scan Types
|
|
@@ -130,7 +182,7 @@ prismor --scan myrepository --fullscan
|
|
|
130
182
|
You can combine multiple scan types:
|
|
131
183
|
|
|
132
184
|
```bash
|
|
133
|
-
prismor --
|
|
185
|
+
prismor --repo myrepository --scan --detect-secret
|
|
134
186
|
```
|
|
135
187
|
|
|
136
188
|
### JSON Output
|
|
@@ -138,37 +190,127 @@ prismor --scan myrepository --vex --detect-secret
|
|
|
138
190
|
Get results in JSON format for automation and integration:
|
|
139
191
|
|
|
140
192
|
```bash
|
|
141
|
-
prismor --
|
|
193
|
+
prismor --repo myrepository --fullscan --json
|
|
142
194
|
```
|
|
143
195
|
|
|
144
196
|
## Examples
|
|
145
197
|
|
|
146
|
-
### Example 1: Quick Vulnerability Scan
|
|
198
|
+
### Example 1: Quick Vulnerability Scan (Username/Repo format)
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
prismor --repo facebook/react --scan
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Example 2: Comprehensive Security Audit (HTTPS URL)
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
prismor --repo https://github.com/microsoft/vscode --fullscan
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Example 3: Secret Detection with SSH URL
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
prismor --repo git@github.com:openai/gpt-3.git --detect-secret
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Example 4: SBOM Generation with Bare Domain
|
|
147
217
|
|
|
148
218
|
```bash
|
|
149
|
-
prismor --
|
|
219
|
+
prismor --repo github.com/kubernetes/kubernetes --sbom --json > sbom-results.json
|
|
150
220
|
```
|
|
151
221
|
|
|
152
|
-
### Example
|
|
222
|
+
### Example 5: Full Scan with Branch Reference
|
|
153
223
|
|
|
154
224
|
```bash
|
|
155
|
-
prismor --
|
|
225
|
+
prismor --repo https://github.com/tensorflow/tensorflow/tree/v2.13.0 --fullscan
|
|
156
226
|
```
|
|
157
227
|
|
|
158
|
-
### Example
|
|
228
|
+
### Example 6: Multiple Scan Types with Different URL Formats
|
|
159
229
|
|
|
160
230
|
```bash
|
|
161
|
-
|
|
231
|
+
# Using HTTPS URL
|
|
232
|
+
prismor --repo https://github.com/pytorch/pytorch --scan --sbom
|
|
233
|
+
|
|
234
|
+
# Using SSH URL
|
|
235
|
+
prismor --repo git@github.com:nodejs/node.git --detect-secret --sbom
|
|
236
|
+
|
|
237
|
+
# Using bare domain
|
|
238
|
+
prismor --repo www.github.com/vercel/next.js --fullscan
|
|
162
239
|
```
|
|
163
240
|
|
|
164
|
-
### Example
|
|
241
|
+
### Example 7: Async Scan with Status Checking
|
|
165
242
|
|
|
166
243
|
```bash
|
|
167
|
-
|
|
244
|
+
# Start a scan and get job ID
|
|
245
|
+
prismor start-scan username/repo --branch main
|
|
246
|
+
|
|
247
|
+
# Check scan status (use job ID from previous command)
|
|
248
|
+
prismor scan-status <job_id>
|
|
249
|
+
|
|
250
|
+
# Check status with JSON output
|
|
251
|
+
prismor scan-status <job_id> --json
|
|
168
252
|
```
|
|
169
253
|
|
|
170
254
|
## Additional Commands
|
|
171
255
|
|
|
256
|
+
### Start Async Vulnerability Scan
|
|
257
|
+
|
|
258
|
+
Start a vulnerability scan asynchronously and get a job ID for status checking:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
prismor start-scan username/repo
|
|
262
|
+
prismor start-scan username/repo --branch develop
|
|
263
|
+
prismor start-scan username/repo --token ghp_xxxxx
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
**Note**: Requires GitHub token. Set `GITHUB_TOKEN` environment variable or use `--token` option.
|
|
267
|
+
|
|
268
|
+
### Check Scan Status
|
|
269
|
+
|
|
270
|
+
Check the status of a running or completed vulnerability scan:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
prismor scan-status <job_id>
|
|
274
|
+
prismor scan-status <job_id> --json
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Status Response Includes**:
|
|
278
|
+
- Job status (running/completed/failed)
|
|
279
|
+
- Repository and branch information
|
|
280
|
+
- Results URLs (public and presigned)
|
|
281
|
+
- Vulnerability summary with severity breakdown
|
|
282
|
+
- Scan date and duration
|
|
283
|
+
|
|
284
|
+
**Example Output**:
|
|
285
|
+
```
|
|
286
|
+
============================================================
|
|
287
|
+
Scan Status
|
|
288
|
+
============================================================
|
|
289
|
+
|
|
290
|
+
Job ID: abc123def456...
|
|
291
|
+
|
|
292
|
+
Status: completed
|
|
293
|
+
|
|
294
|
+
Repository:
|
|
295
|
+
https://github.com/username/repo
|
|
296
|
+
|
|
297
|
+
Branch:
|
|
298
|
+
main
|
|
299
|
+
|
|
300
|
+
Vulnerability Summary:
|
|
301
|
+
Total Vulnerabilities: 15
|
|
302
|
+
Total Targets Scanned: 3
|
|
303
|
+
|
|
304
|
+
Severity Breakdown:
|
|
305
|
+
CRITICAL: 2
|
|
306
|
+
HIGH: 5
|
|
307
|
+
MEDIUM: 6
|
|
308
|
+
LOW: 2
|
|
309
|
+
|
|
310
|
+
Results URL:
|
|
311
|
+
https://prismor-sbom-public-dev.s3.amazonaws.com/...
|
|
312
|
+
```
|
|
313
|
+
|
|
172
314
|
### Check Configuration
|
|
173
315
|
|
|
174
316
|
View your current Prismor CLI configuration:
|
|
@@ -261,9 +403,24 @@ export PRISMOR_API_KEY=your_api_key_here
|
|
|
261
403
|
|
|
262
404
|
### Invalid Repository Format
|
|
263
405
|
|
|
264
|
-
Ensure your repository is in one of
|
|
265
|
-
|
|
406
|
+
Ensure your repository is in one of the supported formats:
|
|
407
|
+
|
|
408
|
+
**Supported formats:**
|
|
409
|
+
- `username/repository` (recommended)
|
|
266
410
|
- `https://github.com/username/repository`
|
|
411
|
+
- `https://www.github.com/username/repository`
|
|
412
|
+
- `http://github.com/username/repository`
|
|
413
|
+
- `http://www.github.com/username/repository`
|
|
414
|
+
- `github.com/username/repository`
|
|
415
|
+
- `www.github.com/username/repository`
|
|
416
|
+
- `git@github.com:username/repository.git`
|
|
417
|
+
- `https://github.com/username/repository/tree/branch`
|
|
418
|
+
- `https://github.com/username/repository/blob/branch/file`
|
|
419
|
+
|
|
420
|
+
**Not supported:**
|
|
421
|
+
- Non-GitHub URLs (GitLab, Bitbucket, etc.)
|
|
422
|
+
- Invalid URL formats
|
|
423
|
+
- Empty or malformed repository names
|
|
267
424
|
|
|
268
425
|
### Connection Issues
|
|
269
426
|
|