Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
bootstrap-admin
command
Package main provides a CLI tool to create the first admin user.
|
Package main provides a CLI tool to create the first admin user. |
|
bootstrap-tenant
command
Package main provides a CLI tool to create the first tenant with an owner user.
|
Package main provides a CLI tool to create the first tenant with an owner user. |
|
encrypt-credentials
command
Command encrypt-credentials encrypts existing plaintext credentials in the database.
|
Command encrypt-credentials encrypts existing plaintext credentials in the database. |
|
gen-relationships
command
Command gen-relationships reads configs/relationship-types.yaml and emits generated source files for both the Go backend and the TypeScript frontend.
|
Command gen-relationships reads configs/relationship-types.yaml and emits generated source files for both the Go backend and the TypeScript frontend. |
|
openctem-admin
command
|
|
|
seed
command
|
|
|
server
command
|
|
|
internal
|
|
|
app
Package app provides adapters for connecting services to sub-packages.
|
Package app provides adapters for connecting services to sub-packages. |
|
app/connector
Package connector defines the common contract for cloud / infra asset-inventory connectors (AWS, GCP, Azure, Kubernetes, git-host).
|
Package connector defines the common contract for cloud / infra asset-inventory connectors (AWS, GCP, Azure, Kubernetes, git-host). |
|
app/ingest
Package ingest provides unified ingestion of assets and findings from various formats.
|
Package ingest provides unified ingestion of assets and findings from various formats. |
|
app/ioc
Package ioc wires Indicators of Compromise to the runtime telemetry stream.
|
Package ioc wires Indicators of Compromise to the runtime telemetry stream. |
|
app/pipeline
Package pipeline provides adapters to bridge app types with pipeline interfaces.
|
Package pipeline provides adapters to bridge app types with pipeline interfaces. |
|
app/reclassify
Package reclassify provides the runtime glue that connects priority-change producers (threat-intel refresh, control CRUD, rule CRUD) to the PriorityReclassifyController's queue/Reclassifier contracts.
|
Package reclassify provides the runtime glue that connects priority-change producers (threat-intel refresh, control CRUD, rule CRUD) to the PriorityReclassifyController's queue/Reclassifier contracts. |
|
app/sla
Package sla is the app-layer for SLA policy & compliance.
|
Package sla is the app-layer for SLA policy & compliance. |
|
app/template
Package validators provides template validation for different scanner types.
|
Package validators provides template validation for different scanner types. |
|
app/validation
Package validation defines the Stage-4 contract: WHAT gets validated, WHAT counts as evidence, WHO gates it — but NOT HOW a technique runs.
|
Package validation defines the Stage-4 contract: WHAT gets validated, WHAT counts as evidence, WHO gates it — but NOT HOW a technique runs. |
|
infra/adapters
Package adapters provides a registry for scanner output adapters.
|
Package adapters provides a registry for scanner output adapters. |
|
infra/adapters/core
Package core provides the core interfaces and base implementations for the OpenCTEM Scanner SDK.
|
Package core provides the core interfaces and base implementations for the OpenCTEM Scanner SDK. |
|
infra/adapters/gitleaks
Package gitleaks provides an adapter to convert Gitleaks JSON output to CTIS.
|
Package gitleaks provides an adapter to convert Gitleaks JSON output to CTIS. |
|
infra/adapters/nuclei
Package nuclei provides an adapter to convert Nuclei JSONL output to CTIS.
|
Package nuclei provides an adapter to convert Nuclei JSONL output to CTIS. |
|
infra/adapters/recon
Package recon provides an adapter that turns recon-scanner output (subdomain enumeration, DNS, port scans, HTTP probes, URL crawling) into a CTIS Report, so recon tools plug into the same ingest path as vulnerability scanners.
|
Package recon provides an adapter that turns recon-scanner output (subdomain enumeration, DNS, port scans, HTTP probes, URL crawling) into a CTIS Report, so recon tools plug into the same ingest path as vulnerability scanners. |
|
infra/adapters/sarif
Package sarif provides an adapter to convert SARIF format to CTIS.
|
Package sarif provides an adapter to convert SARIF format to CTIS. |
|
infra/adapters/semgrep
Package semgrep provides an adapter to convert Semgrep JSON output to CTIS.
|
Package semgrep provides an adapter to convert Semgrep JSON output to CTIS. |
|
infra/adapters/trivy
Package trivy provides an adapter to convert Trivy JSON output to CTIS.
|
Package trivy provides an adapter to convert Trivy JSON output to CTIS. |
|
infra/adapters/vuls
Package vuls provides an adapter to convert Vuls JSON output to CTIS.
|
Package vuls provides an adapter to convert Vuls JSON output to CTIS. |
|
infra/controller
Package controller implements K8s-style reconciliation loop controllers for self-healing background operations.
|
Package controller implements K8s-style reconciliation loop controllers for self-healing background operations. |
|
infra/fetchers
Package fetchers provides template fetching from various sources (Git, S3, HTTP).
|
Package fetchers provides template fetching from various sources (Git, S3, HTTP). |
|
infra/http/handler
Package handler provides HTTP handlers for the API server.
|
Package handler provides HTTP handlers for the API server. |
|
infra/http/middleware
Package middleware provides HTTP middleware for the API server.
|
Package middleware provides HTTP middleware for the API server. |
|
infra/http/routes
Package routes registers all HTTP routes for the API.
|
Package routes registers all HTTP routes for the API. |
|
infra/jira
Package jira provides a REST API client for Jira Cloud/Server.
|
Package jira provides a REST API client for Jira Cloud/Server. |
|
infra/jobs
Package jobs provides background job definitions and handlers using Asynq.
|
Package jobs provides background job definitions and handlers using Asynq. |
|
infra/llm
Package llm provides abstractions for Large Language Model providers.
|
Package llm provides abstractions for Large Language Model providers. |
|
infra/notifier
Package notifier provides clients for sending notifications to various providers.
|
Package notifier provides clients for sending notifications to various providers. |
|
infra/redis
Package redis provides production-ready Redis integration for the OpenCTEM application.
|
Package redis provides production-ready Redis integration for the OpenCTEM application. |
|
infra/scm
Package scm provides client implementations for various SCM (Source Code Management) providers
|
Package scm provides client implementations for various SCM (Source Code Management) providers |
|
infra/storage
Package storage provides FileStorage implementations.
|
Package storage provides FileStorage implementations. |
|
infra/telemetry
Package telemetry exposes Prometheus metrics for every CTEM stage so the loop-closure SLOs in have real numbers to alert on.
|
Package telemetry exposes Prometheus metrics for every CTEM stage so the loop-closure SLOs in have real numbers to alert on. |
|
infra/websocket
Package websocket provides WebSocket infrastructure for real-time communication.
|
Package websocket provides WebSocket infrastructure for real-time communication. |
|
pkg
|
|
|
apierror
Package apierror provides standardized API error handling.
|
Package apierror provides standardized API error handling. |
|
app
Package app defines service interfaces for the application layer.
|
Package app defines service interfaces for the application layer. |
|
crypto
Package crypto provides encryption utilities for sensitive data.
|
Package crypto provides encryption utilities for sensitive data. |
|
domain/admin
Package admin defines the AdminUser domain entity for platform administration.
|
Package admin defines the AdminUser domain entity for platform administration. |
|
domain/agent
Package agent defines the Agent domain entity for scanner/collector/agent management.
|
Package agent defines the Agent domain entity for scanner/collector/agent management. |
|
domain/aitriage
Package aitriage provides domain entities for AI-powered vulnerability triage.
|
Package aitriage provides domain entities for AI-powered vulnerability triage. |
|
domain/assetgroup
Package asset_group provides domain models for asset group management.
|
Package asset_group provides domain models for asset group management. |
|
domain/attachment
Package attachment provides the domain model for file attachments.
|
Package attachment provides the domain model for file attachments. |
|
domain/businessunit
Package businessunit provides domain models for business unit management.
|
Package businessunit provides domain models for business unit management. |
|
domain/capability
Package capability defines the Capability domain entity.
|
Package capability defines the Capability domain entity. |
|
domain/command
Package command defines the Command domain entity for server-controlled agents.
|
Package command defines the Command domain entity for server-controlled agents. |
|
domain/compliance
Package compliance defines the Compliance Framework Mapping domain types.
|
Package compliance defines the Compliance Framework Mapping domain types. |
|
domain/component
Package component provides the component domain model for software dependencies.
|
Package component provides the component domain model for software dependencies. |
|
domain/credential
Package credential provides domain types for credential leak management.
|
Package credential provides domain types for credential leak management. |
|
domain/identityprovider
Package identityprovider provides the domain model for tenant-scoped identity provider configurations (Entra ID, Okta, Google Workspace, etc.).
|
Package identityprovider provides the domain model for tenant-scoped identity provider configurations (Entra ID, Okta, Google Workspace, etc.). |
|
domain/ioc
Package ioc — Indicators of Compromise.
|
Package ioc — Indicators of Compromise. |
|
domain/outbox
Package outbox provides domain entities for the notification outbox system.
|
Package outbox provides domain entities for the notification outbox system. |
|
domain/pentest
Package pentest defines the Pentest Campaign Management domain types.
|
Package pentest defines the Pentest Campaign Management domain types. |
|
domain/permission
Package permission defines granular permissions for resource-based authorization.
|
Package permission defines granular permissions for resource-based authorization. |
|
domain/pipeline
Package pipeline defines the Pipeline domain entities for scan orchestration.
|
Package pipeline defines the Pipeline domain entities for scan orchestration. |
|
domain/relationship
Package relationship provides domain entities for relationship suggestions.
|
Package relationship provides domain entities for relationship suggestions. |
|
domain/remediation
Package remediation provides domain models for remediation campaign management.
|
Package remediation provides domain models for remediation campaign management. |
|
domain/reportschedule
Package reportschedule provides domain models for recurring report generation.
|
Package reportschedule provides domain models for recurring report generation. |
|
domain/role
Package role provides domain entities for role-based access control.
|
Package role provides domain entities for role-based access control. |
|
domain/rule
Package rule provides domain entities for rule management.
|
Package rule provides domain entities for rule management. |
|
domain/scan
Package scan defines the Scan domain entity and types.
|
Package scan defines the Scan domain entity and types. |
|
domain/scannertemplate
Package scanner_template defines the ScannerTemplate domain entity for custom scanner templates.
|
Package scanner_template defines the ScannerTemplate domain entity for custom scanner templates. |
|
domain/scanprofile
Package scanprofile defines the ScanProfile domain entity for reusable scan configurations.
|
Package scanprofile defines the ScanProfile domain entity for reusable scan configurations. |
|
domain/secretstore
Package credential defines the Credential domain entity for secure credential storage.
|
Package credential defines the Credential domain entity for secure credential storage. |
|
domain/shared
Package shared provides shared domain types and utilities.
|
Package shared provides shared domain types and utilities. |
|
domain/simulation
Package simulation provides domain models for Breach and Attack Simulation (BAS).
|
Package simulation provides domain models for Breach and Attack Simulation (BAS). |
|
domain/suppression
Package suppression provides domain logic for platform-controlled false positive management.
|
Package suppression provides domain logic for platform-controlled false positive management. |
|
domain/telemetry
Package telemetry defines the wire-format constants agents and the correlator share when reading runtime_telemetry_events.properties.
|
Package telemetry defines the wire-format constants agents and the correlator share when reading runtime_telemetry_events.properties. |
|
domain/templatesource
Package template_source defines the TemplateSource domain entity for managing external template sources.
|
Package template_source defines the TemplateSource domain entity for managing external template sources. |
|
domain/threatactor
Package threatactor provides domain models for threat actor intelligence.
|
Package threatactor provides domain models for threat actor intelligence. |
|
domain/threatintel
Package threatintel provides the threat intelligence domain model.
|
Package threatintel provides the threat intelligence domain model. |
|
domain/tool
Package tool defines the Tool domain entity for the tool registry.
|
Package tool defines the Tool domain entity for the tool registry. |
|
domain/toolcategory
Package toolcategory defines the ToolCategory domain entity.
|
Package toolcategory defines the ToolCategory domain entity. |
|
domain/user
Package user provides the user domain model.
|
Package user provides the user domain model. |
|
domain/vulnerability
Package vulnerability provides the vulnerability domain model.
|
Package vulnerability provides the vulnerability domain model. |
|
domain/workflow
Package workflow defines the Workflow domain entities for automation orchestration.
|
Package workflow defines the Workflow domain entities for automation orchestration. |
|
email
Package email provides email sending functionality using SMTP.
|
Package email provides email sending functionality using SMTP. |
|
httpsec
Package httpsec provides SSRF-safe URL validation and HTTP client construction.
|
Package httpsec provides SSRF-safe URL validation and HTTP client construction. |
|
jwt
Package jwt provides JWT token generation and validation utilities.
|
Package jwt provides JWT token generation and validation utilities. |
|
keycloak
Package keycloak provides Keycloak JWT token validation and claims extraction.
|
Package keycloak provides Keycloak JWT token validation and claims extraction. |
|
migrations
Package migrations provides edition-aware database migration loading.
|
Package migrations provides edition-aware database migration loading. |
|
pagination
Package pagination provides pagination utilities.
|
Package pagination provides pagination utilities. |
|
parsers/sarif
Package sarif provides a comprehensive parser and utilities for SARIF (Static Analysis Results Interchange Format) version 2.1.0.
|
Package sarif provides a comprehensive parser and utilities for SARIF (Static Analysis Results Interchange Format) version 2.1.0. |
|
password
Package password provides secure password hashing and validation.
|
Package password provides secure password hashing and validation. |
|
report
Package report provides HTML report generation for pentest campaigns.
|
Package report provides HTML report generation for pentest campaigns. |
|
validator
Package validator provides struct validation utilities with custom validators.
|
Package validator provides struct validation utilities with custom validators. |
|
tools
|
|
|
lint/getbyid
Package getbyid implements a go/analysis pass that flags repository methods named GetByID / DeleteByID / UpdateByID that do NOT accept a tenantID parameter.
|
Package getbyid implements a go/analysis pass that flags repository methods named GetByID / DeleteByID / UpdateByID that do NOT accept a tenantID parameter. |
|
lint/getbyid/cmd
command
Command getbyidtenant runs the F-310 tenant-scope analyzer as a single-checker binary.
|
Command getbyidtenant runs the F-310 tenant-scope analyzer as a single-checker binary. |
|
lint/routeperm
Package routeperm implements a go/analysis pass that flags HTTP write routes (POST/PUT/PATCH/DELETE) registered in the routes package without a middleware.Require* wrapper.
|
Package routeperm implements a go/analysis pass that flags HTTP write routes (POST/PUT/PATCH/DELETE) registered in the routes package without a middleware.Require* wrapper. |
|
lint/routeperm/cmd
command
Command routepermcheck runs the route-permission analyzer as a single-checker binary.
|
Command routepermcheck runs the route-permission analyzer as a single-checker binary. |
Click to show internal directories.
Click to hide internal directories.