Skip to main content

AquilaX CLI Client

Project description

๐Ÿ›ก๏ธ AquilaX CLI

Enterprise-Grade Application Security Testing from Your Terminal

PyPI version License Python

Installation โ€ข Quick Start โ€ข Features โ€ข Documentation โ€ข Support


๐Ÿ“– Overview

AquilaX CLI is a professional command-line tool that integrates with the AquilaX Application Security Platform. It helps developers and security teams find and fix security issues early in the development process, right from their terminal or CI/CD pipeline.

Whether you're a developer checking code before commit, a security professional running automated scans, or a DevOps engineer integrating security into pipelines, AquilaX CLI provides enterprise-level security scanning with an easy-to-use interface.


โœจ Key Features

๐Ÿ” Multiple Security Scanners

Scan your code for various security vulnerabilities with specialized scanners:

  • ๐Ÿ” PII Scanner - Find personally identifiable information that shouldn't be in your code
  • ๐Ÿ”‘ Secret Scanner - Detect exposed passwords, API keys, and authentication tokens
  • โ˜๏ธ IaC Scanner - Check Infrastructure as Code files (Terraform, CloudFormation, etc.)
  • ๐Ÿ›ก๏ธ SAST Scanner - Analyze source code for security vulnerabilities
  • ๐Ÿ“ฆ SCA Scanner - Find known vulnerabilities in your dependencies and libraries
  • ๐Ÿณ Container Scanner - Scan Docker images and containers for security issues
  • ๐Ÿ–ผ๏ธ Image Scanner - Analyze images embedded in your repository
  • โš™๏ธ CI/CD Scanner - Review pipeline configurations for security best practices

๐Ÿš€ Easy CI/CD Integration

  • Works with Any Pipeline - Compatible with GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and more
  • Configurable Rules - Set your own security thresholds and policies
  • Automatic Scanning - Run scans automatically on every code commit or deployment
  • Build Control - Automatically fail builds when security issues are found

๐Ÿ“Š Easy-to-Read Results

  • Live Updates - Watch your scan progress in real-time
  • Color-Coded Severity - Quickly identify Critical, High, Medium, and Low severity issues
  • Clean Tables - Results displayed in easy-to-read tables
  • Multiple Formats - Export as JSON for automation or view in formatted tables

๐ŸŽฏ Flexible Setup

  • Multiple Teams - Work with different organizations and project groups
  • Save Preferences - Store your frequently used settings to save time
  • On-Premise Ready - Works with self-hosted AquilaX installations
  • Any Branch - Scan any Git branch, not just main

๐Ÿ“ˆ Detailed Security Reports

  • Industry Standards - See how issues map to OWASP Top 10 security risks
  • CWE References - Get standard security weakness classifications
  • Clear Categorization - Understand exactly what types of vulnerabilities were found
  • Web Dashboard - View full details and trends in your online dashboard

๐Ÿš€ Installation

From PyPI (Recommended)

pip install aquilax

From Source

git clone https://github.com/AquilaX-AI/AquilaX-Client.git
cd AquilaX-Client
pip install -e .

Verify Installation

aquilax --version

๐ŸŽฏ Quick Start

1. Authentication

Login with your AquilaX API token:

aquilax login YOUR_API_TOKEN

For on-premise installations:

aquilax login YOUR_API_TOKEN --server https://your-aquilax-instance.com

2. Configure Defaults

Set your default organization and group to streamline commands:

aquilax --set-org YOUR_ORG_ID
aquilax --set-group YOUR_GROUP_ID

3. Run Your First Scan

Start a security scan with real-time monitoring:

aquilax scan https://github.com/your-org/your-repo --sync

๐Ÿ“š Documentation

Commands Overview

๐Ÿ” Authentication & Configuration

Login

Authenticate with the AquilaX platform:

aquilax login <token> [--server <url>]

