This action polls a Bright discovery until it finishes, or its time runs out.
Bright is a powerful dynamic application & API security testing (DAST) platform that security teams trust and developers love.
Scans any target, whether Web Apps, APIs (REST. & SOAP, GraphQL & more), Web sockets or mobile, providing actionable reports
Bright works with your existing CI/CD pipelines – trigger scans on every commit, pull request or build with unit testing.
One file. One command. One scan. No UI needed.
Interacts with applications and APIs, instead of just crawling them and guessing. Scans are fast as our AI-powered engine can understand application architecture and generate sophisticated and targeted attacks.
Stop chasing ghosts and wasting time. Bright doesn’t return false positives, so you can focus on releasing code.
Bright tests for all common vulnerabilities, such as SQL injection, CSRF, XSS, and XXE -- as well as uncommon vulnerabilities, such as business logic vulnerabilities.
More information is available on Bright’s:
Required. Your Bright API authorization token (key). You can generate it in the Organization section in the Bright app. Find more information here.
Example: api_token: ${{ secrets.BRIGHTSEC_TOKEN }}
Required. ID of an existing discovery to be polled.
Example: discovery_id: ${{ steps.start.outputs.id }}
Required. Provide project-id for the discovery.
Example: project_id: ${{ vars.PROJECT_ID }}
Required. Time for polling in seconds.
Example: timeout: 55
URL of the resulting discovery.
start_and_wait_scan:
runs-on: ubuntu-latest
name: A job to run a Bright discovery
steps:
- name: Start Bright discovery 🏁
id: start
uses: NeuraLegion/run-discovery@release
with:
api_token: ${{ secrets.BRIGHTSEC_TOKEN }}
name: GitHub discovery ${{ github.sha }}
project_id: ${{ vars.PROJECT_ID }}
discovery_types: |
[ "crawler" ]
crawler_urls: |
[ "https://juice-shop.herokuapp.com" ]
hosts_filter: |
[ ]
- name: Get the output discovery url
run: echo "The discovery was started on ${{ steps.start.outputs.url }}"
- name: Wait for discovery to finish ⏳
id: wait
uses: NeuraLegion/wait-for-discovery@release
with:
api_token: ${{ secrets.BRIGHTSEC_TOKEN }}
discovery_id: ${{ steps.start.outputs.id }}
project_id: ${{ vars.PROJECT_ID }}
timeout: 55