AquilaX CLI Client
Project description
AquilaX Client
A command-line interface (CLI) tool for interacting with the AquilaX AppSec platform. It allows you to initiate security scans on Git repositories, retrieve scan results, and manage authentication and configuration.
Features
- Authenticate with AquilaX using API tokens
- Start security scans on Git repositories
- Retrieve scan details and findings
- Support for CI/CD pipelines with failure thresholds
- Sync mode for real-time scan monitoring
- Fetch organizations and groups
Prerequisites
- Python 3.7 or higher
pippackage manager
Installation
From PyPI
pip install aquilax
From Source
git clone https://github.com/AquilaX-AI/AquilaX-Client.git
cd AquilaX-Client
pip install -e .
Usage
The general command structure is: aquilax <command> [options]
Authentication
Login
Authenticate with your AquilaX API token.
aquilax login <token>
For on-premise installations:
aquilax login <token> --server "https://your-aquilax-server.com"
Logout
Remove stored authentication credentials.
aquilax logout
Configuration
Set default organization and group IDs to avoid specifying them in every command.
aquilax --set-org <org_id>
aquilax --set-group <group_id>
Scanning
Start a Scan
Initiate a security scan on a Git repository.
aquilax scan <git_uri> [--scanners <scanner1> <scanner2>] [--branch <branch>] [--sync]
Options:
--scanners: List of scanners (default: pii_scanner, secret_scanner, iac_scanner, sast_scanner, sca_scanner, container_scanner, image_scanner, cicd_scanner)--branch: Git branch to scan (default: main)--sync: Enable sync mode to monitor scan progress in real-time
CI/CD Scan
Run a scan optimized for CI/CD pipelines with failure thresholds.
aquilax ci-scan <git_uri> [--org-id <org_id>] [--group-id <group_id>] [--fail-on-vulns] [--branch <branch>] [--sync] [--format <json|table>]
Options:
--org-id: Organization ID (uses default if not specified)--group-id: Group ID (uses default if not specified)--fail-on-vulns: Exit with error code if vulnerabilities are found--branch: Git branch to scan (default: main)--sync: Enable sync mode--format: Output format (default: table)--output-dir: Directory to save PDF reports--save-pdf: Save PDF report locally
Retrieving Data
Pull Scan Results
Fetch details of a completed scan by scan ID.
aquilax pull <scan_id> [--org-id <org_id>] [--group-id <group_id>] [--format <json|table>]
Get Organizations
List all organizations accessible to the authenticated user.
aquilax get orgs
Get Groups
List all groups within an organization.
aquilax get groups [--org-id <org_id>]
Get Scan Details
Retrieve detailed information about a specific scan.
aquilax get scan-details --scan-id <scan_id> [--org-id <org_id>] [--group-id <group_id>] [--format <json|table>]
Version
Display the client version.
aquilax --version
Examples
Basic Scan
aquilax login your_api_token
aquilax --set-org your_org_id
aquilax --set-group your_group_id
aquilax scan https://github.com/your-org/your-repo --sync
CI/CD Integration
aquilax ci-scan https://github.com/your-org/your-repo --fail-on-vulns --format json
Retrieve Scan Results
aquilax pull scan_id_123 --format table
Security Policy Thresholds
The client fetches security policy thresholds from your group's configuration in AquilaX. Scans will fail if vulnerabilities exceed these thresholds (configurable per group for HIGH, MEDIUM, LOW, CRITICAL, total).
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Error Handling
The client handles API errors gracefully and provides informative messages. Ensure your API token is valid and you have access to the specified organizations and groups.
Troubleshooting
- Module Import Errors: Ensure the virtual environment is activated and the package is installed.
- Unauthorized Error: Verify your API token is correct and has the necessary permissions.
- Scan Failures: Check that the Git repository is accessible and the branch exists.
- Threshold Errors: Ensure your group has security policy thresholds configured in AquilaX.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues and questions:
- 📧 Email: support@aquilax.ai
- 🌐 Website: https://aquilax.ai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aquilax-1.3.10.tar.gz.
File metadata
- Download URL: aquilax-1.3.10.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bc94e923de56eb7a817036a2faa2e7d0d51791927474ca19958eaeb59c265b2
|
|
| MD5 |
0890d7e701b5dea3f92dfda8ff1b7c13
|
|
| BLAKE2b-256 |
0c11bd472d35f9fb9ebb8b8e075def82049ace80960a54eea3e40742df2b5ad4
|
File details
Details for the file aquilax-1.3.10-py3-none-any.whl.
File metadata
- Download URL: aquilax-1.3.10-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0755e26d1315da50414123725f9e18b21eb77ff7c8162b94f1995d55dfc9fd5a
|
|
| MD5 |
d880a12385a6e7216a40bbb7a82f8540
|
|
| BLAKE2b-256 |
a2ce2dd9e03bbeab42b5d12002728f1150d4c208139d3440a36c5e1201701aad
|