thehardwarestore.ai

where AI agents shop for the right tools

── 99763 repos indexed ── | filtered by tag: security
NetDevPack/Security.Jwt ★ 297 48 APPLICATION

This repository is a .NET library for JWT (JSON Web Token) key management that provides automatic generation and rotation of cryptographic keys for JWT signing (JWS) and encryption (JWE). It features a modular architecture with a core library handling key generation/storage, multiple storage providers (in-memory, file system, Entity Framework Core), and framework-specific integrations for ASP.NET Core and IdentityServer4. The library exposes a JWKS endpoint for sharing public keys and integrates with ASP.NET Core authentication systems to validate tokens using the managed keys. Key entry points include the AddJwksManager() service registration method, UseJwksDiscovery() middleware for the JWKS endpoint, and the IJwtService interface for token generation and validation. The primary data flow involves generating cryptographic keys, storing them via pluggable storage providers, retrieving current keys for token operations, and exposing public keys through the JWKS endpoint. The library depends on System.IdentityModel.Tokens.Jwt for JWT handling, Microsoft.AspNetCore.DataProtection for key protection in the default storage implementation, and various Microsoft.Extensions packages for caching, options, and logging.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
spiffe/go-spiffe ★ 211 91 APPLICATION

This is a Go library implementing the SPIFFE Workload API for workload identity management and secure communication. It provides client libraries to fetch X.509-SVIDs, JWT-SVIDs, and trust bundles from a Workload API agent (typically SPIRE). The library offers high-level TLS dial/listen functions (spiffetls) with various authentication modes (mTLS, TLS with JWT), supporting both Unix sockets and Windows named pipes. Core packages include spiffeid (SPIFFE ID parsing and matching), svid (SVID parsing and validation), bundle (trust bundle management), workloadapi (Workload API client and credential source watchers), and federation (remote trust domain bundle fetching). The architecture is modular with clear interfaces (Source, Authorizer, Logger, Backoff) that allow swapping backends. The code is well-tested with extensive unit tests and integration test helpers. Experimental features include WIT-SVIDs and a Broker API. This library is a critical component for any workload that needs SPIFFE-based identity in a zero-trust environment.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 6 reusable components found
GyulyVGC/sniffnet ★ 41345 1954 APPLICATION

Sniffnet is a cross-platform desktop GUI application for real-time network traffic monitoring and analysis, written in Rust using the Iced framework. It captures packets via pcap (live or from PCAP files) and also supports IPFIX flow collection over UDP. The application parses Ethernet, IP, TCP/UDP, ICMP, IGMP, ARP, and VLAN headers using a dedicated packet-parser library. It enriches captured traffic with geolocation (MaxMind GeoLite2 and IPinfo MMDB databases), ASN lookups, service identification (from a port-to-service map derived from nmap-services), and local process identification (via the listeners crate). The GUI provides multiple pages: an overview with live traffic charts and donut charts, an inspect page with a filterable and sortable connection table, a notifications page for alerts (thresholds, favorites, IP blacklists), and settings pages for themes, filters, and export. The application supports 25 languages, custom themes, and thumbnail mode for minimal monitoring. It is packaged for Linux (deb, rpm, AppImage), macOS (dmg), and Windows (msi), with CI/CD pipelines for cross-compilation and code signing.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
imthenachoman/How-To-Secure-A-Linux-Server ★ 31797 2147 APPLICATION

This repository is a documentation/runbook, not a software application. It teaches how to secure a Linux server through a long, well-organized markdown guide aimed primarily at Debian-based systems. The content covers SSH key authentication and sshd_config hardening, PAM-based 2FA/MFA and password quality, UFW firewall configuration including Docker interactions, intrusion detection/prevention with fail2ban, CrowdSec, and PSAD, and auditing tools such as AIDE, ClamAV, rkhunter, chkrootkit, logwatch, Lynis, and OSSEC. It also includes a separate kernel sysctl hardening reference table and a short nginx security headers guide. In production, the repository itself does not run anything; its value is the curated collection of copy-paste-ready shell commands, configuration snippets, and operational guidance that a human administrator applies to a server. The architecture is a set of static markdown files with a consistent section pattern (Why, How It Works, Goals, Steps, References), backup-before-edit conventions, and validation steps after changes. The main README is effectively an evolving security runbook with a detailed table of contents, while the auxiliary markdown files serve as standalone reference assets. Recent updates show active maintenance: the guide has been revised for Debian 13 systemd-timesyncd, OpenSSH 9.1 RSA size enforcement, Docker and UFW bypass caveats, and CrowdSec installation. However, some older recommendations remain dated—for example, certain sysctl keys in the hardening table are obsolete or no longer present in modern kernels, and several linked references are from 2018-2019. Because this is a documentation repository rather than executable code, quality assessment focuses on information architecture, practical utility, and reusability rather than software engineering structure.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
OpenCTI-Platform/opencti ★ 10134 1479 APPLICATION

OpenCTI is an open-source cyber threat intelligence platform that ingests, manages, and analyzes threat data using the STIX 2.0/2.1 standard. The system is a monorepo containing a Node.js/TypeScript GraphQL backend (opencti-graphql), a React/Relay frontend (opencti-front), a Python client library (client-python), and a Python worker service (opencti-worker). The backend uses Elasticsearch/OpenSearch as its primary data store, Redis for caching and pub/sub, RabbitMQ for connector queues, and PostgreSQL for migrations. The frontend provides full CRUD UIs, dashboards, workspaces, playbook automation, and workflow management. Key entry points include the GraphQL API (resolvers per entity type), the frontend React app with Relay data fetching, and the Python client for programmatic access. Data flows involve ingestion via CSV/JSON/TAXII/RSS feeds, manual creation, connector enrichment, and inference rules that automatically derive relationships. External dependencies include Elasticsearch, Redis, RabbitMQ, MinIO/S3 for file storage, and optional AI services. The platform supports enterprise features (playbooks, PIR, XTM Hub) gated by license checks.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
OWASP/wstg ★ 10015 1706 APPLICATION

The OWASP Web Security Testing Guide (WSTG) is a comprehensive, community-maintained documentation project defining standard test cases for web application security assessments. It is primarily a structured knowledge base written in Markdown, organized by testing categories including Information Gathering, Authentication, Injection, and API Testing. The repository also serves as the source for multiple derived artifacts: a Jekyll static website (wstg.owasp.org), downloadable PDF/EPUB ebooks via a Pandoc+Typst pipeline, and machine-readable test checklists in JSON, XLSX, and Markdown formats. The build infrastructure includes Python scripts for site generation and navigation, GitHub Actions for CI/CD (linting, link checking, deployment), and a versioned release process that supports multiple channels (latest, stable, past versions). Although the primary content is documentation, the repository functions as a publication platform with significant automation and is actively maintained by a community of contributors. It is not a software application in the traditional sense, but the build tooling and CI/CD pipelines qualify it as an application-focused project with strong data engineering characteristics in its checklist generation and structured content management.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
lc/gau ★ 5124 525 APPLICATION

`gau` (getallurls) is a high-performance Go CLI tool that aggregates known URLs for a given domain from multiple public web archives: Wayback Machine, CommonCrawl, AlienVault OTX, and URLScan. It is designed primarily for security researchers and penetration testers to enumerate URL endpoints, supporting concurrent fetches, filtering by status code/mime-type/date, blacklisting extensions, and deduplication of parameters. The architecture follows a clean provider interface pattern, with each data source implemented as a separate package satisfying a common `Provider` interface. The runner orchestrates a worker pool for concurrent processing, and output is handled via configurable JSON or plain text writers. The codebase is well-structured, testable in principle (though no tests are present in the visible tree), and the dependency graph is minimal and modern, relying on `fasthttp` for efficient HTTP requests and `viper` for configuration management.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
moul/sshportal ★ 1940 141 APPLICATION

sshportal is a transparent SSH bastion/jump host implemented in Go. It allows users to connect to remote hosts through a single point of entry, managing users, hosts, keys, and ACLs. The system features session logging, an interactive administrative shell, support for multi-hop connections, and various SSH features (port forwarding, X11, etc.). It uses a database (SQLite3 by default, MySQL/PostgreSQL supported) for persistence and provides a health check endpoint. The architecture is monolithic with clear separation of concerns: core bastion logic in pkg/bastion/, database models in pkg/dbmodels/, cryptographic utilities in pkg/crypto/, and utilities in pkg/utils/. The code demonstrates good use of interfaces and modular design, though some internal coupling exists between components.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
christiaangoossens/hass-oidc-auth ★ 1077 56 APPLICATION

This repository is a Home Assistant custom component that implements a full OpenID Connect (OIDC) Client/Relying Party for authentication. It allows Home Assistant users to log in via an external OIDC Identity Provider (IdP) such as Authentik, Authelia, Keycloak, or any standard OIDC-compliant server. The integration registers a custom auth provider within Home Assistant's auth system, intercepts the default login flow to redirect users to the OIDC provider, and handles the full authorization code flow including PKCE (RFC 7636), ID token validation with configurable signing algorithms, and userinfo retrieval. It supports both public and confidential clients, device code flow for mobile app login, automatic user linking, role-based access mapping from IdP groups, and a multi-step UI configuration wizard for easy setup.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
elesiuta/picosnitch ★ 1000 43 APPLICATION

picosnitch is a Linux daemon for per-executable network bandwidth monitoring using eBPF (CO-RE) and fanotify. It tracks which executables make network connections, records bytes sent/received, timestamps, and metadata (SHA256 hashes, optional VirusTotal and GeoIP lookups). The system provides real-time and historical views via multiple interfaces: a curses TUI (both live top and historical browser), a web UI, and a UNIX socket live feed. The daemon uses a multiprocess architecture with privilege-separated subprocesses for monitoring, event processing, database writes, notifications, and external API queries. It supports local SQLite storage and optional remote SQL (MariaDB/MySQL/PostgreSQL) for tamper-evident logging. The repository also includes a comprehensive comparative benchmark suite (bench/) that tests picosnitch against nine other network monitors across 24 scenarios, with a reusable ToolAdapter framework for running controlled experiments.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
rappasoft/laravel-authentication-log ★ 998 115 APPLICATION

This is a Laravel package/library that provides comprehensive authentication logging and security monitoring capabilities. The package hooks into Laravel's authentication events (Login, Failed, Logout, OtherDeviceLogout) to track user authentication activity including IP addresses, user agents, device fingerprints, and location data. It provides session management (view/revoke sessions), device trust management, suspicious activity detection (multiple failed logins, rapid location changes, unusual login times), notifications via email/Slack/SMS, webhook support, and export functionality (CSV/JSON). The architecture follows Laravel conventions with event listeners, a trait for user models, query scopes, and CLI commands. The codebase demonstrates solid engineering practices with comprehensive test coverage (76 tests), proper type hints, modern PHP 8.2+ features, and clean separation of concerns.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ivpn/desktop-app ★ 527 64 APPLICATION

This repository contains the official IVPN desktop client, a multi-platform VPN application supporting Windows, macOS, and Linux. It is composed of three main components: a privileged Go daemon that manages VPN connections (OpenVPN, WireGuard, V2Ray), firewall (kill switch), DNS (including DNSCrypt-proxy for DoH), split tunneling, and WiFi trusted networks; a Go CLI for command-line control; and an Electron/Vue.js UI for graphical interaction. The daemon and clients communicate over a local TCP JSON protocol with authentication and event push. The codebase demonstrates strong engineering practices: platform abstraction via build tags, a custom ICMP ping library, a reusable logger, a type-safe IPC client library documented for third-party integration, and Windows WFP wrappers for firewall and split tunneling. Build scripts and native projects (Windows kernel driver, macOS helpers) handle cross-platform packaging and signing.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
trussed-dev/trussed ★ 505 38 APPLICATION

Trussed is a no_std Rust library and framework for building cryptographic firmware on microcontrollers. It implements a client-service syscall architecture: applications use strongly-typed client traits such as CryptoClient, FilesystemClient, and CertificateClient to send Request enums through an interchange channel; Service::process dispatches requests to pluggable mechanism implementations or custom backends, persists keys and files across three littlefs2 filesystems (internal, external, volatile), and returns Reply enums. It is not a standalone application or CLI but an embedded component used by firmware runners such as Solo 2 and Nitrokey 3.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
prosopo/captcha ★ 300 10 APPLICATION

Prosopo is a privacy-focused, self-hosted CAPTCHA alternative that provides multiple challenge types—image selection, puzzle (image jigsaw), proof-of-work, and frictionless (behavioral bot detection). The system comprises an Express-based provider API (with MongoDB and Redis for persistence and caching), a CLI for administrative tasks, client-side embeddable widgets (vanilla JS bundle, React/Angular/Vue/Svelte wrappers), and a suite of supporting libraries for cryptography, locale, datasets, and native Rust modules (JA4 TLS fingerprinting, Merkle tree acceleration, puzzle rendering). Bot detection is multi-layered: client-side behavioral data (mouse/keyboard/touch events, SIMD readings) is collected and server-side scored, combined with JA4 TLS fingerprint analysis, IP reputation (ipapi.is + MaxMind), DNS asymmetry detection, spam email heuristics, and custom decision machines per site key. The architecture is a monorepo with ~70 workspaces, leveraging Vite for bundling, Vitest for unit/integration tests, and Cypress for E2E visual regression testing. The provider enforces access policies (allow/block/restrict) via a Redis-backed rules engine and maintains usage counters for rate limiting. Asset sealing (AES-256-GCM) protects image CDN URLs, and puzzle difficulty is sampled with a CSPRNG-stratified ladder to frustrate solver calibration.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
telekom-security/tpotce ★ 9577 1396 APPLICATION

T-Pot Community Edition (tpotce) is an all-in-one honeypot platform that orchestrates 20+ honeypots (e.g., cowrie, dionaea, conpot, heralding) alongside network security monitoring tools (p0f, Suricata, fatt) and the Elastic Stack (Elasticsearch, Logstash, Kibana) for centralized log storage, analysis, and real-time attack visualization. The system is deployed via Docker Compose with an Ansible-based installer supporting multiple Linux distributions. It offers several deployment flavors (standard, sensor, mini, LLM, tarpit, mobile) and supports a distributed Hive/Sensor architecture where remote sensors forward encrypted logs to a central Hive over HTTPS. Architecturally, each honeypot runs in an isolated container with read-only filesystems, non-root user, and dedicated networks. The ELK stack processes all telemetry: Logstash ingests JSON logs from persistent volumes, Elasticsearch indexes them, and Kibana provides dashboards and an attack map. A custom p0f (passive OS fingerprinting) fork is bundled and compiled from C source, demonstrating deep network-level analysis. The update and backup system (`update.sh`) is a robust, self-contained script that handles version pinning, configuration backups, Elasticsearch state exports, and image rollouts. The codebase includes a reusable test harness (`docker/_tests/lib/common.sh`) for validating individual honeypot containers with protocol-specific probes.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
firezone/firezone ★ 9115 463 APPLICATION

Firezone is a zero-trust network access platform providing secure remote access through VPN-like tunnels. The production system consists of a cloud-based management portal (Elixir/Phoenix), data-plane components (Rust gateways and relays), and native clients for macOS/iOS, Android, Windows, and Linux. The portal manages multi-tenant accounts, identity (OIDC, SAML, email OTP, X.509), access policies, device posture, and logs. It exposes a REST API (PortalAPI) for CRUD operations and WebSocket channels for real-time client/gateway connectivity. The Rust core (connlib) handles ICE/STUN/TURN connectivity, WireGuard tunnels, and eBPF-accelerated packet routing. PostgreSQL is used for persistence with logical replication for change data capture, Oban for background job processing, and Redis for caching/presence. External dependencies include identity providers (Entra, Okta, Google Workspace), device management systems (Intune, Defender, SentinelOne, etc.), log sinks (Splunk, Datadog, Elastic, S3), and billing (Stripe). The architecture separates the web admin interface (PortalWeb), REST API (PortalAPI), and internal ops (PortalOps) into distinct endpoints. Data-plane components (gateway, relay) communicate via WebSockets with the API to receive policy updates. Clients connect to relays using ICE/STUN/TURN. The system uses Phoenix PubSub for real-time updates and Postgres logical replication to propagate changes to connected clients and gateways. Key entry points: PortalWeb.Endpoint (admin UI), PortalAPI.Endpoint (REST/WebSocket for clients and gateways), PortalOps.Endpoint (ops dashboard). Rust binaries: firezone-gateway, firezone-relay, firezone-headless-client, firezone-gui-client. Mobile apps: Firezone iOS/macOS (Swift), Firezone Android (Kotlin).

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
apostrophecms/apostrophe ★ 4646 652 APPLICATION

ApostropheCMS is a full-stack content management system built with Node.js, MongoDB, and Vue.js. It provides a modular architecture with extendable content types (pages, pieces, widgets), a rich admin UI with in-context editing, headless API support via Astro integration, and extensive internationalization and permission systems. The monorepo contains the core CMS package, CLI tools, database adapters, file storage abstraction, AI content generation helpers, import/export utilities, and many first-party modules for SEO, forms, events, and more. The codebase is large and well-tested, with a strong emphasis on security (prototype pollution guards, permission regression tests) and developer experience (scaffolding, OpenAPI generation). However, it shows signs of technical drift in some legacy packages and a complex build pipeline.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 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
cossacklabs/themis ★ 1974 159 APPLICATION

Themis is a cross-platform cryptographic library developed by Cossack Labs, providing high-level security primitives such as Secure Cell (symmetric encryption with three modes: Seal, Token Protect, Context Imprint), Secure Message (asymmetric encryption and digital signing), Secure Session (mutual authentication and key exchange), Secure Comparator (zero-knowledge password comparison), and key generation (EC, RSA, symmetric). The core is implemented in C with a cryptographic engine abstraction layer (Soter) that supports OpenSSL, BoringSSL, and a custom Ed25519 implementation. The library exposes consistent APIs across 13+ language wrappers including Python, Go, Rust, Java, Swift, Objective-C, JavaScript (Node.js and WebAssembly), PHP, Ruby, C++, and React Native. The codebase is well-structured with extensive unit, integration, and fuzz testing, CI/CD pipelines for each wrapper, and cross-language compatibility tests. While the repository has deprecated older APIs and maintains multiple backends, it remains actively maintained with regular releases, security patches, and community engagement.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
BcryptNet/bcrypt.net ★ 999 114 APPLICATION

This repository is a high-quality .NET library implementing the OpenBSD BCrypt password hashing algorithm. It serves as a security-critical dependency for authentication systems, providing robust password hashing, verification, and salt generation. The codebase is multi-targeted, supporting legacy .NET Framework versions (4.6.2+) alongside modern .NET standards (2.0/2.1) and recent runtimes (.NET 8.0, 10.0). It includes specialized extensions for ASP.NET Core Identity, allowing seamless integration into existing authentication pipelines without custom implementation. The architecture prioritizes security through constant-time comparisons, secure memory handling, and thread-safe key schedule management using ThreadLocal storage. The library includes extensive test vectors from the original Java reference implementation to ensure algorithmic correctness across different BCrypt revisions (2a, 2b, 2y, 2x). While the core library is production-ready and widely adopted, the repository exhibits some hygiene issues, including the presence of a signing key file in the root directory and a 'dists/' folder containing legacy binary artifacts, which suggests a mix of automated and manual release processes. For engineers evaluating reuse, this library offers a reliable, well-tested foundation for password security. The Identity extension component is particularly valuable for .NET developers needing to replace default password hashers. However, consumers should be aware of the technical drift regarding legacy framework support and the potential security implications of the repository's artifact management practices.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: