1818 asset_id :
1919 description : ' Asset ID to scan (defaults to secret DEFAULT_ASSET_ID if not provided)'
2020 required : false
21- scan_type :
22- description : ' Type of scan'
21+ scan_types :
22+ description : ' Type(s) of scan to run (comma-separated for multiple scans) '
2323 required : true
2424 default : ' quick_scan'
25- type : choice
26- options :
27- - quick_scan
28- - safety_scan
29- - owasp
30- - mitre
31- - nist
32- - whistleblower
33- - fingerprint
25+ type : string
3426
3527jobs :
3628 security-scan :
4335 uses : repello-ai/artemis-gh-action@v1
4436 with :
4537 asset_id : ${{ github.event.inputs.asset_id || secrets.DEFAULT_ASSET_ID }}
46- scan_type : ${{ github.event.inputs.scan_type || 'quick_scan' }}
38+ scan_types : ${{ github.event.inputs.scan_types || 'quick_scan' }}
4739 env :
4840 ARTEMIS_CLIENT_ID : ${{ secrets.ARTEMIS_CLIENT_ID }}
4941 ARTEMIS_CLIENT_SECRET : ${{ secrets.ARTEMIS_CLIENT_SECRET }}
@@ -54,19 +46,51 @@ jobs:
5446| Input | Description | Required | Default |
5547|-------|-------------|----------|---------|
5648| ` asset_id` | The ID of the asset to scan | No* | Uses `DEFAULT_ASSET_ID` secret |
57- | `scan_type ` | Type of scan to run | Yes | `quick_scan` |
49+ | `scan_types ` | Type(s) of scan to run (comma-separated for multiple scans) | Yes | `quick_scan` |
5850
5951\* While the `asset_id` parameter is optional in the workflow, you must either provide it as an input or set up the `DEFAULT_ASSET_ID` secret.
6052
53+ # ## Examples
54+
55+ Run a single scan :
56+ ` ` ` yaml
57+ - name: Run Quick Scan
58+ uses: repello-ai/artemis-gh-action@v1
59+ with:
60+ asset_id: "6abec05b-0245-4d38-9a2a-df8045cba142"
61+ scan_types: "quick_scan"
62+ ` ` `
63+
64+ Run multiple scans :
65+ ` ` ` yaml
66+ - name: Run Multiple Scans
67+ uses: repello-ai/artemis-gh-action@v1
68+ with:
69+ asset_id: "6abec05b-0245-4d38-9a2a-df8045cba142"
70+ scan_types: "quick_scan,safety_scan,mitre"
71+ ` ` `
72+
6173# ## Supported Scan Types
6274
63- - `quick_scan` : Basic scan for common issues
64- - `safety_scan` : Focused on safety concerns
65- - `owasp` : Scan based on OWASP guidelines
66- - `mitre` : Scan based on MITRE ATT&CK framework
67- - `nist` : Scan based on NIST standards
68- - `whistleblower` : Dedicated whistleblower vulnerability scan
69- - `fingerprint` : Digital fingerprinting scan
75+ You can use any of the following scan types, individually or in combination (comma-separated) :
76+
77+ | Scan Type | Description |
78+ |-----------|-------------|
79+ | `quick_scan` | Basic scan for common issues (fastest scan) |
80+ | `safety_scan` | Comprehensive scan focused on safety concerns |
81+ | `owasp` | Scan based on OWASP Top 10 guidelines |
82+ | `mitre` | Scan based on MITRE ATT&CK framework |
83+ | `nist` | Scan based on NIST standards and compliance |
84+ | `whistleblower` | Dedicated whistleblower vulnerability scan |
85+ | `fingerprint` | Model fingerprinting scan |
86+
87+ # ## Example Combinations
88+
89+ Some commonly used combinations include :
90+ - `quick_scan,safety_scan` : For a balance of speed and comprehensive safety checking
91+ - `owasp,mitre` : For a thorough security assessment against industry standards
92+ - `quick_scan,fingerprint` : For identifying assets and performing basic security checks
93+ - `safety_scan,nist,whistleblower` : For organizations requiring compliance and protection
7094
7195# # Environment Variables and Secrets
7296
@@ -87,7 +111,7 @@ To contribute to this action:
871111. Clone the repository
881122. Install dependencies : ` pip install -r requirements.txt`
891133. Make your changes to `main.py`
90- 4. Test locally by running : ` python main.py <asset_id> <scan_type>`
114+ 4. Test locally by running : ` python main.py <asset_id> <scan_type[,scan_type,...] >`
911155. Test in GitHub Actions by using the workflow_dispatch trigger
92116
93117# # License
0 commit comments