AI Smart Contract Security Analysis and PoC Generation Framework
Version 6.0 | What's New in v6.0 | Changelog
Aether is a Python-based framework for analyzing Solidity smart contracts, generating vulnerability findings, producing Foundry-based proof-of-concept (PoC) tests, and validating exploits on mainnet forks. It combines Solidity AST parsing, taint analysis, control flow graph analysis, cross-contract analysis, Halmos symbolic execution, 180+ pattern-based static detectors, a collaborative multi-agent LLM pipeline (GPT/Gemini/Claude) with shared SAGE institutional memory, 14 protocol archetypes, a 75+ exploit knowledge base, ML-calibrated detection, token quirks detection, invariant extraction, related contract context resolution, and advanced context-aware filtering into a single persistent full-screen TUI.
Collaborative Agent Pipeline — The deep analysis pipeline transforms from 5 independent passes to 5 collaborative agents sharing structured knowledge through SAGE institutional memory:
docker compose up -d to start.SAGE Institutional Memory — Aether now learns from every audit, reducing false positives and improving finding quality over time:
SageFeedbackManager.sync_detector_accuracy() identifies high/low performing detectors and stores dos/don'ts reflectionsdocker compose up -d starts SAGE; config via sage_enabled/sage_url in ~/.aether/config.yamlContributors: Thanks to @sashavdv for fixing hardcoded path variables (PR #1) and @pro258b for identifying the missing validate_anthropic_key() method (PR #2).
SAGE is a persistent institutional memory system powered by BFT consensus. See the SAGE project for full documentation.
# Install SAGE Python SDK
pip install sage-agent-sdk
# Start SAGE (Docker required)
docker compose up -d
# Run Aether — SAGE auto-seeds on first launch
python aether.py
# Regenerate seed fixtures after updating knowledge bases (dev only)
python -c "from core.sage_seeder import SageSeeder; SageSeeder.generate_seed_fixtures()"
Audit 1 → Findings + FPs → Record outcomes in SAGE
↓
Audit 2 → SAGE recalls FP patterns → Fewer false positives
↓
Audit 3 → Richer institutional context → Better severity calibration
↓
Audit N → Institutional expert-level knowledge → Bug-bounty-quality findings
PoC Auto-Execution — Generated Foundry PoCs now automatically compile and execute:
forge test --json integration runs PoCs immediately after compilationPoCTestResult dataclass for structured pass/fail/error reportingPOC_TESTING phase in JobManager for live progress tracking in the TUIHalmos Symbolic Execution — Formal verification via symbolic execution:
HalmosRunner for executing Halmos symbolic tests against generated propertiesHalmosPropertyGenerator for auto-generating verification properties from extracted invariantsHalmosSymbolicNode pipeline node integrated at validation Stage 1.95enable_symbolic_verification, halmos_timeoutControl Flow Graph Analysis — Compiler-level control flow understanding:
BasicBlock, CFGEdge, ControlFlowGraph dataclasses in solidity_ast.pybuild_cfg(), get_dominators(), get_loop_headers(), format_cfg_for_llm() for structural analysisparse_assembly_block() for inline assembly supportML Feedback Loop — Historical outcome-based calibration:
AccuracyTracker.record_finding_outcome() for tracking submission results and bounty earningsget_detector_accuracy() and get_detector_weights() for per-detector performance statsDetectorStats dataclass tracking true/false positives and historical accuracyEnhancedVulnerabilityDetector based on detector track recordRelated Contract Context — LLM analysis now sees full dependency source code:
RelatedContractResolver automatically discovers parent, interface, library, and dependency contractsTech Debt Cleanup — 8,500 lines of dead code removed:
ai_ensemble.py, audit_engine.py, fork_verifier.pyslither_project_cache from database managerSolidity AST Parsing — Aether v4.0 adds compiler-backed code analysis via py-solc-x, moving beyond regex-only static analysis:
solc --ast-json integration for proper inheritance resolution, function visibility, storage layout with slot numbers, and state variable read/write tracking per functionTaint Analysis Engine — Tracks user-controlled inputs through contracts to identify dangerous data flows:
Cross-Contract Analysis (Pass 3.5) — New deep analysis pass targeting multi-contract vulnerabilities:
Token Quirks Database — 12 categories of non-standard ERC-20 behaviors that cause real exploits:
| Category | Severity | Example Tokens |
|---|---|---|
| Fee-on-transfer | HIGH | USDT, STA, PAXG |
| Rebasing tokens | HIGH | stETH, AMPL, OHM |
| ERC-777 callbacks | HIGH | imBTC |
| Flash-mintable | HIGH | DAI |
| Non-standard return | MEDIUM | Old USDT |
| Blocklist tokens | MEDIUM | USDC, USDT |
| Pausable tokens | MEDIUM | USDC |
| Low-decimal tokens | MEDIUM | USDC (6), WBTC (8) |
| Transfer hooks | MEDIUM | LINK (ERC-677) |
| Approval race | LOW | Various |
| Multiple entry points | LOW | TUSD |
| Upgradeable tokens | LOW | USDC v2 |
Integrated into static detection pipeline and archetype checklists.
Enhanced Precision Engine — Advanced rounding and precision vulnerability detection:
Runnable PoC Generation — Generated Foundry tests now actually compile and run:
LLM Pipeline Improvements:
Deep Analysis Engine — Aether v3.5 fundamentally transforms how the tool finds vulnerabilities, moving from a one-shot "find bugs" LLM call to a structured 6-pass pipeline that mirrors how professional auditors approach code review: understand first, then systematically attack.
Instead of sending an entire contract to an LLM with a single prompt, Aether now runs six sequential analysis passes with accumulated context:
| Pass | Purpose | Model Tier |
|---|---|---|
| Pass 1 | Protocol Understanding — what the protocol IS, its invariants, value flows, trust assumptions | Cheap (cached) |
| Pass 2 | Attack Surface Mapping — every entry point, state reads/writes, reentrancy windows | Cheap (cached) |
| Pass 3 | Invariant Violation Analysis — systematically check every invariant against every code path | Strong |
| Pass 4 | Cross-Function Interaction — state dependency analysis, temporal dependencies, flash loan sequences | Strong |
| Pass 5 | Adversarial Modeling — explicit attacker perspective with flash loans, MEV, multiple accounts | Strong |
| Pass 6 | Boundary & Edge Cases — first/last operations, zero values, max values, self-referential ops | Medium |
Passes 1-2 are cached by contract content hash, so re-audits skip the understanding phase. Each subsequent pass receives all prior context, building a comprehensive attack model. Feature-flagged with AETHER_DEEP_ANALYSIS=1 (default ON); falls back to one-shot on failure.
Before analyzing for bugs, Aether detects what kind of protocol the contract implements and loads archetype-specific vulnerability checklists:
| Archetype | Example Checklist Items |
|---|---|
| ERC-4626 Vault | First depositor inflation, rounding direction, share price manipulation via donation |
| Lending Pool | Oracle price manipulation, liquidation threshold manipulation, bad debt cascade, interest rate manipulation |
| DEX/AMM | First LP manipulation, sandwich attacks, price oracle via reserves |
| Bridge | Cross-chain replay, validator compromise, token mapping mismatch, withdrawal proof forgery |
| Staking | Reward calculation manipulation, reward rate overflow, unstaking reentrancy |
| Governance | Flash loan governance attacks, timelock bypass, quorum manipulation |
| Oracle | Stale price data, price deviation, L2 sequencer downtime |
10 archetypes total, each with 3-7 specific checklist items drawn from real-world exploits.
A structured database of 50+ categorized real-world exploit patterns replaces the previous static 10-pattern list:
| Category | Patterns | Examples |
|---|---|---|
| Inflation/Share Attacks | 6 | ERC-4626 first depositor, LP token inflation, donation-based manipulation |
| Reentrancy | 7 | Classic, read-only, cross-function, cross-contract, ERC-777/1155 hooks, flash loan callbacks |
| Oracle | 5 | Spot price manipulation, TWAP manipulation, staleness, decimals mismatch, L2 sequencer |
| Governance | 4 | Flash loan voting (Beanstalk), timelock bypass, quorum manipulation |
| Bridge | 5 | Message replay (Nomad), validator compromise (Ronin), token mapping (Wormhole) |
| Precision/Rounding | 4 | Rounding direction, unchecked overflow, fee-on-transfer, rebasing token drift |
| Access Control | 5 | Uninitialized proxy, storage collision, selector collision, delegatecall injection |
| Economic/DeFi | 8 | Sandwich attacks, JIT liquidity, bad debt cascade, returndata bomb, signature replay |
| Logic | 6 | Off-by-one, missing deadline/slippage, unchecked returns, self-transfer accounting |
Each pattern includes code indicators, missing protections, step-by-step exploit mechanism, and real-world precedents (with dollar amounts). Patterns are filtered by detected archetype and agent focus area.
Automatically extracts protocol invariants from three sources:
@invariant tags in contract commentsGenerates Foundry invariant_*() test suites that serve as formal-verification-lite proofs — a failing invariant test proves the bug is real.
division_by_zero, integer_underflow, etc. to low. Now checks if the finding is in an unchecked{} block, near value transfers, in price calculations, or in oracle contexts before deciding"pending" findings now pass through to LLM analysis (previously only "validated" passed, silently dropping many real findings)(line // 10) * 10 bucketing that split findings 2 lines apart into different groupsDeFiVulnerabilityDetector (two-stage presence/absence analysis) now runs in the main enhanced audit engine, not just the flow-based pipelineFully Inline Textual TUI — Aether v3.0 is a persistent full-screen application that never drops to a raw terminal. Every operation — audits, PoC generation, report generation, GitHub scope selection, settings configuration — runs entirely within the TUI:
app.suspend() calls — the TUI never disappears, no jarring terminal switchesEnter on any job to see live scrolling output, phase progress bar, and metadataa/n for all/none, type to filter, color-coded previously-audited contractsn New Audit, r Resume, h History, p PoCs, o Reports, f Fetch, s Settings, q QuitFour Background Job Types: All heavy operations run as background daemon threads via AuditRunner, with output captured by ThreadDemuxWriter and visible in JobDetailScreen:
| Job Type | Description |
|---|---|
local | Single or parallel contract audits |
github | GitHub repository audits with pre-selected scope |
poc | Foundry proof-of-concept generation |
report | Audit report generation (markdown/json/html) |
Three-Provider LLM Support: OpenAI (GPT-5/5.3), Google Gemini (2.5/3.0), and Anthropic Claude (Sonnet 4.5/Opus 4.6) for maximum flexibility and redundancy.
Enhanced PoC Generation: AST-based contract analysis, iterative compilation fixes, and production-ready LLM prompts generating exploits suitable for bug bounty submissions.
Advanced False Positive Filtering: Multi-stage validation reduces false positives from 66% to ~20-25%, improving accuracy from 33% to 75-80%:
script/, .s.sol, forge-std/Script.sol) automatically excluded from vulnerability analysis[PRODUCTION]/[DEPLOYMENT SCRIPT] labels so models focus on production codeonlyDistributor, authorized) extracted from contract source and recognized alongside hardcoded patternsMove Vulnerability Database Integration: Patterns from 128 Critical/High findings across 77 audits, adapted for Solidity/EVM:
python setup.py # Interactive installer (recommended)
python aether.py # Launches the full-screen Textual TUI
That's it. The TUI guides you through everything via keyboard shortcuts and modal dialogs.
OPENAI_API_KEY (for GPT models)GEMINI_API_KEY (for Gemini models)ANTHROPIC_API_KEY (for Claude models)ETHERSCAN_API_KEY (optional, for fetching verified contracts)If you prefer manual installation:
# Foundry
curl -L https://foundry.paradigm.xyz | bash && foundryup
export PATH="$PATH:$HOME/.foundry/bin"
# solc-select
pip install solc-select
solc-select install 0.4.26 0.8.0 0.8.19 0.8.20 latest
# Python dependencies
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
The setup wizard (python setup.py) handles everything. You can also configure from within the TUI via s (Settings):
Or set environment variables directly:
export OPENAI_API_KEY=sk-...
export GEMINI_API_KEY=...
export ANTHROPIC_API_KEY=...
Configuration is stored in ~/.aether/config.yaml.
Database locations:
~/.aether/aetheraudit.db~/.aether/aether_github_audit.dbAll interaction happens via keyboard shortcuts from the main screen:
n — New AuditMulti-step wizard with three source types:
Local file or directory:
GitHub URL:
a/n for all/none)Block explorer URL / address:
r — Resume AuditTable of all in-progress GitHub audits with project name, scope, progress (N/M contracts), and last update time. Select one to verify pending contracts and launch as a background job.
h — Audit HistoryUnified view of all past audits from both databases (local + GitHub). Select any entry for a submenu:
p — Generate PoCsSelect a project, configure max items, minimum severity, and consensus-only filtering. PoC generation runs as a background job — watch progress in the jobs table.
o — ReportsSelect project, scope, and format (markdown/json/html/all). Report generation runs as a background job.
f — Fetch ContractPick a network from 10+ supported chains, enter an address or paste an explorer URL, fetch the verified source code, and optionally audit it immediately.
s — SettingsEnter — Job DetailPress Enter on any row in the jobs table to see:
q — QuitExits the TUI. If jobs are running, prompts for confirmation.
build_cfg() constructs basic blocks with dominator trees and loop header detection; assembly block parsing; CFG context fed into deep analysis and taint propagationRelatedContractResolver for dependency contextHalmosRunner + HalmosPropertyGenerator for formal verification of invariants; integrated at validation Stage 1.95; graceful degradation if Halmos not installedAccuracyTracker records submission outcomes and generates per-detector confidence weights; severity calibration from historical data injected into deep analysisRelatedContractResolver discovers parent, interface, library, and dependency contracts; per-pass budget system with standard library summarizationforge test --json with fork-mode support./output/ — General output root./output/reports/ — Generated reports./output/pocs/ — Generated Foundry PoC suites./output/exploit_tests/ — Results from exploit testingaether.py — Sole entry point; launches the Textual TUIcli/interactive_menu.py — Thin shim creating JobManager + AetherAppcli/tui/app.py — AetherApp(App) — main Textual app with key bindings and 1-second refresh timercli/tui/)MainScreen (jobs table + cost bar), JobDetailScreen (live log + phase + metadata), NewAuditScreen, HistoryScreen, ResumeScreen, PoCScreen, ReportsScreen, FetchScreen, SettingsScreenJobsTable (DataTable polling JobManager), CostBar (session cost by provider), LogViewer (RichLog with incremental refresh), PhaseBar (Unicode block progress)ConfirmDialog, TextInputDialog, SelectDialog, CheckboxDialog, PathDialog, ContractSelectorDialog — all ModalScreen subclassesGitHubAuditHelper — decomposed GitHub audit operations for TUI integrationtheme.tcss — cyan-themed Textual CSScli/audit_runner.py — AuditRunner class running audits, PoCs, reports, and GitHub audits in daemon threadscore/job_manager.py — JobManager singleton: session job registry (QUEUED/RUNNING/COMPLETED/FAILED/CANCELLED)core/audit_progress.py — ContractAuditStatus with per-job log buffers, ThreadDemuxWriter for stdout/stderr capturecore/llm_usage_tracker.py — Thread-safe singleton with snapshot() for per-job cost deltascli/main.py — AetherCLI class (~2600 lines) — internal audit orchestrator used by AuditRunnercore/enhanced_audit_engine.py — Main audit engine with deep analysis integrationcore/post_audit_summary.py — Post-audit panel with cost-by-provider breakdowncore/deep_analysis_engine.py — 6-pass LLM pipeline plus Pass 3.5 (cross-contract): understand → attack surface → invariants → cross-contract → cross-function → adversarial → edge cases; model tier selection, caching, few-shot examples, chain-of-thought enforcement, CFG context in Pass 2, ML severity calibration in Pass 5, related contract context per passcore/protocol_archetypes.py — Protocol archetype detection (14 types including LIQUID_STAKING, PERPETUAL_DEX, CDP_STABLECOIN, YIELD_AGGREGATOR) with per-archetype vulnerability checklistscore/exploit_knowledge_base.py — 75+ categorized real-world exploit patterns across 14 categories (including CROSS_CONTRACT, SIGNATURE_AUTH, TOKEN_INTEGRATION, PROXY_UPGRADE, TYPE_SAFETY)core/invariant_engine.py — Invariant extraction (NatSpec + LLM + pattern) and Foundry invariant test generation + Halmos property generationcore/solidity_ast.py — Solidity AST parsing via py-solc-x with regex fallback for inheritance, visibility, storage layout, state read/write tracking; control flow graph construction (build_cfg(), get_dominators(), get_loop_headers())core/taint_analyzer.py — Data flow / taint analysis with 8 source types, 12 sink types, sanitizer detection, cross-contract tracking, branch-aware CFG propagationcore/cross_contract_analyzer.py — Inter-contract relationship analysis with trust boundary detection, union-find grouping, and RelatedContractResolver for dependency contextcore/token_quirks.py — Token quirks database (12 categories of non-standard ERC-20 behaviors)core/halmos_runner.py — Halmos symbolic execution runner for formal verificationcore/halmos_property_generator.py — Auto-generates Halmos verification properties from invariantscore/accuracy_tracker.py — ML feedback loop: per-detector accuracy tracking, confidence weight adjustment, severity calibrationcore/enhanced_vulnerability_detector.py — Primary detector with 60+ patternscore/business_logic_detector.py, core/state_management_detector.py, core/data_inconsistency_detector.py, core/centralization_detector.py, core/looping_detector.py — Move-inspired detectorscore/defi_vulnerability_detector.py, core/mev_detector.py, core/oracle_manipulation_detector.py — DeFi-specific detectors (DeFi detector integrated into enhanced engine in v3.5)core/arithmetic_analyzer.py, core/precision_analyzer.py, core/gas_analyzer.py, core/input_validation_detector.py, core/data_decoding_analyzer.py — Specialized analyzers (precision analyzer enhanced with share inflation, rounding direction, division truncation, dust exploitation, accumulator overflow detection)core/token_quirks.pycore/validation_pipeline.py — Multi-stage pipeline: built-in protection check, governance detection, taint-aware validation (Stage 1.85), Halmos symbolic verification (Stage 1.95), deployment verification, local validationcore/governance_detector.py, core/deployment_analyzer.py, core/llm_false_positive_filter.pycore/control_flow_guard_detector.py, core/inheritance_verifier.pycore/nodes/halmos_node.py — HalmosSymbolicNode pipeline node for symbolic execution validationcore/enhanced_llm_analyzer.py — Structured LLM analysis (GPT/Gemini/Claude) with JSON output and multi-provider rotationcore/enhanced_prompts.py — Production prompt templates with dynamic exploit pattern loading from knowledge base, few-shot examples, severity calibration, and chain-of-thought enforcementcore/foundry_poc_generator.py (~8000 lines) — AST-based analysis, iterative compilation feedback (up to 5 attempts), auto-execution via forge test --json with PoCTestResult parsing and fork-mode supportcore/llm_foundry_generator.py — LLM-based test generation with mock API documentation and recommended setUp patternscore/enhanced_foundry_integration.py — Foundry validation and formattingcore/poc_templates.py — Mock contract templates (MockERC20, MockOracle, MockWETH, MockFlashLoanProvider)core/poc_setup_generator.py — Intelligent setUp() generation: constructor param extraction, mock deployment, upgradeable contract handling, token minting and approvalscore/database_manager.py — DatabaseManager (local audits) + AetherDatabase (GitHub audits)core/analysis_cache.py — Smart caching for 2x faster repeated analysiscore/accuracy_tracker.py — ML feedback loop: submission outcomes, bounty earnings, per-detector accuracy stats, confidence weight generationcore/github_auditor.py — Clone repos, detect frameworks, discover contracts, coordinate analysiscore/etherscan_fetcher.py, core/basescan_fetcher.py — Fetch verified contracts from block explorerscore/exploit_tester.py — Validate exploits against Anvil forksAudit flows defined in YAML configs (configs/). Enhanced audit pipeline:
FileReaderNode -> StaticAnalysisNode -> LLMAnalysisNode -> EnhancedExploitabilityNode -> [FixGeneratorNode -> ValidationNode -> HalmosSymbolicNode] -> ReportNode
2059 tests across 76 test files, running in ~23 seconds:
python -m pytest tests/ # All tests (~23s, 2059 tests)
python -m pytest tests/test_enhanced_detectors.py -v # Single file
python -m pytest tests/test_enhanced_detectors.py::TestArithmeticAnalyzer -v # Single class
python -m pytest tests/ -k "governance" -v # Pattern match
python -m pytest tests/ --cov=core --cov-report=html # With coverage
forge/anvil are installed and on PATH (foundryup and export PATH="$PATH:$HOME/.foundry/bin")solc-select and required versions: solc-select install 0.8.20 latestpip install textual>=1.0.0 if missingforge test --json with PoCTestResult parsing and fork-mode support; POC_TESTING phase for live TUI trackingHalmosRunner, HalmosPropertyGenerator, and HalmosSymbolicNode pipeline node (validation Stage 1.95) for formal verification of invariants; graceful degradation if Halmos not installedBasicBlock, CFGEdge, ControlFlowGraph with build_cfg(), dominator trees, loop header detection, assembly block parsing; CFG context injected into deep analysis Pass 2; branch-aware taint propagationAccuracyTracker records submission outcomes with get_detector_accuracy() and get_detector_weights() for per-detector stats; confidence weight adjustment in EnhancedVulnerabilityDetector; severity calibration in deep analysis Pass 5RelatedContractResolver discovers parent, interface, library, and dependency contracts with per-pass budget system (200K/100K/50K chars); standard library summarization; single-file sibling discoveryai_ensemble.py, audit_engine.py, fork_verifier.py; removed all ai_ensemble references from CLI, audit runner, TUI screens, report generatorscript//scripts/, .s.sol files, and contracts importing forge-std/Script.sol or inheriting is Script are tagged as deployment scripts and excluded from LLM vulnerability analysis. Eliminates an entire class of false positives from Foundry deployment helpers being analyzed as production code// FILE: <name> markers per file, and deep analysis passes 1 and 3 receive a ## Project Files header labeling each file as [PRODUCTION] or [DEPLOYMENT SCRIPT] so LLMs focus on the right codeGovernanceDetector now extracts custom access-control modifiers defined in the contract (e.g. onlyDistributor, onlyMinter, authorized) by scanning for modifier definitions with only prefix or msg.sender checks. These are merged with the hardcoded modifier list for has_access_control() and is_governance_function()VulnerabilityDeduplicator now groups findings by (function_name, vuln_type) when contract code is available, replacing the fragile exact-line matching that missed adjacent-line duplicates in the same function. Falls back to 20-line bucket grouping when function context is unavailable_findings_match_fuzzy() tolerance increased from ±5 to ±15 lines to catch same-function duplicates across agents_check_constructor_context() now detects when a contract is deployed (new/Create2) and initialized (.initialize()) in the same constructor, marking front-running concerns as false positives since the operations are atomic@invariant tags, LLM analysis, and 6 common pattern detectors (vault conservation, balance tracking, supply accounting, AMM constant product, lending collateralization, staking rewards). Generates Foundry invariant_*() test suites as formal-verification-lite proofsunchecked{} blocks, near value transfers (call{value:}, _mint, safeTransfer), price calculations, or oracle contexts preserve their original severity"pending" findings now pass through to LLM analysis with needs_llm_validation flag. Only explicit "false_positive" findings are dropped (previously, all non-"validated" findings were silently filtered)(line // 10) * 10 bucketing that caused arbitrary boundary issues (lines 9 and 11 in different buckets). Dedup now uses only normalized vulnerability type, with _findings_match_fuzzy() handling line proximityDeFiVulnerabilityDetector (two-stage presence/absence semantic analysis) now runs in the enhanced audit engine alongside EnhancedVulnerabilityDetectorenhanced_prompts.py now loads patterns from ExploitKnowledgeBase filtered by focus area, with fallback to static patternsrun_audit() to extract findings count; removed LLMUsageTracker.reset() that orphaned singleton references; all 4 worker types compute per-job stats from snapshot deltasContainer + overflow: hidden in JobDetailScreen to prevent stale compositor framesCLAUDE.md from git trackingapp.suspend() calls — the TUI never drops to a raw terminal; every operation runs inlineAuditRunner.start_poc_generation() with live output in JobDetailScreenAuditRunner.start_report_generation() with live outputAuditRunner.start_github_audit()ScopeManager.interactive_select(). Space to toggle, a/n for all/none, type to filter, color-coded previously-audited contractsGitHubAuditor/AetherDatabase providing atomic operations (clone_and_discover, get_scope_state, save_new_scope, get_pending_contracts, handle_reaudit) callable from Textual screensThreadPoolExecutor, configurable up to 8 parallel workersContractAuditStatus with locking, ThreadDemuxWriter for stdout multiplexingAether is distributed under the MIT License. See the LICENSE file for details.
Dhillon Andrew Kannabhiran (@l33tdawg)
Contributions are welcome! Please feel free to submit issues, fork the repository, and create pull requests.