Skip to content

Action polls a NeuraLegion scan until it returns a detected issue, or its time runs out

License

Notifications You must be signed in to change notification settings

NeuraLegion/wait-for

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Poll Results of a Bright Scan

This action polls a Bright scan until it returns a detected issue, or its time runs out.

Build Secure Apps & APIs. Fast.

Bright is a powerful dynamic application & API security testing (DAST) platform that security teams trust and developers love.

Automatically Tests Every Aspect of Your Apps & APIs

Scans any target, whether Web Apps, APIs (REST. & SOAP, GraphQL & more), Web sockets or mobile, providing actionable reports

Seamlessly integrates with the Tools and Workflows You Already Use

Bright works with your existing CI/CD pipelines – trigger scans on every commit, pull request or build with unit testing.

Spin-Up, Configure and Control Scans with Code

One file. One command. One scan. No UI needed.

Super-Fast Scans

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.

No False Positives

Stop chasing ghosts and wasting time. Bright doesn’t return false positives, so you can focus on releasing code.

Comprehensive Security Testing

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:

Inputs

api_token

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.NEURALEGION_TOKEN }}

scan

Required. ID of an existing scan to be restarted. You can get the scan ID in the Scans section in the Bright app.

Example: scan: ${{ steps.start.outputs.id }}

wait_for

Required. Set the severity of the first issue to wait for: any, medium, high.

Example: wait_for: any

timeout

Required. Time for polling in seconds.

Example: timeout: 55

stop_scan

If set to true, allows you to stop a scan after the action has completed.

Example: stop_scan: true

code_scanning_alerts

If set to true, uploads SARIF scan data to GitHub so that scan results are available from Code Scanning. Requires to be set github_token.

Example: code_scanning_alerts: true

To use code scanning in private and internal repositories, you need to enable GitHub Advanced Security features for the repository.

You can find more details on how to manage your repository's security and analysis settings in the Managing security and analysis settings for your repository documentation.

Outputs

url

URL of the resulting scan.

Usage Example

Poll the results of a previously started scan

start_and_wait_scan:
  runs-on: ubuntu-latest
  name: A job to run a NeuraLegion scan
  steps:
    - name: Start NeuraLegion Scan 🏁
      id: start
      uses: NeuraLegion/run-scan@master
      with:
        api_token: ${{ secrets.NEURALEGION_TOKEN }}
        name: GitHub scan ${{ github.sha }}
        discovery_types: |
          [ "crawler", "archive" ]
        crawler_urls: |
          [ "https://juice-shop.herokuapp.com" ]
        file_id: LiYknMYSdbSZbqgMaC9Sj
        hosts_filter: |
          [ ]
        wait_for: high
    - name: Get the output scan url
      run: echo "The scan was started on ${{ steps.start.outputs.url }}"
    - name: Wait for any issues ⏳
      id: wait
      uses: NeuraLegion/wait-for@master
      with:
        api_token: ${{ secrets.NEURALEGION_TOKEN }}
        scan: ${{ steps.start.outputs.id }}
        wait_for: any
        timeout: 55
        code_scanning_alerts: true
        github_token: ${{ github.token }}