Skip to content

Commit d44401b

Browse files
Create neuralegion.yml
1 parent 9a80fff commit d44401b

File tree

1 file changed

+175
-0
lines changed

1 file changed

+175
-0
lines changed

.github/workflows/neuralegion.yml

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
# This workflow uses actions that are not certified by GitHub.
2+
# They are provided by a third-party and are governed by
3+
# separate terms of service, privacy policy, and support
4+
# documentation.
5+
#
6+
# Run a Nexploit Scan
7+
# This action runs a new security scan in Nexploit, or reruns an existing one.
8+
# Build Secure Apps & APIs. Fast.
9+
# [NeuraLegion](https://www.neuralegion.com) is a powerful dynamic application & API security testing (DAST) platform that security teams trust and developers love.
10+
# Automatically Tests Every Aspect of Your Apps & APIs
11+
# Scans any target, whether Web Apps, APIs (REST. & SOAP, GraphQL & more), Web sockets or mobile, providing actionable reports
12+
# Seamlessly integrates with the Tools and Workflows You Already Use
13+
#
14+
# NeuraLegion works with your existing CI/CD pipelines – trigger scans on every commit, pull request or build with unit testing.
15+
# Spin-Up, Configure and Control Scans with Code
16+
# One file. One command. One scan. No UI needed.
17+
#
18+
# Super-Fast Scans
19+
#
20+
# Interacts with applications and APIs, instead of just crawling them and guessing.
21+
# Scans are fast as our AI-powered engine can understand application architecture and generate sophisticated and targeted attacks.
22+
#
23+
# No False Positives
24+
#
25+
# Stop chasing ghosts and wasting time. NeuraLegion doesn’t return false positives, so you can focus on releasing code.
26+
#
27+
# Comprehensive Security Testing
28+
#
29+
# NeuraLegion tests for all common vulnerabilities, such as SQL injection, CSRF, XSS, and XXE -- as well as uncommon vulnerabilities, such as business logic vulnerabilities.
30+
#
31+
# More information is available on NeuraLegion’s:
32+
# * [Website](https://www.neuralegion.com/)
33+
# * [Knowledge base](https://docs.neuralegion.com/docs/quickstart)
34+
# * [YouTube channel](https://www.youtube.com/channel/UCoIC0T1pmozq3eKLsUR2uUw)
35+
# * [GitHub Actions](https://github.com/marketplace?query=neuralegion+)
36+
#
37+
# Inputs
38+
#
39+
# `name`
40+
#
41+
# **Required**. Scan name.
42+
#
43+
# _Example:_ `name: GitHub scan ${{ github.sha }}`
44+
#
45+
# `api_token`
46+
#
47+
# **Required**. Your Nexploit API authorization token (key). You can generate it in the **Organization** section on [nexploit.app](https://nexploit.app/login). Find more information [here](https://kb.neuralegion.com/#/guide/np-web-ui/advanced-set-up/managing-org?id=managing-organization-apicli-authentication-tokens).
48+
#
49+
# _Example:_ `api_token: ${{ secrets.NEXPLOIT_TOKEN }}`
50+
#
51+
# `restart_scan`
52+
#
53+
# **Required** when restarting an existing scan by its ID. You can get the scan ID in the Scans section on [nexploit.app](https://nexploit.app/login).<br> Please make sure to only use the necessary parameters. Otherwise, you will get a response with the parameter usage requirements.
54+
#
55+
# _Example:_ `restart_scan: ai3LG8DmVn9Rn1YeqCNRGQ)`
56+
#
57+
# `discovery_types`
58+
#
59+
# **Required**. Array of discovery types. The following types are available:
60+
# * `archive` - uses an uploaded HAR-file for a scan
61+
# * `crawler` - uses a crawler to define the attack surface for a scan
62+
# * `oas` - uses an uploaded OpenAPI schema for a scan <br>
63+
# If no discovery type is specified, `crawler` is applied by default.
64+
#
65+
# _Example:_
66+
#
67+
# ```yml
68+
# discovery_types: |
69+
# [ "crawler", "archive" ]
70+
# ```
71+
#
72+
# `file_id`
73+
#
74+
# **Required** if the discovery type is set to `archive` or `oas`. ID of a HAR-file or an OpenAPI schema you want to use for a scan. You can get the ID of an uploaded HAR-file or an OpenAPI schema in the **Storage** section on [nexploit.app](https://nexploit.app/login).
75+
#
76+
# _Example:_
77+
#
78+
# ```
79+
# FILE_ID=$(nexploit-cli archive:upload \
80+
# --token ${{ secrets.NEXPLOIT_TOKEN }} \
81+
# --discard true \
82+
# ./example.har)
83+
# ```
84+
#
85+
# `crawler_urls`
86+
#
87+
# **Required** if the discovery type is set to `crawler`. Target URLs to be used by the crawler to define the attack surface.
88+
#
89+
# _Example:_
90+
#
91+
# ```
92+
# crawler_urls: |
93+
# [ "http://vulnerable-bank.com" ]
94+
# ```
95+
#
96+
# `hosts_filter`
97+
#
98+
# **Required** when the the discovery type is set to `archive`. Allows selecting specific hosts for a scan.
99+
#
100+
# Outputs
101+
#
102+
# `url`
103+
#
104+
# Url of the resulting scan
105+
#
106+
# `id`
107+
#
108+
# ID of the created scan. This ID could then be used to restart the scan, or for the following GitHub actions:
109+
# * [Nexploit Wait for Issues](https://github.com/marketplace/actions/nexploit-wait-for-issues)
110+
# * [Nexploit Stop Scan](https://github.com/marketplace/actions/nexploit-stop-scan)
111+
#
112+
# Example usage
113+
#
114+
# Start a new scan with parameters
115+
#
116+
# ```yml
117+
# steps:
118+
# - name: Start Nexploit Scan
119+
# id: start
120+
# uses: NeuraLegion/run-scan@29ebd17b4fd6292ce7a238a59401668953b37fbe
121+
# with:
122+
# api_token: ${{ secrets.NEXPLOIT_TOKEN }}
123+
# name: GitHub scan ${{ github.sha }}
124+
# discovery_types: |
125+
# [ "crawler", "archive" ]
126+
# crawler_urls: |
127+
# [ "http://vulnerable-bank.com" ]
128+
# file_id: LiYknMYSdbSZbqgMaC9Sj
129+
# hosts_filter: |
130+
# [ ]
131+
# - name: Get the output scan url
132+
# run: echo "The scan was started on ${{ steps.start.outputs.url }}"
133+
# ```
134+
#
135+
# Restart an existing scan
136+
#
137+
# ```yml
138+
# steps:
139+
# - name: Start Nexploit Scan
140+
# id: start
141+
# uses: NeuraLegion/run-scan@29ebd17b4fd6292ce7a238a59401668953b37fbe
142+
# with:
143+
# api_token: ${{ secrets.NEXPLOIT_TOKEN }}
144+
# name: GitHub scan ${{ github.sha }}
145+
# restart_scan: ai3LG8DmVn9Rn1YeqCNRGQ
146+
# - name: Get the output scan url
147+
# run: echo "The scan was started on ${{ steps.start.outputs.url }}"
148+
149+
150+
name: "NeuraLegion"
151+
152+
on:
153+
push:
154+
branches: [ "main" ]
155+
pull_request:
156+
branches: [ "main" ]
157+
schedule:
158+
- cron: '36 7 * * 2'
159+
160+
jobs:
161+
neuralegion_scan:
162+
runs-on: ubuntu-18.04
163+
name: A job to run a Nexploit scan
164+
steps:
165+
- uses: actions/checkout@v4
166+
- name: Start Nexploit Scan 🏁
167+
id: start
168+
uses: NeuraLegion/run-scan@29ebd17b4fd6292ce7a238a59401668953b37fbe
169+
with:
170+
api_token: ${{ secrets.NEURALEGION_TOKEN }}
171+
name: GitHub scan ${{ github.sha }}
172+
discovery_types: |
173+
[ "crawler" ]
174+
crawler_urls: |
175+
[ "https://brokencrystals.com" ] # ✏️ Update this to the url you wish to scan

0 commit comments

Comments
 (0)