{"id":18896170,"url":"https://github.com/tenable/was-action","last_synced_at":"2025-06-12T01:34:01.978Z","repository":{"id":136300700,"uuid":"357195747","full_name":"tenable/was-action","owner":"tenable","description":"Github action to trigger WAS","archived":false,"fork":false,"pushed_at":"2024-09-29T07:14:32.000Z","size":40,"stargazers_count":6,"open_issues_count":23,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-15T01:51:27.563Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tenable.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-04-12T13:02:45.000Z","updated_at":"2024-10-11T01:40:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"f943bbb4-d9ae-41de-90bb-25e62ade9f28","html_url":"https://github.com/tenable/was-action","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tenable/was-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fwas-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fwas-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fwas-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fwas-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tenable","download_url":"https://codeload.github.com/tenable/was-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fwas-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259377546,"owners_count":22848381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T08:32:49.009Z","updated_at":"2025-06-12T01:34:01.946Z","avatar_url":"https://github.com/tenable.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# was-action \nTenable's WAS action ![Build](https://github.com/tenable/was-action/actions/workflows/main.yml/badge.svg)\n\nThis action can be used to trigger a WAS scan. The scan needs to be configured in the Tenable.io WAS dashboard. The scan name and the folder name \nneed to provided as input for the action to launch the scan. The action does not modify the scan configuration The `wait_for_results` optional input can be used to make the action wait for the results of the scan.\n\n\nNote: \u003cb\u003eIt is important to modify `OVERALL SCAN MAX TIME` on the Tenable.io dashboard as per your organisation's requirements as the `wait_for_results` input will make the action wait for the entire duration of the scan.\u003c/b\u003e\n\n### Example workflow\n\n```yaml\nname: Test WAS workflow\non: [push, pull_request]\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v2\n      - name: Runs the WAS scan\n        uses: tenable/was-action@v0\n        id: was\n        with:\n          scan_name: test_scan\n          wait_for_results: \"true\"\n        env:\n          ACCESS_KEY: ${{ secrets.ACCESS_KEY }}\n          SECRET_KEY: ${{ secrets.SECRET_KEY }}\n```\n\n### Inputs\n\n| Input                                             | Description                                        |\n|------------------------------------------------------|-----------------------------------------------|\n| `scan_name`  | Scan name mentioned on T.io  |\n| `folder_name`   | Folder name in which the scan resides |\n| `wait_for_results` _(optional)_   | Boolean to specify if action should wait for results |\n| `check_thresholds` _(optional)_  | If the action should check results against the set thresholds |\n| `low_vulns_threshold` _(optional)_  | Low severity findings threshold to be checked based on the WAS scan results |\n| `medium_vulns_threshold` _(optional)_  | Medium severity findings threshold to be checked based on the WAS scan results |\n| `high_vulns_threshold` _(optional)_  | High severity findings threshold to be checked based on the WAS scan results |\n| `critical_vulns_threshold` _(optional)_  | High severity findings threshold to be checked based on the WAS scan results |\n\n### Outputs\n\n| Output                                             | Description                                        |\n|------------------------------------------------------|-----------------------------------------------|\n| `number_of_low_severity_findings`  | Number of low severity findings found in the scan |\n| `number_of_medium_severity_findings`  | Number of medium severity findings found in the scan |\n| `number_of_high_severity_findings`  | Number of high severity findings found in the scan|\n| `number_of_critical_severity_findings`  | Number of critical severity findings found in the scan|\n\n### Providing secrets\nThe Tenable.io access key and secret key need to be set in your repository secrets and provided the following way to the action\n```yaml\n    env:\n        ACCESS_KEY: ${{ secrets.ACCESS_KEY }}\n        SECRET_KEY: ${{ secrets.SECRET_KEY }}\n```\nThe action uses these secrets to push the image to the tenable registry and to get the scan results. The access and secret key can be \ngenerated by accessing `Tenable.io -\u003e Settings -\u003e My Account -\u003e API Keys -\u003e Generate`. It is important that these keys should not be shared publicly.\n\n### Using outputs\n\nThe outputs can be accessed using the following way\n\n```yaml\n    - name: Gets the number of low severity findings\n    run: echo \"Number of low severity findings is ${{ steps.was.outputs.number_of_low_severity_findings }}\"\n    - name: Gets the number of medium severity findings\n    run: echo \"Number of medium severity findings is ${{ steps.was.outputs.number_of_medium_severity_findings }}\"\n    - name: Gets the number of high severity findings\n    run: echo \"Number of high severity is ${{ steps.was.outputs.number_of_high_severity_findings }}\"\n```\n\n### Lincese\nThe project is licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fwas-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftenable%2Fwas-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fwas-action/lists"}