Options:

  • <token> - Your AquilaX API authentication token
  • --server - (Optional) Custom server URL for on-premise installations (default: https://aquilax.ai)

Example:

aquilax login eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
aquilax login my_token --server https://aquilax.mycompany.com
Logout

Remove stored authentication credentials:

aquilax logout
Set Default Organization

Configure your default organization ID:

aquilax --set-org <org_id>
Set Default Group

Configure your default group ID:

aquilax --set-group <group_id>

๐Ÿ” Scanning Commands

Standard Scan

Initiate a comprehensive security scan on a Git repository:

aquilax scan <git_uri> [options]

Options:

Option Description Default
--scanners List of scanners to use All 8 scanners
--branch Git branch to scan main
--sync Enable real-time monitoring Disabled
--format Output format (json or table) table

Examples:

# Basic scan with all scanners
aquilax scan https://github.com/myorg/myrepo

# Scan specific branch with real-time updates
aquilax scan https://github.com/myorg/myrepo --branch develop --sync

# Run only specific scanners
aquilax scan https://github.com/myorg/myrepo --scanners secret_scanner sast_scanner

# Output results as JSON
aquilax scan https://github.com/myorg/myrepo --format json
CI/CD Scan

Specialized scan command optimized for CI/CD pipelines:

aquilax ci-scan <git_uri> [options]

Options:

Option Description Default
--org-id Organization ID (overrides default) From config
--group-id Group ID (overrides default) From config
--branch Git branch to scan main
--sync Enable real-time monitoring Disabled
--fail-on-vulns Fail pipeline if any vulnerabilities found Disabled
--format Output format (json or table) table
--output-dir Directory for PDF reports Current directory
--save-pdf Save PDF report locally Disabled

CI/CD Examples:

# Basic CI/CD scan
aquilax ci-scan https://github.com/myorg/myrepo

# Fail build if vulnerabilities exceed thresholds
aquilax ci-scan https://github.com/myorg/myrepo --fail-on-vulns

# CI/CD with custom org/group and JSON output
aquilax ci-scan https://github.com/myorg/myrepo \
  --org-id 507f1f77bcf86cd799439011 \
  --group-id 507f1f77bcf86cd799439012 \
  --format json

GitLab CI Example:

security_scan:
  stage: test
  script:
    - pip install aquilax
    - aquilax login $AQUILAX_TOKEN
    - aquilax ci-scan $CI_REPOSITORY_URL --branch $CI_COMMIT_BRANCH --fail-on-vulns

GitHub Actions Example:

- name: AquilaX Security Scan
  run: |
    pip install aquilax
    aquilax login ${{ secrets.AQUILAX_TOKEN }}
    aquilax ci-scan ${{ github.repository }} --fail-on-vulns

๐Ÿ“Š Retrieving Information

Pull Scan Results

Fetch detailed results from a completed scan:

aquilax pull <scan_id> [options]

Options:

Option Description Default
--org-id Organization ID From config
--group-id Group ID From config
--format Output format (json or table) table

Example:

aquilax pull 507f1f77bcf86cd799439013 --format table
Get Organizations

List all organizations accessible to your account:

aquilax get orgs

Output:

Organizations List:
+-------------------+---------------------------+
| Organization Name | Organization ID           |
+===================+===========================+
| My Company        | 507f1f77bcf86cd799439011 |
| Test Org          | 507f1f77bcf86cd799439014 |
+-------------------+---------------------------+
Get Groups

List all groups within an organization:

aquilax get groups [--org-id <org_id>]

If --org-id is not provided, uses the default organization from your configuration.

Get Scan Details

Retrieve comprehensive details about a specific scan:

aquilax get scan-details --scan-id <scan_id> [options]

Options:

Option Description Default
--org-id Organization ID From config
--group-id Group ID From config
--format Output format (json or table) table

Example:

aquilax get scan-details --scan-id 507f1f77bcf86cd799439013

๐ŸŽจ Output Formats

Table Format (Default)

Beautiful, color-coded console output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Scanner         โ”‚ Path                 โ”‚ Vulnerability           โ”‚ Severity โ”‚ CWE     โ”‚ OWASP  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ secret_scanner  โ”‚ config/database.yml  โ”‚ Hardcoded API Key       โ”‚ HIGH     โ”‚ CWE-798 โ”‚ A02    โ”‚
โ”‚ sast_scanner    โ”‚ app/controllers/...  โ”‚ SQL Injection           โ”‚ CRITICAL โ”‚ CWE-89  โ”‚ A03    โ”‚
โ”‚ sca_scanner     โ”‚ package.json         โ”‚ Vulnerable Dependency   โ”‚ MEDIUM   โ”‚ CWE-937 โ”‚ A06    โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

JSON Format

Machine-readable output for automation and integration:

aquilax scan https://github.com/myorg/myrepo --format json
{
  "scan_id": "507f1f77bcf86cd799439013",
  "status": "COMPLETED",
  "findings": [
    {
      "scanner": "secret_scanner",
      "path": "config/database.yml",
      "vuln": "Hardcoded API Key",
      "severity": "HIGH",
      "cwe": ["CWE-798"],
      "owasp": ["A02"]
    }
  ]
}

๐Ÿ”’ Security Policy Thresholds

AquilaX CLI enforces security policies configured at the group level in your AquilaX platform. Scans will fail if vulnerabilities exceed defined thresholds.

Threshold Categories:

  • Total - Maximum total number of vulnerabilities
  • CRITICAL - Maximum critical severity findings
  • HIGH - Maximum high severity findings
  • MEDIUM - Maximum medium severity findings
  • LOW - Maximum low severity findings

Example Policy:

Security Policy Thresholds:
  - total: 10
  - CRITICAL: 0
  - HIGH: 2
  - MEDIUM: 5
  - LOW: 10

If thresholds are exceeded:

Thresholds exceeded: CRITICAL (2) > 0; HIGH (5) > 2
Pipeline failed due to security policy violations.

๐Ÿ”ง Advanced Usage

Environment Variables

You can configure AquilaX CLI using environment variables:

export AQUILAX_SERVER="https://your-instance.com"

Configuration File

Authentication and defaults are stored at:

  • Linux/Mac: ~/.aquilax/config.json
  • Windows: %USERPROFILE%\.aquilax\config.json

Example configuration:

{
  "apiToken": "your_api_token",
  "baseUrl": "https://aquilax.ai",
  "org_id": "507f1f77bcf86cd799439011",
  "group_id": "507f1f77bcf86cd799439012"
}

๐ŸŽ“ Use Cases

Developer Workflows

Pre-Commit Security Checks:

# Add to .git/hooks/pre-commit
aquilax scan $(git config --get remote.origin.url) --branch $(git branch --show-current)

CI/CD Integration

Jenkins Pipeline:

stage('Security Scan') {
    steps {
        sh 'pip install aquilax'
        sh 'aquilax login ${AQUILAX_TOKEN}'
        sh 'aquilax ci-scan ${GIT_URL} --fail-on-vulns --format json > scan-results.json'
    }
}

Azure DevOps:

- task: CmdLine@2
  inputs:
    script: |
      pip install aquilax
      aquilax login $(AQUILAX_TOKEN)
      aquilax ci-scan $(Build.Repository.Uri) --fail-on-vulns

Security Team Automation

Scheduled Scans:

#!/bin/bash
# Scan all repositories in your organization
for repo in $(cat repos.txt); do
  aquilax scan $repo --sync --format json > "scans/$(basename $repo).json"
done

๐Ÿ› ๏ธ Troubleshooting

Common Issues

Module Import Errors

Problem: ModuleNotFoundError: No module named 'aquilax'

Solution: Ensure the package is installed and your virtual environment is activated:

pip install aquilax
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

Unauthorized Error

Problem: 401 Unauthorized when running commands

Solution: Verify your API token is correct and has necessary permissions:

aquilax logout
aquilax login YOUR_CORRECT_TOKEN

Scan Failures

Problem: Scan fails with "Repository not accessible"

Solution:

  • Ensure the Git repository URL is correct and accessible
  • For private repositories, ensure your AquilaX platform has appropriate access credentials
  • Verify the branch name exists: --branch your-branch-name

Threshold Errors

Problem: Thresholds exceeded errors

Solution:

  • Review your group's security policy settings in the AquilaX web dashboard
  • Adjust thresholds if they're too strict, or fix the vulnerabilities
  • Use --format json to get detailed findings for remediation

Connection Issues

Problem: Cannot connect to AquilaX server

Solution:

# For on-premise installations, verify server URL
aquilax login YOUR_TOKEN --server https://your-correct-url.com

# Check if server is accessible
curl https://your-aquilax-server.com/health

๐Ÿค Contributing

We welcome contributions to AquilaX CLI! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

git clone https://github.com/AquilaX-AI/AquilaX-Client.git
cd AquilaX-Client
pip install -e .

๐Ÿ“„ License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.


๐Ÿ†˜ Support

Need help? We're here for you!


๐Ÿ—บ๏ธ What's Coming Next

  • SARIF Export - Export scan results in SARIF format
  • IDE Plugins - Use AquilaX directly in VS Code and IntelliJ
  • Custom Reports - Generate PDF and HTML reports
  • Instant Notifications - Get alerts via Slack, Teams, or email
  • Advanced Filters - Filter results by severity, type, or file

๐ŸŒŸ Why Choose AquilaX CLI?

โœ… Complete Security Coverage - Multiple specialized scanners in one tool
โœ… Fast & Efficient - Quick scans without slowing down your workflow
โœ… Works Everywhere - Compatible with any Git repository
โœ… Automation Ready - Perfect for CI/CD pipelines
โœ… Easy to Use - Clean, understandable output
โœ… Enterprise Trusted - Used by security teams worldwide


Made with โค๏ธ by the AquilaX Team

โฌ† Back to Top

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.11.tar.gz (24.2 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.11-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file aquilax-1.3.11.tar.gz.

File metadata

  • Download URL: aquilax-1.3.11.tar.gz
  • Upload date:
  • Size: 24.2 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.11.tar.gz
Algorithm Hash digest
SHA256 6ef063dd123f97ca6af8f24b83e34505d9455998d41242b9c1cae0831347cced
MD5 473ae6d313b5fc4cb8d27fa94b2a6990
BLAKE2b-256 b110a7732be6994db3fd657c51f9a95e6f6f79374734993de6147a781287853a

See more details on using hashes here.

File details

Details for the file aquilax-1.3.11-py3-none-any.whl.

File metadata

  • Download URL: aquilax-1.3.11-py3-none-any.whl
  • Upload date:
  • Size: 19.9 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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 4b240934f4835ba64fd94c9f3ae3eeaab22d1eea0b572c49f7f071ab027c318b
MD5 77feaa1bb63536a2b3765557b83a4bd1
BLAKE2b-256 e32573b6b68e3be9eb408082362c2d9decb89d5a9983be5926ad5c3042d9a9f4

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