Cyfendo CLI
Lightweight, zero-dependency command-line interface for the Cyfendo Autonomous Security Platform.
🚀 Installation
Option A: Standalone One-Line Installer (macOS & Linux)
curl -sSL https://app.cyfendo.com/install.sh | bash
Option B: Python Package Manager (PyPI)
# Global installation via pip or isolated via pipx
pip install cyfendo
# or
pipx install cyfendo
Option C: Standalone Binary Direct Download
Download directly from https://app.cyfendo.com/downloads/cyfendo (view SHA-256 hashes at checksums.txt).
⚡ Quick Start
# 1. Authenticate with your Cyfendo API Key
cyfendo login --key cy_live_xxxxxxxxxxxxxxxx
# 2. Run a vulnerability scan in the current directory
cyfendo scan .
# 3. Target an existing protected project in your workspace
cyfendo scan . --project "payment-gateway"
# 4. View and export individual AI remediation patches into .cyfendo/patches/
cyfendo patches
cyfendo patch fnd_8b22 --show
cyfendo patch fnd_8b22 --apply
# 5. CI/CD automation with SARIF export and threshold quality gate
cyfendo scan . --fail-on=high --sarif=results.sarif --no-interactive
🧪 Local Development & Testing
The Cyfendo CLI is built strictly with the Python standard library (urllib, zipfile, argparse) to ensure zero third-party dependency conflicts.
# Install CLI in editable mode for local testing
pip install -e ./cli
# Run the CLI test suite
python3 -m unittest discover -s cli/tests -p "test_*.py" -v
📦 Creating & Distributing New CLI Releases
Whenever you make code updates or improvements to the CLI in cli/cyfendo/, follow these steps to build and distribute new versions across all channels:
1. Bump the Version Number
Update the version in the following two files:
cli/cyfendo/__init__.py:__version__ = "2.0.1"cli/pyproject.toml:version = "2.0.1"
2. Build Binaries & Update Website Downloads
Run the automated distribution script from repository root:
./cli/scripts/distribute.sh
This command automatically:
- Executes the test suite (
python3 -m unittest discover cli/tests). - Compiles a compressed standalone executable (
cyfendo) with shebang#!/usr/bin/env python3. - Copies standalone executables and binary wheels into
website/static/downloads/. - Computes updated SHA-256 hashes in
website/static/downloads/checksums.txt.
3. Publish Release to PyPI (pypi.org)
To release the new version directly to PyPI:
./cli/scripts/distribute.sh --publish-pypi
PyPI Credentials Configuration
The script looks for PyPI credentials in any of the following locations:
cli/.pypirc(Recommended, automatically git-ignored):[distutils] index-servers = pypi [pypi] username = __token__ password = pypi-AgEI...
- Environment variables:
export TWINE_USERNAME="__token__" export TWINE_PASSWORD="pypi-AgEI..."
- Interactive prompt:
twinewill prompt for credentials if not configured.
4. Deploy Website to Cloud Run
To update the downloadable standalone binaries and install.sh script on https://cyfendo.com:
./infra/scripts/deploy_cloud_run.sh
This redeploys the container with the newly generated static assets in website/static/downloads/.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 cyfendo-2.0.1-cp312-cp312-macosx_10_9_universal2.whl.
File metadata
- Download URL: cyfendo-2.0.1-cp312-cp312-macosx_10_9_universal2.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.12, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ba85bd0beb85c112a6534aac9be13114728918570e278df4bbff6fb41296d65
|
|
| MD5 |
b9d98ab70ad778502c3f0d4adcb04e1b
|
|
| BLAKE2b-256 |
1a365534556eebf2868e66fade7907f6ff5e7270888bdc3cc5101f463424d260
|