Metasploit Framework is the world's most widely used penetration testing platform, with over 39,000 stars and 14,000 forks. It is a modular Ruby application that provides a comprehensive suite of exploit, auxiliary, post-exploitation, payload, encoder, and nop modules. The core architecture separates low-level networking and protocol handling (Rex library) from higher-level module logic, and includes a Rails-based web service layer offering REST and JSON-RPC APIs for remote control and automation. Key entry points include the console CLI (msfconsole), payload generator (msfvenom), and RPC daemon (msfrpcd). Production data flows involve user interaction via console or API, module execution against targets over protocols like HTTP, SMB, Kerberos, and LDAP, establishment of sessions (shell, meterpreter, etc.), and storage of results (credentials, loot, events) in a PostgreSQL database via ActiveRecord. External dependencies include Ruby 3.3.8, PostgreSQL, and optional tools like nmap, John the Ripper, and mingw-w64 for cross-compilation. The framework is actively maintained with daily commits, extensive CI/CD (GitHub Actions for lint, unit tests, acceptance tests), and a well-structured codebase with over 15,000 files.
CDK (Container Docker/Kubernetes Exploitation Toolkit) is a Go-based CLI penetration testing tool designed for container and Kubernetes environments. It evaluates security posture by running extensive checks against container runtime configurations, K8s API permissions, cloud metadata, and kernel exploit possibilities. It then executes a plethora of exploits covering container escape (cgroups, mount, eBPF, runc/containerd CVEs), K8s credential access (secrets, configmaps, tokens), persistence (backdoor daemonsets, cronjobs, shadow API server), privilege escalation (service account token theft, CVE-2026-31431), and remote control (reverse shells, kubelet exec). The binary bundles stripped-down versions of common tools (kubectl, netcat, vi, etc.) for post-exploitation use. The architecture follows a plugin pattern where exploits register themselves via init(), and evaluation uses a category-based check system. The codebase shows signs of organic growth with some legacy cruft (deprecated auto-escape task, commented-out code, future-dated CVEs) and moderate technical debt (global mutable state, panics, outdated Go idioms), but remains functional and actively maintained for penetration testers and security researchers.