Skip to main content

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
  • pip package 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:

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

aquilax-1.3.10.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aquilax-1.3.10-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

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

Hashes for aquilax-1.3.10.tar.gz
Algorithm Hash digest
SHA256 0bc94e923de56eb7a817036a2faa2e7d0d51791927474ca19958eaeb59c265b2
MD5 0890d7e701b5dea3f92dfda8ff1b7c13
BLAKE2b-256 0c11bd472d35f9fb9ebb8b8e075def82049ace80960a54eea3e40742df2b5ad4

See more details on using hashes here.

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

Hashes for aquilax-1.3.10-py3-none-any.whl
Algorithm Hash digest
SHA256 0755e26d1315da50414123725f9e18b21eb77ff7c8162b94f1995d55dfc9fd5a
MD5 d880a12385a6e7216a40bbb7a82f8540
BLAKE2b-256 a2ce2dd9e03bbeab42b5d12002728f1150d4c208139d3440a36c5e1201701aad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page