Automated security platform for scanning repositories, containers, IaC, web apps, GitLab, and Kubernetes clusters—with built-in scheduling.
Scan 6 target types with one tool: repositories, Docker images, Terraform/K8s manifests, live web apps, GitLab repos, and Kubernetes clusters. Automate recurring scans with GitHub Actions, GitLab CI, or local cron. Optional analytics (opt-in only), intelligent caching, and automated compliance reporting for OWASP, CWE, NIST CSF, PCI DSS, CIS Controls, and MITRE ATT&CK.
Scan 6 different target types with one unified platform—replace 5+ separate security tools.
Scan repositories, container images, IaC files, web apps, GitLab repos, and Kubernetes clusters in one unified workflow.
Scan Docker/OCI images with Trivy and Syft for vulnerabilities, secrets, misconfigurations, and SBOMs.
Scan Terraform, CloudFormation, and Kubernetes manifests with Checkov and Trivy for policy compliance.
Dynamic security testing of web apps and APIs with OWASP ZAP for runtime vulnerabilities.
Detect verified secrets with TruffleHog, SAST with Semgrep, and comprehensive coverage for repositories and GitLab.
Live K8s cluster security audits with Trivy for vulnerabilities, misconfigurations, and compliance.
Automate recurring security scans with GitHub Actions, GitLab CI, or local cron. Set up once, scan continuously.
Automated compliance reporting for 6 frameworks: OWASP, CWE, NIST CSF, PCI DSS, CIS Controls, MITRE ATT&CK.
Beautiful HTML dashboards, SARIF output, JSON/YAML exports, compliance reports, and Markdown summaries.
We integrate and orchestrate the best open-source security tools so you don't have to.
Choose the approach that best fits your experience level and workflow.
pipx install "jmo-security[reporting]"
Recommended: Beginner-friendly with step-by-step guidance
jmotools wizard
The wizard guides you through profile selection, Docker vs native, target selection, and more!
jmotools wizard --yes # Use smart defaults
Perfect for automation and CI/CD pipelines!
docker pull ghcr.io/jimmy058910/jmo-security:latest
Zero tool installation! All 11+ scanners pre-installed (~500MB)
docker run --rm -v $(pwd):/scan \
ghcr.io/jimmy058910/jmo-security:latest \
scan --repo /scan --results /scan/results \
--profile balanced --human-logs
# macOS
open results/summaries/dashboard.html
# Linux
xdg-open results/summaries/dashboard.html
Interactive dashboard with filters, sorting, and exports!
:latest (~500MB) - All 11+ scanners:slim (~200MB) - 6 core scanners for CI/CD:alpine (~150MB) - Minimal footprintpipx install "jmo-security[reporting]"
Or: pip install --user "jmo-security[reporting]"
git clone https://github.com/jimmy058910/jmo-security-repo.git
cd jmo-security-repo
make tools
Auto-detects Linux/WSL/macOS and installs trufflehog, semgrep, trivy, syft, checkov, hadolint, OWASP ZAP, and more
jmotools balanced --repos-dir ~/repos
Or: make balanced DIR=~/repos
jmo schedule create \
--name nightly-deep \
--cron "0 2 * * *" \
--profile deep \
--repos-dir ~/repos \
--backend github-actions
NEW v0.8.0: Automate recurring scans with 3 backends: GitHub Actions, GitLab CI, local cron
jmo schedule export nightly-deep > .github/workflows/jmo-nightly.yml
For GitLab CI: --backend gitlab-ci > .gitlab-ci.yml
git add .github/workflows/jmo-nightly.yml
git commit -m "Add nightly security scans"
git push
Done! Your repository now scans automatically every night at 2 AM UTC
0 2 * * * (2 AM daily)0 2 * * 0 (Sunday 2 AM)0 */6 * * *jmo schedule listjmo schedule validate {name}jmo schedule install {name} (Linux/macOS)jmotools wizard # Interactive scheduling via wizard!
See how JMo Security Tools fits into your security workflow.
Scan repositories, containers, IaC, and web apps together for complete security posture visibility.
jmo scan \
--repo ./myapp \
--image myapp:latest \
--url https://myapp.com \
--k8s-context prod
Scan container images and web apps in CI/CD with severity-based gating for production deployment.
jmo ci \
--image myapp:latest \
--url https://staging.myapp.com \
--fail-on HIGH
Batch scan all container images from a file for vulnerabilities, secrets, and compliance.
jmo scan \
--images-file registry.txt \
--tools trivy syft \
--profile balanced
Scan production K8s clusters for misconfigurations, vulnerabilities, and compliance violations.
jmo scan \
--k8s-context prod \
--k8s-all-namespaces \
--tools trivy
Pre-deployment validation of Terraform, CloudFormation, and K8s manifests for policy compliance.
jmo scan \
--terraform-state terraform.tfstate \
--tools checkov trivy \
--fail-on MEDIUM
Dynamic security testing of production web apps and APIs for runtime vulnerabilities.
jmo scan \
--url https://example.com \
--api-spec swagger.json \
--tools zap
Set up recurring security scans with GitHub Actions, GitLab CI, or local cron. Zero maintenance continuous security monitoring.
jmo schedule create \
--name weekly-audit \
--cron "0 2 * * 0" \
--profile deep \
--repos-dir ~/repos \
--backend github-actions
Implement defense in depth with our recommended security workflow.
Catch secrets and basic issues before they enter your repository. Fast feedback during development.
Automated scanning on every pull request with severity-based quality gates.
Comprehensive deep-dive scans across all repositories on a regular schedule.
JMo Security Tools started as a Capstone Project and has grown into a comprehensive security suite. As a bootstrapped solo developer, I'm looking for passionate collaborators to help make this tool even better.
Add features, fix bugs, improve performance
Improve guides, add examples, write tutorials
Test on different platforms, report bugs
Add support for new security scanners
Improve dashboards and reports
Share use cases and feature requests
If you find this tool valuable, consider supporting its development. Your contribution helps me dedicate more time to building features and maintaining this open-source project.
Support on Ko-fi
100% of donations go directly to project development and maintenance.
Questions? Ideas? Let's connect!