Skip to content

bad-antics/awesome-julia-security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Julia Security Awesome

A curated list of security tools, cryptography libraries, and cybersecurity resources for the Julia programming language.

Julia's high-performance computing capabilities, native parallelism, and scientific computing ecosystem make it uniquely suited for security research, cryptographic implementations, and large-scale threat analysis.

Contents

Cryptography

Hash Functions

  • 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.
  • Nettle.jl - Libnettle bindings providing MD5, SHA1, SHA2 hashing and HMAC functionality, as well as AES encryption/decryption.

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.

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.

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.

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.

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.

Side-Channel Analysis

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

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.

Network Security

Protocol Libraries

  • HTTP.jl - Full-featured HTTP client and server framework for Julia.
  • HTTP2.jl - HTTP/2 protocol implementation for Julia.
  • WebSockets.jl - WebSockets library for Julia, useful for real-time security monitoring dashboards.
  • Sockets.jl - Standard library for low-level networking and socket programming.
  • 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.

TLS and SSL

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

SSH

  • LibSSH2.jl - SSH protocol bindings for secure remote connections.
  • OpenSSH.jl - OpenSSH key generation utilities.

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.

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.

Web Security

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.

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.

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.

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.

Database Security

  • SQLCipher.jl - Encrypted SQLite database using sqlcipher for secure local data storage.

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

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.

Anomaly and Outlier Detection

Neuromorphic AI

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

Adversarial ML

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

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.

Steganography

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

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.

Security Frameworks and Tools

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.

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.

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.

Security Scanning

Mathematics for Security

Number Theory

  • Primes.jl - Prime number functions essential for cryptographic key generation and factoring challenges.
  • CryptoUtils.jl - Number-theory primitives including continued fractions, modular arithmetic, and prime analysis.

Probabilistic Data Structures

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

Cloud Security

  • 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.

Resources

Documentation

Community

Conferences and Talks

Books and Papers

Security Advisories

Contributing

Contributions welcome! Read the contribution guidelines first.

About

A curated list of 95+ Julia security packages — cryptography, network security, binary analysis, ML for security, privacy, and more

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors