┌──────────────────────────────────────────────────────────────────────────────┐ │ │ │ ██████╗ ███████╗██╗ ██╗██████╗ █████╗ ██████╗ ██████╗ │ │ ██╔══██╗██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗██╔════╝ │ │ ██║ ██║█████╗ ██║ ██║██║ ██║███████║██████╔╝██║ ███╗ │ │ ██║ ██║██╔══╝ ╚██╗ ██╔╝██║ ██║██╔══██║██╔══██╗██║ ██║ │ │ ██████╔╝███████╗ ╚████╔╝ ██████╔╝██║ ██║██║ ██║╚██████╔╝ │ │ ╚═════╝ ╚══════╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ │ │ │ │ SECURITY RESEARCHER · ZERO-TRUST ARCHITECT · AI ENGINEER │ └──────────────────────────────────────────────────────────────────────────────┘
"Hack ethically. Build defensively. Share everything."
I'm Jainam H. Maru — a security researcher, OS developer, and full-stack engineer who builds AI-powered defensive tooling and studies attacker behavior for a living (and a hobby). My sweet spot is where threat intelligence meets machine learning:
- 🕵️ Threat intelligence collection — honeypots, dark-web OSINT, MITRE ATT&CK mapping
- 🕸️ Dark-web OSINT & entity resolution — building DarkForce: Tor + clearnet collection, actor correlation, and an interactive relationship graph
- 🏰 Zero-Trust architecture — CISA ZTMM-aligned labs with OPA, oauth2-proxy, mTLS
- 🛡️ SIEM engineering — building CyberRakshak (Smart India Hackathon): Windows Event Log ingestion, correlation rules, MITRE-mapped detection, live SOC dashboard
- 🤖 AI engineering — LLM-assisted analysis (Ollama, Groq), ML malware detection with SHAP explainability
- 🎓 Education systems — building EduOS, an open-source operating system for education, secure exams & cyber training
I don't just write code — I document everything, CI-test everything, and open-source everything that can be.
| Project | What it does | Stack |
|---|---|---|
| 🕵️ darkforce · live | Dark-web threat intelligence platform — OSINT collection across Tor & clearnet, actor entity resolution, and an interactive relationship graph that dims filtered nodes instead of reflowing the layout | Python · FastAPI · React 19 · Cytoscape.js · SQLite · Tor |
| 🛡️ CyberRakshak | SIEM platform for CRPF units (SIH 2026) — agent-based Windows Event Log collection, correlation + MITRE ATT&CK detection, role-based live SOC dashboard | Python · FastAPI · Next.js 15 · SQLAlchemy · SSE |
| 🎓 eduos | Unified OS for learning, secure examinations, cybersecurity training & campus admin | Python · PyQt6 · FastAPI · FreeBSD |
| 👁 ssh-honeypot | AI-driven SSH deception — captures attacker commands, geolocates, scores threat, maps to MITRE ATT&CK | Python · Paramiko · Ollama · Docker |
| 🏰 zero-trust-lab | CISA ZTMM 2.0 lab — nginx + oauth2-proxy + OPA + authz-bridge across 4 VMs | Docker · OPA · Authentik · WireGuard |
| 🔬 malware-detector | PE malware detector — YARA + Random Forest + EMBER 2381 features + SHAP | Python · FastAPI · scikit-learn |
| 📡 crpf-soc-dashboard | SOC command-centre prototype — centralized security monitoring for CRPF (SIH) | React · FastAPI · Recharts |
| 💬 bitchat-messenger | Real-time chat messenger | JS · WebSockets |
| 🔑 password-cracker-toolkit | Industrial-grade cracking suite — masks, rules, combinator, sessions | Python · CUDA |
| Project | Contribution | Status |
|---|---|---|
| beeware/toga | Fix AsyncResult.__bool__ so truthiness raises the helpful exception message |
✅ #4632 merged |
| pschanely/CrossHair | Fix keyword-only arg crash, max_iterations=0 NameError, and format_boundargs TypeError |
✅ #501 merged |
| Nayjest/GITO | Fix None crashes in answer(), cmd_answer, and deploy --commit |
✅ #318 merged |
| lissy93/web-check | Typos/grammar/broken-links fixes | ✅ #314 merged |
| OWASP/CheatSheetSeries | Grammar fixes on SQL Injection Prevention Cheat Sheet | ✅ #1549 merged |
| spore-host/spawn | Skip unassociated EIPs annotated aws:* in reconciler |
✅ #554 merged |
| jupyterhub/kubespawner | Fix implicit string concatenation breaking singleuser_lifecycle_hooks deprecation |
⏳ Open #933 |
| beeware/toga | Don't orphan SplitContainer content on invalid assignment | ⏳ PR #4633 |
| lissy93/web-check | Skip public API calls for non-routable IPs; add SECURITY.md | ⏳ PRs #320, #322 |
| scanapi/scanapi | Migrated pytest-freezegun → time-machine | ⏳ PR #1011 |
| sherlock-project/sherlock | DNS/Discord.bio/interpals false positives; --output no-rewrite; per-username counter reset; location-parse crash |
⏳ PRs #3080, #3083, #3084, #3085, #3094 |
| ossf/cve-bin-tool | Performance optimizations — trimmed test lockfiles, lazy DB init | ⏳ PR #5857 |
| xynehq/xyne | Skip empty Docling image chunk descriptions | ⏳ PR #1365 |
| orkestra-cc/orkestra | rustfs backup/restore check-sync fix | ⏳ PR #304 |
| common-workflow-language/cwltool | Fix resolve_local returning CWD-anchored URIs |
⏳ PR #2325 |
| aquasecurity/trivy-checks | Use glob patterns for TLS policies (AWS-0112 + AWS-0126) | ⏳ PRs #606, #607 |
| chubin/wttr.in | Serve localized 404 page for unknown locations | ⏳ PR #1292 |
| beefproject/beef | Fix URL-encoded command passed to shell execution modules | ⏳ PR #3637 |
| andyjmorgan/slipspace-gateway | Clarify Last4 contract for short secrets in redact() |
⏳ PR #562 |
| getaxonflow/axonflow | Complete the examples index in examples/README.md |
⏳ PR #462 |
| qeeqbox/social-analyzer | Fix typos in CLI options and install instructions | ⏸ Closed |
| donnemartin/system-design-primer | Fix typo: "Graphs databases" → "Graph databases" | ⏸ Closed |
| OWASP/Nest | Fix /repositories sitemap lastmod to use latest repository update |
⏸ Closed |
| OWASP/CheatSheetSeries | Add password cracking techniques to Password Storage Cheat Sheet | ⏸ Closed |
| pypsa-meets-earth/pypsa-earth | Exit after writing empty hydro profile to avoid NameError on inflow | ⏸ Closed unmerged |
| garagehq/nightcrawler | Catch loud nmap under sudo prefix during training-data cleanup | ⏸ Closed unmerged |
| fastapi/fastapi | Security best practices documentation | ⏸ Closed |
"Code with intention. Secure with ethics." — Jainam H. Maru
📊 Monthly Profile Views (Total: 962)
| Month | Start | Peak | End | Growth |
|---|---|---|---|---|
| 2026-09 | 889 | 962 | 962 | 73 |
| 2026-08 | 521 | 866 | 866 | 345 |
| 2026-07 | 196 | 503 | 503 | 307 |



