dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
28개 스캐너와 OPA 정책코드, 이력 저장·추세 분석·규정 자동화를 제공하는 실사용 보안 스캔 플랫폼입니다
Production-ready security scanning platform with 28 scanners, OPA Policy-as-Code, historical storage, trend analysis, and compliance automation across 6 asset types
보안Python · HTMLGitHub @jimmy058910온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
JMo Security Suite - Terminal-first security audit toolkit with many tools, multi-target scanning, & compliance
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
v1.1.1 | A terminal-first security audit toolkit orchestrating 29 scanners with unified CLI, normalized outputs, and interactive HTML dashboard.
JMo Security is an automated security audit framework for scanning code repositories, container images, infrastructure-as-code, web applications, GitLab repos, and Kubernetes clusters. It orchestrates multiple industry-standard security tools with unified reporting and cross-tool deduplication.README 전문 보기 ↗v1.1.1 | A terminal-first security audit toolkit orchestrating 15 scanners with unified CLI, normalized outputs, and interactive HTML dashboard.
JMo Security is an automated security audit framework for scanning code repositories, container images, infrastructure-as-code, web applications, GitLab repos, and Kubernetes clusters. It orchestrates multiple industry-standard security tools with unified reporting and cross-tool deduplication.
Origin Story: Built as my capstone project for Institute of Data x Michigan Tech University's Cybersecurity Bootcamp (graduated October 2025). Now a production-grade security platform.
| Goal | Action |
|---|---|
| Scan now (Docker) | docker run --rm -v $(pwd):/scan ghcr.io/jimmy058910/jmo-security:latest scan --repo /scan |
| Install CLI | pip install jmo-security |
| Guided setup | jmo wizard |
| Full guide | QUICKSTART.md |
# Install
pip install jmo-security
# Scan a repository
jmo scan --repo ./myapp --human-logs
# View results
cat results/summaries/SUMMARY.md
open results/summaries/dashboard.html
docker pull ghcr.io/jimmy058910/jmo-security:latest
docker run --rm -v "$(pwd):/scan" ghcr.io/jimmy058910/jmo-security:latest \
scan --repo /scan --results-dir /scan/results --human-logs
Registries: GHCR (primary —
ghcr.io/jimmy058910/jmo-security), Docker Hub (replicated —jmogaming/jmo-security), and ECR Public (replicated —public.ecr.aws/m2d8u2k1/jmo-security). See docs/DOCKER_README.md for registry selection guidance.
15 scanners, one list. jmo scan considers all of them, and the target's content decides which run:
| Category | Tools |
|---|---|
| Secrets | TruffleHog, Gitleaks (working tree and git history) |
| SAST | Semgrep |
| SBOM | Syft |
| SCA | Trivy, Grype, OSV-Scanner |
| IaC | Checkov, Trivy |
| Kubernetes | Trivy |
| DAST | OWASP ZAP, Nuclei |
| Dockerfile/Shell | Hadolint, ShellCheck |
| GitHub Actions | zizmor |
| Malware | YARA |
| Next.js, Supabase, Firebase | jmo-native (JMo's own checks) |
Hadolint runs only when Dockerfiles are present, ShellCheck only with shell scripts, zizmor only with GitHub Actions workflows, OSV-Scanner only with lockfiles, jmo-native only with JS/TS source, .env files, Firebase rules or Supabase migrations, and ZAP and Nuclei only on --url targets. Narrow the list with --tools, --skip-tools, or a top-level tools: list in jmo.yml.
Policy engine: OPA evaluates policy-as-code in the report phase.
jmo tools installinstalls it and the Docker image carries it, but it is not a scanner.
Tool details: docs/TOOLS.md
All findings normalized to CommonFinding schema v1.2.0:
| Format | File | Use Case |
|---|---|---|
| HTML | dashboard.html | Interactive visual dashboard |
| Markdown | SUMMARY.md | Human-readable overview |
| JSON | findings.json | Automation, scripting |
| SARIF | findings.sarif | GitHub/GitLab Code Scanning |
| YAML | findings.yaml | Alternative data format |
Sample outputs: SAMPLE_OUTPUTS.md
Scan 6 target types in one unified workflow:
# Repository
jmo scan --repo ./myapp
# Container image
jmo scan --image nginx:latest
# IaC files
jmo scan --terraform-state terraform.tfstate
# Live web app
jmo scan --url https://example.com --tools zap
# GitLab repos
jmo scan --gitlab-group myorg --gitlab-token $TOKEN
# Kubernetes cluster
jmo scan --k8s-context prod --k8s-all-namespaces
# Everything at once
jmo scan --repo . --image myapp:latest --url https://myapp.com
Complete guide: docs/USER_GUIDE.md#multi-target-scanning
# Interactive wizard
jmo wizard
# Scan a directory of repositories
jmo scan --repos-dir ~/repos
# CI mode (scan + gate)
jmo ci --repo . --fail-on HIGH
# Tool management (native installs)
jmo tools check # Check tool status
jmo tools install # Install missing tools
jmo tools update --critical-only # Update critical tools
jmo tools outdated # Show outdated tools
# Compare scans
jmo diff baseline/ current/ --format md
# View history
jmo history list
# Analyze trends
jmo trends analyze --days 30
# Generate reports
jmo report ./results
Full CLI reference: docs/USER_GUIDE.md
- name: Security Scan
run: |
docker run --rm -v ${{ github.workspace }}:/scan \
ghcr.io/jimmy058910/jmo-security:latest \
ci --repo /scan --fail-on HIGH
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results/summaries/findings.sarif
security_scan:
image: ghcr.io/jimmy058910/jmo-security:latest
script:
- jmo ci --repo . --fail-on HIGH
artifacts:
reports:
sast: results/summaries/findings.sarif
More examples: docs/examples/
| Document | Purpose |
|---|---|
| docs.jmotools.com | The documentation site: everything under docs/, rendered and searchable |
| QUICKSTART.md | 5-minute installation guide |
| docs/DOCKER_README.md | Docker usage guide |
| docs/USER_GUIDE.md | Comprehensive reference |
| Document | Purpose |
|---|---|
| docs/RESULTS_GUIDE.md | Understanding findings |
| docs/POLICY_AS_CODE.md | OPA security policies |
| docs/SCHEDULE_GUIDE.md | Automated scheduling |
| docs/MCP_SETUP.md | AI remediation setup |
| Document | Purpose |
|---|---|
| docs/RESULTS_GUIDE.md | Results and output formats |
| docs/API_REFERENCE.md | Python API docs |
| docs/KNOWN_LIMITATIONS.md | Deliberate and environment-bound behaviour |
| CHANGELOG.md | Version history |
| ROADMAP.md | Future plans |
| Document | Purpose |
|---|---|
| CONTRIBUTING.md | Development setup |
| TEST.md | Testing guide |
| docs/RELEASE.md | Release process |
Documentation hub: docs/index.md
results/
├── individual-repos/ # Repository scans
├── individual-images/ # Container scans
├── individual-iac/ # IaC scans
├── individual-web/ # DAST scans
├── individual-gitlab/ # GitLab scans
├── individual-k8s/ # K8s scans
└── summaries/ # Unified reports
├── findings.json
├── SUMMARY.md
├── dashboard.html
└── findings.sarif
| Level | Meaning | Action |
|---|---|---|
| CRITICAL | Verified secrets, RCE | Fix immediately |
| HIGH | SQL injection, XSS | Fix within 1 week |
| MEDIUM | Weak crypto, misconfig | Fix within 1 month |
| LOW | Info disclosure | Fix when convenient |
All findings auto-enriched with 6 frameworks:
| Issue | Solution |
|---|---|
| Tools not found | jmo tools check then jmo tools install |
| Tool outdated | jmo tools update |
| Permission denied | chmod +x scripts/**/*.sh |
| Docker issues | docs/DOCKER_README.md#troubleshooting |
| CI failures | CONTRIBUTING.md#ci-troubleshooting |
Contributions welcome! See CONTRIBUTING.md for setup and standards.
git clone https://github.com/jimmy058910/jmo-security-repo.git
cd jmo-security-repo
pip install -e .
make dev-deps
make pre-commit-install
make test
If this toolkit saves you time, consider supporting development:
Dual licensed under MIT OR Apache 2.0.
Author: James Moceri Project: https://jmotools.com | GitHub Last Updated: September 2026 (v1.1.1)