
Nabla - An OSS SAST/SCA API for calculating your SSCS gradients

The nabla is used in vector calculus as part of three distinct differential operators: the gradient (∇), the divergence (∇⋅), and the curl (∇×)
Nabla is a binary-first, fair-source, secure API for SAST/SCA tasks — designed to analyze, monitor, and validate the binaries used in your tools, applications, or infrastructure.
Built in Rust and deployable anywhere via Docker, Nabla helps modern teams build resilient CI/CD pipelines by generating attestations, SBOMs, CVE reports, and more — all from binaries alone.
🧐 Why Nabla?
We built this tool because as ecosystems like Rust and Wasm grow, it's becoming more and more common for developers to use third-party binaries in their code and infrastructure.
This introduces risk into the software supply chain, including:
- Shadow dependencies and bundled binaries
- Missing or unverifiable SBOMs
- Unknown vulnerabilities (CVEs)
- Inability to produce attestations or verify signatures
Nabla acts like a firewall for your binary inputs — providing deep binary analysis, vulnerability detection, attestation, and SBOMs in a clean, simple API.
✨ Features
- 🔍 Binary Analysis: ELF, PE, Mach-O, and Wasm parsing via
goblin - 🧾 SBOM Generation: CycloneDX format generation from extracted packages
- 🚨 CVE Lookup: Detect vulnerabilities in known packages and binary patterns
- ✍️ Attestation: Sigstore-compatible predicate output ready for signing
- ⛓️💥 Diffing: Compare two binaries and view differences in content and structure
- ⚙️ REST API: JSON-first API built on Axum, ready for CI/CD pipelines
🔌 CLI Commands
All commands require authentication unless otherwise specified. Set your JWT token using nabla-cli auth --set-jwt <token>.
Binary Analysis
Analyze a binary file to extract metadata, packages, and generate SBOMs.
Example:
REST equivalent:
POST /binary/analyze
Binary Comparison
Compare two binaries to identify differences in packages, symbols, and metadata.
Example:
REST equivalent:
POST /binary/diff
Generate Attestations
Create Sigstore-compatible attestations for binaries with cryptographic signing.
Example:
REST equivalent:
POST /binary/attest
CVE Scanning
Scan binaries for known vulnerabilities in detected packages.
Example:
REST equivalent:
POST /binary/check-cves
AI-Powered Analysis
Generate SBOMs and perform AI-powered binary analysis through natural language.
Example:
REST equivalent:
POST /binary/chat
Authentication & Configuration
Authentication
Set your JWT token for API access:
Check authentication status:
Upgrade authentication:
Configuration Management
View all configuration settings:
Get a specific configuration value:
Set a configuration value:
Set the base URL for the API:
Server Mode
Run Nabla in server mode (legacy):
Or using the server subcommand:
Setup
Prerequisites
- Rust 1.82+
- A Nabla License Key
Environment Variables
Copy .env.example to .env and configure:
PORT=8080
FIPS_MODE=false # Enable FIPS 140-2 compliance
FIPS_VALIDATION=false # Enable FIPS validation checks
Getting Started
Clone the repo:
Setup your environment:
Edit .env:
PORT=8080
FIPS_MODE=false
FIPS_VALIDATION=false
Run locally:
Or with Docker:
# Standard mode
# FIPS mode
FIPS 140-2 Compliance
Nabla supports FIPS 140-2 compliance mode for enterprise deployments:
FIPS Mode Features
- FIPS 140-2 Approved Algorithms: SHA-256, SHA-512, HMAC-SHA256, AES-256-GCM
- FIPS Validation: Runtime validation of cryptographic operations
- Compliance Reporting: Health check endpoint reports detailed FIPS status
- Enterprise Ready: FedRAMP, SOC 2, and HIPAA compliant
- FIPS-Compliant TLS: Uses only FIPS-approved cipher suites
- FIPS-Compliant RNG: Uses operating system secure random number generation
- JWT/HMAC Compliance: Uses FIPS-approved HMAC-SHA256 for token validation
Environment Variables
FIPS_MODE=true # Enable FIPS 140-2 compliance
FIPS_VALIDATION=true # Enable FIPS validation checks
Health Check Response (FIPS Mode)
Health Check Response (Standard Mode)
FIPS Implementation Details
Cryptographic Algorithms
- Hashing: SHA-256, SHA-512 (FIPS mode) vs Blake3 (standard mode)
- HMAC: HMAC-SHA256 for JWT token validation
- Random Generation: OS secure RNG (FIPS) vs standard RNG (standard)
- TLS Cipher Suites: FIPS-approved suites only in FIPS mode
Binary Analysis
- Hash Generation: Uses configurable crypto provider
- Metadata: Includes FIPS status and algorithm information
- Consistency: All cryptographic operations respect FIPS mode
HTTP Client
- TLS Configuration: FIPS-compliant cipher suites when enabled
- Certificate Validation: Enhanced security in FIPS mode
- Connection Security: Uses rustls with FIPS-approved settings
Docker Deployment
# Standard deployment
# FIPS-compliant deployment
Compliance Certifications
- FIPS 140-2 Level 1: Cryptographic module compliance
- FedRAMP: Federal Risk and Authorization Management Program
- SOC 2 Type II: Security, availability, and confidentiality
- HIPAA: Health Insurance Portability and Accountability Act
License
This project is licensed under the Functional Source License - see the LICENSE file for details.
Want a license key? Chat up the Atelier Logos team and get a 14-day trial