Configures and runs headless Burp Suite Professional / Enterprise vulnerability scans (a "Burp scan"): Pro drives scans via its local REST API, Enterprise runs CI-driven scans at scale via its server API; supports BApp Store extensions (BCheck, custom scanners) and authenticated targets via session-handling rules; exports issues as HTML / XML / CSV / JSON or SARIF. Use when the team has a Burp Suite license and wants to run a vulnerability scan with Burp - paid-tier dynamic application security testing (DAST) layered on top of OWASP ZAP.
75
94%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Burp Enterprise (CI-friendly) workflow:
The full CI-driven scanning model is documented per automated scanning "CI-driven scanning"; consult portswigger.net/burp/documentation/enterprise for current API endpoints (the surface is stable but per-version specifics evolve).
jobs:
burp-enterprise:
runs-on: ubuntu-latest
steps:
- name: Trigger Burp Enterprise scan
run: |
SCAN_ID=$(curl -s -X POST "${{ secrets.BURP_ENT_URL }}/api/scans" \
-H "Authorization: ${{ secrets.BURP_ENT_TOKEN }}" \
-d '{"site_id":42,"scan_configuration_id":7}' \
| jq -r '.id')
echo "SCAN_ID=$SCAN_ID" >> $GITHUB_ENV
- name: Wait for scan completion
run: |
while true; do
STATUS=$(curl -s "${{ secrets.BURP_ENT_URL }}/api/scans/$SCAN_ID" \
-H "Authorization: ${{ secrets.BURP_ENT_TOKEN }}" | jq -r '.status')
[ "$STATUS" = "succeeded" ] && break
[ "$STATUS" = "failed" ] && exit 1
sleep 30
done
- name: Download issues
run: curl -s "${{ secrets.BURP_ENT_URL }}/api/scans/$SCAN_ID/issues" \
-H "Authorization: ${{ secrets.BURP_ENT_TOKEN }}" -o burp-issues.json