GitHub Action
SecureStack Application Bill of Materials (ABOM/SBOM)
SecureStack Application Bill of Materials (ABOM/SBOM)
SecureStack Application Bill of Materials (ABOM/SBOM)
Create an Application Bill of Materials (ABOM) with SecureStack
Installation
Copy and paste the following snippet into your .yml file.
- name: SecureStack Application Bill of Materials (ABOM/SBOM)
uses: SecureStackCo/actions-abom@v0.1.5
SecureStack ABOM (Application Bill of Materials) GitHub Action
What's an ABOM? Well, its like an SBOM, just better
Software bill of materials (SBOM) are supposed to provide a list of ingredients that have gone into an application. Having an SBOM allows you to know what you are getting and whether any of the ingredients have vulnerabilities. This is why they are so important and why the US government has mandated that companies use them.
An application is more than just the third party libraries you are using
Its the source code, of course, but also the cloud resources, vendor dependencies and partner APIs you call. If your application requires something to run, then it should be in the ABOM, right? And that's why the SecureStack ABOM is created holistically from all the important components of your application. This includes source code, third-party libraries and AWS cloud resources. In addition, this ABOM will include any vulnerabilities from your source code and cloud stack.
name: Example Workflow Using SecureStack ABOM Action
on: push
jobs:
security:
runs-on: ubuntu-latest
steps:
- name: Create ABOM
id: abom
uses: SecureStackCo/actions-abom@v0.1.3
with:
securestack_api_key: ${{ secrets.SECURESTACK_API_KEY }}
securestack_app_id: ${{ secrets.SECURESTACK_APP_ID }}
severity: critical
NOTE - to understand possible values for the action input flags
, run the SecureStack cli locally:
$ bloodhound-cli SBOM --help
Create your SecureStack API Key and save as GitHub Secret
- Log in to SecureStack with your GitHub credentials.
- Go to Settings in the lower left corner, and then select the 6th tab: API.
- Generate a new API key and copy the value.
- Now back in GitHub, go to Settings for your GitHub repository and click on Secrets at the bottom left.
- Create a new secret named SECURESTACK_API_KEY and paste the value from step 2 into the field.
Retreiving your SecureStack Application ID
- Log in to SecureStack.
- Open the application you wish to analyse.
- In the browser URL bar you will see something like this:
https://app.securestack.com/settings/applications/269aa3a5-9be8-1a23-1234-123456abcdef
- Copy the last part of that as the Application ID. (ex: 269aa3a5-9be8-1a23-1234-123456abcdef)
- Now go back to the GitHub UI and paste into the value of the
securestack_app_id
action input for the step using the SecureStack action in your workflow.
What types of components will this BoM include?
- All your software components including third-party libraries and frameworks
- The AWS native resources that this application is actually using (think Ec2, S3, RDS, Cloudfront, ELB, CloudTrail, CloudWatch, Config, GuardDuty)
Made with 💜 by SecureStack