| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
# Spectra โ Spectral Analysis & Security Framework
Security Protocol Engine for Cyber Threat Response & Analysis
The first high-performance security framework written entirely in Julia
Blazing fast โข Type-safe โข Memory-efficient โข Cryptographically secure
Spectra is a revolutionary security framework that leverages Julia's scientific computing power for cybersecurity applications. Unlike traditional tools, Spectra uses Julia's JIT compilation to achieve C-level performance while maintaining the expressiveness of high-level code.
| Module | Description | Status |
|---|---|---|
| Crypto | Modern cryptographic primitives, hash analysis, entropy testing | โ |
| Network | Packet analysis, port scanning, service fingerprinting | โ |
| Analysis | Pattern recognition, anomaly detection, threat scoring | โ |
| Recon | DNS enumeration, subdomain discovery, OSINT gathering | โ |
| Forensics | File analysis, memory inspection, artifact extraction | โ |
| Fuzzing | Protocol fuzzing, input mutation, crash detection | โ |
using Pkg
Pkg.add(url="https://github.com/bad-antics/spectra")git clone https://github.com/bad-antics/spectra.git
cd spectra
julia --project=. -e 'using Pkg; Pkg.instantiate()'# On NullSec Linux, Spectra is pre-installed
nullsec spectrausing Spectra
# Initialize with your style
Spectra.init(theme=:hacker, verbose=true)
# Quick port scan
results = Spectra.scan("192.168.1.0/24", ports=1:1000)
# Analyze results
Spectra.analyze(results) |> Spectra.reportusing Spectra.Network
# Async port scanning with service detection
@async_scan begin
targets = ["192.168.1.1", "192.168.1.2"]
ports = [22, 80, 443, 8080]
for target in targets
scan(target, ports,
timeout=2.0,
service_detection=true,
banner_grab=true)
end
endusing Spectra.Crypto
# Entropy analysis
entropy = analyze_entropy("suspicious_file.bin")
println("Shannon Entropy: $(entropy.shannon)")
println("Compression Ratio: $(entropy.compression_ratio)")
println("Classification: $(entropy.classification)")
# Hash identification
identify_hash("5d41402abc4b2a76b9719d911017c592")
# => HashType(:MD5, confidence=0.98)using Spectra.Analysis
# Analyze network capture
threats = analyze_pcap("capture.pcap")
# Score and prioritize
for threat in sort(threats, by=:severity, rev=true)
println("$(threat.name): $(threat.score)/100")
println(" โโ $(threat.recommendation)")
endspectra/ โโโ src/ โ โโโ Spectra.jl # Main module โ โโโ core/ โ โ โโโ Types.jl # Core type definitions โ โ โโโ Config.jl # Configuration management โ โ โโโ Engine.jl # Processing engine โ โ โโโ Display.jl # Beautiful output formatting โ โโโ modules/ โ โ โโโ Scanner.jl # Network scanning โ โ โโโ Recon.jl # Reconnaissance โ โ โโโ Fuzzer.jl # Fuzzing engine โ โ โโโ Forensics.jl # Digital forensics โ โโโ crypto/ โ โ โโโ Hashes.jl # Hash functions & analysis โ โ โโโ Ciphers.jl # Encryption/decryption โ โ โโโ Entropy.jl # Entropy analysis โ โโโ network/ โ โ โโโ Packets.jl # Packet crafting โ โ โโโ Sockets.jl # Raw socket operations โ โ โโโ Protocols.jl # Protocol implementations โ โโโ analysis/ โ โ โโโ Patterns.jl # Pattern recognition โ โ โโโ Anomaly.jl # Anomaly detection โ โ โโโ Scoring.jl # Threat scoring โ โโโ integrations/ โ โโโ NullSec.jl # NullSec Linux integration โโโ test/ # Comprehensive tests โโโ docs/ # Documentation โโโ examples/ # Usage examples
Spectra produces stunning terminal output:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโ โโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโ โโโโโโ โโโ โโโ โโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโ โโโ โ โ โโโโโโโโโโโ โโโโโโโโ โโโโโโโ โโโ โโโ โโโโโโ โโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ Target: 192.168.1.1 โ โ Ports Scanned: 1000 | Open: 5 | Filtered: 23 | Closed: 972 โ โ Scan Time: 2.34s | Rate: 427 ports/sec โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ PORT STATE SERVICE VERSION โ โ โโโโ โโโโโ โโโโโโโ โโโโโโโ โ โ 22/tcp open ssh OpenSSH 8.9p1 โ โ 80/tcp open http nginx/1.24.0 โ โ 443/tcp open https nginx/1.24.0 โ โ 3306/tcp open mysql MySQL 8.0.35 โ โ 8080/tcp open http-proxy Squid 5.7 โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# ~/.spectra/config.toml
[general]
theme = "hacker" # hacker, minimal, colorful
verbose = true
parallel = true
max_threads = 8
[network]
timeout = 5.0
retries = 3
rate_limit = 1000 # packets per second
[output]
format = "table" # table, json, csv
colors = true
unicode = true
[nullsec]
integration = true
log_path = "/var/log/nullsec"Spectra is designed to work seamlessly with NullSec Linux:
# Launch from NullSec menu
nullsec spectra
# Use in NullSec modules
source /opt/nullsec/spectra/bridge.sh
spectra_scan $TARGET# In Julia, access NullSec features
using Spectra.Integrations.NullSec
# Read NullSec target
target = get_nullsec_target()
# Log to NullSec
log_to_nullsec(:vulnerability, "SQL Injection found", severity=:high)
# Use NullSec's Shodan integration
shodan_results = nullsec_shodan_search("apache")using Spectra
# Define target
target = Target("example.com")
# Run full recon pipeline
results = @pipeline target begin
dns_enum # DNS enumeration
subdomain_scan # Subdomain discovery
port_scan # Port scanning
service_detect # Service detection
vuln_check # Vulnerability check
report # Generate report
end
# Export results
export(results, "report.html", format=:html)# Create your own Spectra module
module MyModule
using Spectra.Core
@spectra_module "my_scanner" begin
description = "My custom scanner"
author = "bad-antics"
function run(target::Target; options...)
# Your scanning logic here
results = []
for port in get(options, :ports, 1:1000)
if is_open(target.host, port)
push!(results, PortResult(port, :open))
end
end
return results
end
end
end # module# Run all tests
julia --project=. test/runtests.jl
# Run specific test suite
julia --project=. -e 'using Pkg; Pkg.test(test_args=["crypto"])'Full documentation available at: docs/
Contributions welcome! See CONTRIBUTING.md.
MIT License - See LICENSE
Built with ๐ by bad-antics
Part of the NullSec Security Ecosystem
| Back | FazBrowse Home | New Git URL |