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
-
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
- OutlierDetection.jl - Fast, scalable, and flexible outlier detection framework for identifying security anomalies.
- AnomalyDetection.jl - Anomaly detection algorithms for identifying unusual patterns in security data.
- GenerativeAD.jl - Generative models for anomaly detection using deep learning approaches.
- OutlierDetectionNetworks.jl - Neural network-based outlier detection algorithms.
- OutlierDetectionNeighbors.jl - Neighbor-based outlier detection algorithms including KNN and LOF.
- HalfSpaceTrees.jl - Half-space trees for streaming anomaly detection.
- LinRegOutliers - Direct and robust methods for outlier detection in linear regression.
-
ML Frameworks
-
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
-
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
-
Books and Papers
- Secure Numerical Simulations using FHE - Research paper and reproducibility repository on secure numerical simulations with homomorphic encryption.
- Julia for Data Analysis - Book covering data analysis techniques applicable to security forensics.
-
Community
- Julia Slack - Real-time chat community for Julia developers.
- Julia Zulip - Zulip chat for Julia development discussions.
- Julia Discourse - Security - Community discussion forum with security-related topics.
-
Conferences and Talks
- JuliaCon YouTube - Recorded conference talks including security-related presentations.
- JuliaCon - Annual Julia conference featuring security and cryptography presentations.
- Secure Numerical Computations using FHE - JuliaCon 2024 - Talk on secure numerical computations using fully homomorphic encryption.
- JuliaCon YouTube - Recorded conference talks including security-related presentations.
-
Documentation
- Julia Security Policy - Official Julia security vulnerability reporting process.
- JuliaCrypto Organization - Official GitHub organization for Julia cryptography packages.
- JuliaWeb Organization - Official GitHub organization for Julia web and networking packages.
- Julia Documentation - Official Julia language documentation.
-
-
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
- RegistryScanner - Scans Julia registries for possible malicious behavior and misconfigurations.
- SecurityAdvisories.jl - The official Julia Security Advisory Database.
-
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
Categories
Sub Categories
Homomorphic Encryption
7
Protocol Libraries
7
Anomaly and Outlier Detection
7
Cryptographic Utilities
7
Data Parsing
6
Debugging and Introspection
6
Hash Functions
5
Probabilistic Data Structures
5
HTTP and Web Frameworks
5
Documentation
4
Elliptic Curve Cryptography
4
Foreign Function Interfaces
4
Secure Voting
4
Conferences and Talks
4
Binary Formats
3
Symmetric Encryption
3
Community
3
Hash Analysis
3
ML Frameworks
3
Zero-Knowledge Proofs
3
Authentication and Tokens
3
Vulnerability Research
3
Security Scanning
2
Books and Papers
2
Network Reconnaissance
2
TLS and SSL
2
Differential Privacy
2
Threat Intelligence
2
Post-Quantum Cryptography
2
GeoIP and DNS
2
Cryptographic Signatures
2
SSH
1
Content Security
1
Log Analysis
1
Neuromorphic AI
1
Cryptanalysis
1
Number Theory
1
Steganography
1
Adversarial ML
1
Side-Channel Analysis
1
Keywords
julia
29
cryptography
19
security
7
encryption
4
elliptic-curves
3
julialang
3
homomorphic-encryption
3
hash-functions
3
ckks
2
verificatum
2
bfv
2
prime-numbers
2
middleware
2
cxx
2
history-tree
2
neural-networks
2
evoting
2
data-science
2
machine-learning
2
deep-learning
2
sqlite
1
sqlcipher
1
data
1
database
1
rng
1
aes
1
data-frame
1
cryptographic-hash-functions
1
ripemd160
1
ripemd
1
wrapper-library
1
nettle
1
the-human-brain
1
bgv
1
flux
1
i-see-nothing-nothing
1
readability
1
library-wrapper
1
seal-library
1
bike
1
classic-mceliece
1
dilithium
1
falcon
1
kyber
1
tabular-data
1
csv
1
linear-regression
1
outliers-detection
1
robust-statistics
1
knet
1