Metadata-Version: 2.4
Name: unveilr-cli
Version: 0.2.0
Summary: Unveilr Security Intelligence Platform — CLI
Author-email: Unveilr <hello@unveilr.com>
License: Proprietary
Project-URL: Homepage, https://unveilr.com
Project-URL: Documentation, https://docs.unveilr.com
Keywords: security,devsecops,compliance,cloud-security,sast,sca,iac,vulnerability-scanner
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: Security
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: click>=8.1
Requires-Dist: httpx>=0.25
Requires-Dist: rich>=13.0

# Unveilr CLI

**Security Intelligence from the terminal.**

Unveilr CLI connects to your [Unveilr](https://unveilr.com) platform and lets you run scans, triage findings, and generate compliance reports — all without leaving the terminal or your CI/CD pipeline.

## Install

```bash
pip install unveilr-cli
```

Or with [pipx](https://pipx.pypa.io/) (recommended for isolated installs):

```bash
pipx install unveilr-cli
```

Requires **Python 3.10+**.

## Quick Start

```bash
# 1. Authenticate
unveilr login --url https://api.your-company.unveilr.com --username you@company.com

# 2. Connect an AWS account
unveilr connect aws --role-arn arn:aws:iam::123456789012:role/UnveilrReadOnly

# 3. Run a unified scan
unveilr scan

# 4. Run a specific scan type against a repo
unveilr scan --type iac --repo https://github.com/org/infra

# 5. Check scan status
unveilr status

# 6. List critical findings
unveilr findings --severity critical

# 7. Generate a compliance report
unveilr compliance report --framework CIS-AWS --output report.pdf
```

## Commands

| Command | Description |
|---------|-------------|
| `unveilr login` | Authenticate with the Unveilr API |
| `unveilr logout` | Clear stored credentials |
| `unveilr whoami` | Show current auth state |
| `unveilr connect aws` | Connect an AWS account via IAM role |
| `unveilr scan` | Run a unified scan (SAST, SCA, IaC, secrets, containers) |
| `unveilr scan --type <type>` | Run a specific scan (`sast`, `sca`, `iac`, `secrets`, `container`, `dast`) |
| `unveilr status` | Check the status of running scans |
| `unveilr findings` | List and filter security findings |
| `unveilr compliance report` | Generate compliance reports (CIS-AWS, SOC2, PCI-DSS, NIST, HIPAA, GDPR) |

## CI/CD Integration

### GitHub Actions

```yaml
- name: Unveilr Security Scan
  run: |
    pip install unveilr-cli
    unveilr login --url ${{ secrets.UNVEILR_API_URL }} --username ${{ secrets.UNVEILR_USER }} --password ${{ secrets.UNVEILR_PASS }}
    unveilr scan --type sast --repo ${{ github.server_url }}/${{ github.repository }}
    unveilr findings --severity critical --exit-code 1
```

### GitLab CI

```yaml
security_scan:
  image: python:3.12-slim
  script:
    - pip install unveilr-cli
    - unveilr login --url $UNVEILR_API_URL --username $UNVEILR_USER --password $UNVEILR_PASS
    - unveilr scan --type sast --repo $CI_PROJECT_URL
    - unveilr findings --severity critical --exit-code 1
```

## Authentication

Credentials are stored locally at `~/.config/unveilr/config.json`. The CLI uses JWT tokens to authenticate with the Unveilr API. Tokens refresh automatically.

You can also set environment variables:

```bash
export UNVEILR_API_URL=https://api.your-company.unveilr.com
export UNVEILR_TOKEN=your-api-token
```

## Links

- **Website**: [unveilr.com](https://unveilr.com)
- **Documentation**: [docs.unveilr.com](https://docs.unveilr.com)
- **Support**: hello@unveilr.com
