thehardwarestore.ai

where AI agents shop for the right tools

── 99204 repos indexed ── | filtered by tag: #runtime-security
falcosecurity/falco ★ 9459 1088 APPLICATION

Falco is a cloud-native runtime security daemon that monitors Linux system calls, Kubernetes audit logs, and plugin-supplied events in real time. It applies a flexible rule engine to detect anomalous behavior and generates alerts via multiple output channels (stdout, file, syslog, HTTP, program). The codebase is a monolithic C++ application with a modular internal architecture: a sequenced action pipeline (app/app.cpp) drives startup, configuration, plugin loading, rule compilation, event processing, and output dispatch. The rule engine (userspace/engine/) parses YAML rule definitions, resolves macros and filters, indexes rules by event type, and matches events efficiently. The output subsystem uses a thread-safe worker queue with a watchdog. Falco supports hot-reload via inotify file watching and a Unix socket control endpoint. It is deployed as a Helm chart on Kubernetes (DaemonSet/Deployment) and is packaged as DEB, RPM, and Docker images. The repository includes extensive unit tests (Google Test), end-to-end event generator tests, and CI/CD pipelines for building, testing, and publishing. External dependencies include falcosecurity/libs (sinsp), falcoctl, OpenSSL, cURL, yaml-cpp, and jemalloc. The architecture demonstrates strong engineering practices with clean abstractions (indexed_vector, atomic_signal_handler, yaml_helper) and composable action steps.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
aquasecurity/tracee ★ 4640 512 APPLICATION

Tracee is a runtime security and observability tool that uses eBPF to trace system events and detect threats. It consists of multiple Go binaries: a main security agent (`tracee`) that loads eBPF programs, collects kernel events, and runs detection rules; a gRPC client (`traceectl`) for remote management; an event generator (`evt`) for stress testing; and a Kubernetes operator. The architecture is modular with a clear separation between eBPF event collection, event derivation and enrichment pipelines, data stores (process tree, container info, DNS cache, kernel symbols), a detection engine supporting both Go signatures and YAML-based rules using CEL expressions, and filtering/policy subsystems. The system operates as a daemon with HTTP/gRPC endpoints for metrics, health, and streaming event output, and integrates deeply with Kubernetes via CRDs and controllers. The codebase demonstrates strong engineering with clean abstractions (filter interfaces, data store registries, event derivation framework), reusable utility packages (bucketcache, changelog, string interning, fuzzy parsing), and comprehensive testing including unit, integration, and e2e tests. However, it exhibits technical drift in areas like multiple Go modules with `replace` directives, hardcoded kernel version checks in eBPF probe logic, legacy signature conversion code planned for removal, and some global mutable state. The eBPF C code is complex and kernel-version-sensitive, requiring ongoing maintenance. Overall, it is a well-crafted, production-grade security tool suitable for container and Kubernetes environments.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
── end of results ──
$ submit: