An open API service indexing awesome lists of open source software.

awesome-julia-security

A curated list of 95+ Julia security packages — cryptography, network security, binary analysis, ML for security, privacy, and more
https://github.com/bad-antics/awesome-julia-security

Last synced: 2 days ago
JSON representation

  • Binary Analysis and Reverse Engineering

    • Binary Formats

      • ELF.jl - ELF binary format parser for Linux executable analysis.
      • MachO.jl - Mach-O binary format parser for macOS executable analysis.
      • DWARF.jl - DWARF debug information parser for binary analysis and reverse engineering.
    • Debugging and Introspection

      • Debugger.jl - Full-featured Julia debugger for code analysis and vulnerability research.
      • Infiltrator.jl - No-overhead breakpoints for runtime code inspection.
      • Cthulhu.jl - Deep code introspection and type-level analysis tool.
      • JuliaInterpreter.jl - Julia code interpreter for dynamic analysis and security auditing.
      • CodeTracking.jl - Track method definitions and source locations for code auditing.
      • CassetteOverlay.jl - Method overlay mechanism for instrumenting and intercepting function calls.
    • Foreign Function Interfaces

      • Cxx.jl - Julia C++ interface for interoperating with native security tools.
      • CxxWrap.jl - Make C++ security libraries available in Julia.
      • Clang.jl - C binding generator and interface to libclang for source code analysis.
      • JavaCall.jl - Call Java security libraries from Julia.
  • Cloud Security

    • Probabilistic Data Structures

      • AWS.jl - Julia interface to Amazon Web Services for cloud security automation.
      • AWSAuth.jl - AWS authentication implementation for secure cloud API access.
      • AWSS3.jl - AWS S3 interface for secure cloud storage operations.
      • GoogleCloud.jl - Google Cloud APIs for Julia including IAM and security services.
  • Cryptography

    • Cryptanalysis

      • CryptoAnalysis.jl - Classical cryptanalysis and cipher-breaking toolkit with frequency analysis, IoC, Kasiski examination, Caesar/Vigenère/XOR breaking, entropy, and chi-squared testing.
    • Cryptographic Signatures

      • CryptoSignatures.jl - Cryptographic signature library supporting DSA and elliptic curve signatures.
      • OpenSSH.jl - OpenSSH key generation and management.
    • Cryptographic Utilities

      • CryptoUtils.jl - Cryptography and number-theory primitives in Julia including continued fractions and prime factoring.
      • CryptoPRG.jl - Deterministic pseudorandom generators for cryptographic applications.
      • Krypto.jl - Experimental futuristic crypto library in Julia.
      • ToyPublicKeys.jl - Toy implementation of public key cryptography for learning purposes.
      • SecretSharing.jl - Shamir's Secret Sharing scheme over GF(256) for splitting secrets into threshold-reconstructable shares.
      • PasswordHashing.jl - Unified password hashing with bcrypt, scrypt, and Argon2id implementations in pure Julia.
      • TOTP.jl - RFC 4226/6238 compliant HOTP and TOTP one-time password generation and verification.
    • Elliptic Curve Cryptography

      • ECC.jl - Elliptic Curve Cryptography in Julia with secp256k1 curve support.
      • CryptoGroups.jl - Groups for cryptographic applications including Weierstrass elliptic curves.
      • OpenSSLGroups.jl - OpenSSL elliptic curve wrapper for CryptoGroups.
      • DarkCurves.jl - DarkIntegers-based library for working with elliptic curves.
    • Hash Functions

      • Nettle.jl - Libnettle bindings providing MD5, SHA1, SHA2 hashing and HMAC functionality, as well as AES encryption/decryption.
      • SHA.jl - Performant, 100% native-Julia SHA1, SHA2, and SHA3 implementation.
      • MD5.jl - Performant, 100% native-Julia MD5 implementation.
      • Ripemd.jl - Pure Julia RIPEMD-160 implementation.
      • CryptographicHashFunctions.jl - Fast cryptographic hash functions for Julia.
    • Homomorphic Encryption

      • ToyFHE.jl - Toy implementation of Fully Homomorphic Encryption algorithms.
      • SEAL.jl - Wrapper for the Microsoft SEAL library supporting homomorphic encryption with BFV and CKKS schemes.
      • OpenFHE.jl - Julia bindings for OpenFHE, an open-source fully homomorphic encryption library.
      • Paillier.jl - Julia implementation of the Paillier partially homomorphic encryption system.
      • SecureArithmetic.jl - Secure arithmetic operations using fully homomorphic encryption.
      • Carousel.jl - Implementation of Carousel: Fully Homomorphic Encryption from slot blind rotation.
      • FHEW.jl - Fully Homomorphic Encryption library in pure Julia.
    • Post-Quantum Cryptography

      • NistyPQC.jl - Post-Quantum Cryptography implementations for Julia based on NIST standards.
      • MKTFHE - Implementation of Multi-Key Threshold Fully Homomorphic Encryption.
    • Side-Channel Analysis

      • Jlsca - Side-channel analysis toolkit for differential power analysis (DPA), correlation power analysis (CPA), and related attacks.
    • Symmetric Encryption

      • AES.jl - Advanced Encryption Standard on-the-fly mode implementation in Julia.
      • ChaChaCiphers.jl - GPU-compatible implementations of the ChaCha stream cipher family.
      • SQLCipher.jl - Drop-in replacement for SQLite.jl using the sqlcipher library for full database encryption support.
    • Zero-Knowledge Proofs

      • Groth.jl - Groth16 zkSNARK implementation in Julia, a modular zero-knowledge proof system for learning and research.
      • SigmaProofs.jl - Zero-knowledge proofs with practical applications.
      • ShuffleProofs.jl - Verificatum compatible verifier and prover for NIZK proofs of shuffle.
  • Data Forensics and Analysis

    • Data Parsing

      • CSV.jl - High-performance CSV file parser for processing log files and data dumps.
      • JSON3.jl - High-performance JSON parser for processing API responses and structured data.
      • DataFrames.jl - Tabular data analysis framework for investigating security events and forensic data.
      • LazyJSON.jl - Lazy JSON interface for efficiently reading large JSON data files.
      • XMLDict.jl - XML to dictionary parser useful for processing security scan outputs and SAST reports.
      • ASN1.jl - ASN.1/DER/BER encoder-decoder with X.509 certificate parser for cryptographic data analysis.
    • Log Analysis

      • SpectraSec - Security Protocol Engine for Cyber Threat Response and Analysis with hash identification, entropy analysis, port scanning, pattern detection, and threat scoring.
  • Machine Learning for Security

    • Adversarial ML

      • Mirage - Adversarial machine learning toolkit for model extraction, adversarial examples, neural network probing, and defense evaluation.
    • Anomaly and Outlier Detection

    • ML Frameworks

      • Flux.jl - Machine learning framework suitable for building anomaly detection models and threat classifiers.
      • MLJ.jl - Machine learning toolbox for building and evaluating security models.
      • Knet.jl - Deep learning framework useful for network intrusion detection systems.
    • Neuromorphic AI

      • GrugBot420 - Neuromorphic cognitive engine deploying domain-expert AI specimens via competing pattern node populations, coinflip decay, and architectural configuration instead of training.
  • Mathematics for Security

    • Number Theory

      • Primes.jl - Prime number functions essential for cryptographic key generation and factoring challenges.
    • Probabilistic Data Structures

      • BloomFilters.jl - Bloom filter implementation for efficient set membership testing in network security applications.
  • Network Security

    • GeoIP and DNS

      • GeoIP.jl - Estimate the geographic location of IP addresses for threat intelligence geolocation.
      • URIs.jl - URI parsing and manipulation for web security analysis.
    • Network Reconnaissance

      • NetProbe - Network reconnaissance and port scanning toolkit with service detection and CIDR support.
      • PacketLib.jl - Packet crafter and packet sniffer library for Julia.
    • Protocol Libraries

      • HTTP.jl - Full-featured HTTP client and server framework for Julia.
      • Sockets.jl - Standard library for low-level networking and socket programming.
      • HTTP2.jl - HTTP/2 protocol implementation for Julia.
      • WebSockets.jl - WebSockets library for Julia, useful for real-time security monitoring dashboards.
      • ZMQ.jl - Julia interface to ZeroMQ for distributed messaging patterns.
      • Pcap.jl - libpcap bindings for Julia with packet capture and analysis capabilities.
      • LDAPClient.jl - LDAP client for Julia providing directory services integration for authentication and authorization.
    • SSH

      • LibSSH2.jl - SSH protocol bindings for secure remote connections.
    • TLS and SSL

      • MbedTLS.jl - TLS and SSL protocol implementation with certificate management.
      • OpenSSL.jl - Julia wrapper for OpenSSL cryptographic and TLS functionality.
  • Privacy and Anonymity

    • Differential Privacy

      • DiffPrivacyInference.jl - Automatically infer differential privacy properties of Julia source code through static analysis.
      • DiffPrivacy.jl - Library implementing differential privacy techniques over statistical databases.
    • Secure Voting

      • PeaceFounder.jl - Centralized end-to-end verifiable e-voting system via pseudonym braiding and history trees.
      • ElectionGuardVerifier.jl - MITRE Election Guard verifier for secure election auditing.
      • HistoryTrees.jl - History tree implementation for tamper-evident logging and audit trails.
      • TallyProofs.jl - Cryptographic core for end-to-end verifiable voting with everlasting privacy and coercion resistance.
    • Steganography

      • Steganography.jl - LSB image steganography for hiding and extracting secret data in images with configurable bit depth and Netpbm support.
  • Resources

  • Security Frameworks and Tools

    • Hash Analysis

      • NullSec-HashWitch - High-performance hash identification and cracking tool leveraging Julia's parallel computing.
      • HashForensics - Hash identification, analysis, and cracking toolkit with 40+ algorithm support.
      • SecureVault - Encrypted credential vault with PBKDF2 key derivation, secure memory wiping, and audit logging.
    • Security Scanning

    • Threat Intelligence

      • Vortex - Real-time threat intelligence fusion engine for correlating IOCs across 50+ feeds with ML analysis.
      • YARAJulia.jl - YARA-like pattern matching engine for malware analysis and threat detection with hex, text, and regex patterns.
    • Vulnerability Research

      • Phantom - Zero-knowledge proof security framework for proving vulnerabilities without revealing details.
      • Oracle - AI-powered vulnerability discovery engine using predictive detection with ML models and 300+ patterns.
      • Fuzz.jl - Security fuzzing toolkit with mutation-based, generation-based, and coverage-guided fuzzing strategies.
  • Web Security

    • Authentication and Tokens

      • JWTs.jl - JSON Web Tokens (JWT) implementation for Julia supporting token creation, validation, and verification.
      • GitHub.jl - Julia interface for the GitHub API with OAuth authentication support.
      • OAuthClient.jl - OAuth 2.0 client library supporting Authorization Code with PKCE, Client Credentials, Device Code, and Refresh Token flows.
    • Content Security

      • ContentSecurityPolicy.jl - Julia library for working with Content Security Policy headers, CSP reports, and XSS mitigation.
    • HTTP and Web Frameworks

      • Mux.jl - Middleware framework for Julia web applications.
      • JuliaWebAPI.jl - Package for deploying secure APIs with Julia.
      • Gumbo.jl - Julia wrapper around Google's gumbo HTML parser for web scraping and security analysis.
      • LibCURL.jl - Julia wrapper for libcurl, useful for custom HTTP request crafting.
      • Hyperscript.jl - Lightweight DOM representation for safe HTML generation.
Programming Languages