BTP and BA2 CLI
Required environment variables (must be set by the user, do not configure these):
-
BTP_USERNAME
-
BTP_PASSWORD
-
BTP_INSTANCE_SLUG
BTP Commands
Products
vulhunt-ce btp list-products vulhunt-ce btp create-product --name "Name" --description "Optional"
Upload and Scan
Upload only
vulhunt-ce btp upload --product-id <pid> --name "Name" --version "1.0.0" file.bin
Upload and scan
vulhunt-ce btp upload --product-id <pid> --name "Name" --version "1.0.0" --scan file.bin
Images and Scans
vulhunt-ce btp list-images --product-id <pid> vulhunt-ce btp list-scans --product-id <pid> --image-id <iid> vulhunt-ce btp create-scan --product-id <pid> --image-id <iid> vulhunt-ce btp get-scan --product-id <pid> --image-id <iid> --scan-id <sid> vulhunt-ce btp get-findings --product-id <pid> --image-id <iid>
Download BA2
vulhunt-ce btp download-ba2 --product-id <pid> --image-id <iid> vulhunt-ce btp download-ba2 --product-id <pid> --image-id <iid> --scan-id <sid> vulhunt-ce btp download-ba2 --product-id <pid> --image-id <iid> -o output.ba2
Push Rules
From platform directories (posix/ or uefi/)
vulhunt-ce btp push-rules -r "ruleset-name" -t "v1.0.0" ./posix ./uefi
Individual .vh files (requires --platform)
vulhunt-ce btp push-rules -r "ruleset-name" -t "latest" --platform posix rule.vh
Deploy to product or org
vulhunt-ce btp push-rules -r "ruleset-name" -t "latest" --deploy-to-product <pid> ./posix vulhunt-ce btp push-rules -r "ruleset-name" -t "latest" --deploy-to-org <oid> ./posix
With modules
vulhunt-ce btp push-rules -r "ruleset-name" -t "latest" --modules ./modules ./posix
BA2 Commands
List components
vulhunt-ce ba2 list-components file.ba2
Extract component by UUID
vulhunt-ce ba2 extract-component file.ba2 --component-id <UUID> -o output_file
Output Format
BTP commands return:
{"status": "ok", "payload": {...}} {"status": "error", "message": "..."}
BA2 commands return raw JSON arrays or objects.