pkg/

directory
v0.33.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2026 License: GPL-3.0

Directories

Path Synopsis
Package adapt holds the sensor's adaptive controllers and the one table of their bounds (RFC-074 in openctemio/openctem api/docs/rfcs, RFC-074-adaptive-sensor-control.md).
Package adapt holds the sensor's adaptive controllers and the one table of their bounds (RFC-074 in openctemio/openctem api/docs/rfcs, RFC-074-adaptive-sensor-control.md).
Package audit provides structured audit logging for sensor operations.
Package audit provides structured audit logging for sensor operations.
Package blobsig verifies a sigstore (cosign keyless) signature of a downloaded file, offline: the certificate chains to the Sigstore public good Fulcio roots, the signature is in the Rekor transparency log (the inclusion proof and signed timestamp travel in the bundle), and the certificate names exactly the signer the caller expects (OIDC issuer and subject, for a GitHub workflow its file and ref).
Package blobsig verifies a sigstore (cosign keyless) signature of a downloaded file, offline: the certificate chains to the Sigstore public good Fulcio roots, the signature is in the Rekor transparency log (the inclusion proof and signed timestamp travel in the bundle), and the certificate names exactly the signer the caller expects (OIDC issuer and subject, for a GitHub workflow its file and ref).
Package chunk splits a large CTIS report into protocol v2 segments (api RFC-026 §3.5): SplitSegments returns complete CTIS documents, each with the report's tool and metadata and the assets its findings reference, within the platform's per-segment limits.
Package chunk splits a large CTIS report into protocol v2 segments (api RFC-026 §3.5): SplitSegments returns complete CTIS documents, each with the report's tool and metadata and the assets its findings reference, within the platform's per-segment limits.
Package client provides the OpenCTEM API client.
Package client provides the OpenCTEM API client.
Package compress provides compression utilities for large payloads.
Package compress provides compression utilities for large payloads.
Package conformance is the sensor protocol conformance suite (RFC-026 WP-S3, RFC-023 D23), starting with results ingest.
Package conformance is the sensor protocol conformance suite (RFC-026 WP-S3, RFC-023 D23), starting with results ingest.
Package connectors provides base implementations and utilities for external system connectors.
Package connectors provides base implementations and utilities for external system connectors.
github
Package github provides a GitHub connector for the OpenCTEM SDK.
Package github provides a GitHub connector for the OpenCTEM SDK.
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.
Package credentials provides credential management for the OpenCTEM SDK.
Package credentials provides credential management for the OpenCTEM SDK.
Package ctis is the SDK's name for the CTIS data model (github.com/openctemio/ctis).
Package ctis is the SDK's name for the CTIS data model (github.com/openctemio/ctis).
internal/genalias command
Command genalias writes pkg/ctis/zz_generated_aliases.go: one type alias, constant, variable or wrapper function in package ctis for every exported identifier of the root package of github.com/openctemio/ctis, at the version go.mod requires.
Command genalias writes pkg/ctis/zz_generated_aliases.go: one type alias, constant, variable or wrapper function in package ctis for every exported identifier of the root package of github.com/openctemio/ctis, at the version go.mod requires.
enrichers
epss
Package epss provides EPSS (Exploit Prediction Scoring System) enrichment for CVEs.
Package epss provides EPSS (Exploit Prediction Scoring System) enrichment for CVEs.
kev
Package kev provides KEV (Known Exploited Vulnerabilities) enrichment.
Package kev provides KEV (Known Exploited Vulnerabilities) enrichment.
Package errors provides custom error types for the OpenCTEM SDK.
Package errors provides custom error types for the OpenCTEM SDK.
Package gitenv provides auto-detection and abstraction for CI/CD environments.
Package gitenv provides auto-detection and abstraction for CI/CD environments.
Package health provides health check endpoints for the OpenCTEM SDK.
Package health provides health check endpoints for the OpenCTEM SDK.
Package httpsec provides SSRF-safe URL validation and HTTP client construction for the OpenCTEM SDK.
Package httpsec provides SSRF-safe URL validation and HTTP client construction for the OpenCTEM SDK.
Package importtool is the file importer as a parser-class tool of the tool contract (pkg/tool): it converts files other security tools export (Nessus v2 XML, Qualys detection XML with its KnowledgeBase, DefectDojo Generic Findings JSON, CycloneDX, SPDX, osv-scanner results, CSAF and OpenVEX) into CTIS with the ctis importer package, so the conversion runs in the tool sandbox of a sensor instead of on the platform.
Package importtool is the file importer as a parser-class tool of the tool contract (pkg/tool): it converts files other security tools export (Nessus v2 XML, Qualys detection XML with its KnowledgeBase, DefectDojo Generic Findings JSON, CycloneDX, SPDX, osv-scanner results, CSAF and OpenVEX) into CTIS with the ctis importer package, so the conversion runs in the tool sandbox of a sensor instead of on the platform.
internal
absname
Package absname makes a target name absolute (a trailing dot) for the SDK's own lookups.
Package absname makes a target name absolute (a trailing dot) for the SDK's own lookups.
assetctx
Package assetctx gives the SDK's converters the asset their findings belong to.
Package assetctx gives the SDK's converters the asset their findings belong to.
cirepo
Package cirepo reads the repository a CI job is building from the CI environment (GitHub Actions, GitLab CI), for converters that must name the repository their findings belong to when the caller did not.
Package cirepo reads the repository a CI job is building from the CI environment (GitHub Actions, GitLab CI), for converters that must name the repository their findings belong to when the caller did not.
Package jobsig verifies signed jobs on the sensor (api docs/rfcs/RFC-040-platform-sensor-mutual-distrust.md §5.6; wire format in api docs/architecture/job-signing.md).
Package jobsig verifies signed jobs on the sensor (api docs/rfcs/RFC-040-platform-sensor-mutual-distrust.md §5.6; wire format in api docs/architecture/job-signing.md).
Package metrics provides metrics collection and reporting for the OpenCTEM SDK.
Package metrics provides metrics collection and reporting for the OpenCTEM SDK.
Package mocks provides mock implementations for testing.
Package mocks provides mock implementations for testing.
Package netctx is a sensor's network self-description: what the host owner declares (site, routes it reaches, DNS suffixes, internet mode), what the SDK detects on the host (interfaces, routes, resolvers, the egress path to the platform) and a fingerprint that changes when the sensor moves.
Package netctx is a sensor's network self-description: what the host owner declares (site, routes it reaches, DNS suffixes, internet mode), what the SDK detects on the host (interfaces, routes, resolvers, the egress path to the platform) and a fingerprint that changes when the sensor moves.
Package options provides functional options pattern for SDK configuration.
Package options provides functional options pattern for SDK configuration.
Package outbox is the sensor's durable, write-ahead queue of results waiting for the platform.
Package outbox is the sensor's durable, write-ahead queue of results waiting for the platform.
Package pipeline provides async pipeline for separating scan and upload.
Package pipeline provides async pipeline for separating scan and upload.
Package platform provides components for running sensors in platform mode.
Package platform provides components for running sensors in platform mode.
politeness module
providers
github
Package github provides a GitHub provider for the OpenCTEM SDK.
Package github provides a GitHub provider for the OpenCTEM SDK.
Package reach tells, per target, whether this sensor got a path to it, and summarizes it on the job result so the platform can tell "nothing found" from "not reached" and route the next job to a sensor that can reach the target (RFC-089 in openctemio/openctem, api/docs/rfcs).
Package reach tells, per target, whether this sensor got a path to it, and summarizes it on the job result so the platform can tell "nothing found" from "not reached" and route the next job to a sensor that can reach the target (RFC-089 in openctemio/openctem, api/docs/rfcs).
Package resource provides system resource monitoring and control.
Package resource provides system resource monitoring and control.
Package retry provides persistent retry queue functionality for failed API operations.
Package retry provides persistent retry queue functionality for failed API operations.
Package scopelimit is the port, protocol and path limits of a job's targets (api docs/rfcs/RFC-065-bug-bounty-programs.md §16.8): a target the organization's scope covers only through a port-limited entry ("api.example.com:8443/tcp") or a path-limited URL entry ("https://example.com/api/") may be scanned only on those ports and under that path.
Package scopelimit is the port, protocol and path limits of a job's targets (api docs/rfcs/RFC-065-bug-bounty-programs.md §16.8): a target the organization's scope covers only through a port-limited entry ("api.example.com:8443/tcp") or a path-limited URL entry ("https://example.com/api/") may be scanned only on those ports and under that path.
Package sdk identifies this SDK: its name and release version.
Package sdk identifies this SDK: its name and release version.
Package sensorkit is everything a sensor needs to work with the OpenCTEM platform, in one call: a sensor implements its tools, the kit runs the rest.
Package sensorkit is everything a sensor needs to work with the OpenCTEM platform, in one call: a sensor implements its tools, the kit runs the rest.
contentcache
Package contentcache is the sensor's cache of content packs (api docs/rfcs/RFC-061-content-packs.md §3.4): immutable archives of templates, rules and wordlists, addressed by their sha256 digest and signed by the platform.
Package contentcache is the sensor's cache of content packs (api docs/rfcs/RFC-061-content-packs.md §3.4): immutable archives of templates, rules and wordlists, addressed by their sha256 digest and signed by the platform.
egress
Package egress is a task's way out to the network: a forwarder that every connection of a confined tool goes through (RFC-060 in openctemio/openctem api/docs/rfcs; the forwarder RFC-034 designs for proxied zones is the same one).
Package egress is a task's way out to the network: a forwarder that every connection of a confined tool goes through (RFC-060 in openctemio/openctem api/docs/rfcs; the forwarder RFC-034 designs for proxied zones is the same one).
executor
Package executor runs one task (one tool invocation) for a sensor, in a sandbox.
Package executor runs one task (one tool invocation) for a sensor, in a sandbox.
identity
Package identity is a key-bound sensor's identity on disk and the interactive pairing that creates it (api RFC-052): the sensor makes its own Ed25519 key, pairs with the platform (an administrator compares the short authentication string and approves), and from then on signs every request with that key.
Package identity is a key-bound sensor's identity on disk and the interactive pairing that creates it (api RFC-052): the sensor makes its own Ed25519 key, pairs with the platform (an administrator compares the short authentication string and approves), and from then on signs every request with that key.
settings
Package settings is the sensor settings registry: every setting a sensor reads, declared once with its name, type, whether it is required, its default, whether it is a secret, a description, a docs link and a validation.
Package settings is the sensor settings registry: every setting a sensor reads, declared once with its name, type, whether it is required, its default, whether it is a secret, a description, a docs link and a validation.
toolhost
Package toolhost is the runtime side of the tool contract: it runs one task of a tool (pkg/tool) out of process, inside the Executor sandbox (pkg/sensorkit/executor), and turns what the tool reports into a checked, stamped CTIS report.
Package toolhost is the runtime side of the tool contract: it runs one task of a tool (pkg/tool) out of process, inside the Executor sandbox (pkg/sensorkit/executor), and turns what the tool reports into a checked, stamped CTIS report.
sensorproto
legacyv1
Package legacyv1 is the only place the SDK still spells the pre-sensor "agent" vocabulary (RFC-023 §9.5).
Package legacyv1 is the only place the SDK still spells the pre-sensor "agent" vocabulary (RFC-023 §9.5).
pairing
Package pairing is the interactive sensor pairing protocol (api RFC-052): a sensor that has only the platform URL creates its own Ed25519 key, asks the platform to pair, and an administrator approves it after comparing a short authentication string (SAS) shown on both sides.
Package pairing is the interactive sensor pairing protocol (api RFC-052): a sensor that has only the platform URL creates its own Ed25519 key, asks the platform to pair, and an administrator approves it after comparing a short authentication string (SAS) shown on both sides.
v2
Package v2 is the client side of sensor protocol v2 results ingest (RFC-026, api docs/rfcs/RFC-026-sensor-results-ingest.md): the paths, media type, headers, problem types, status resource, hello document and the Content-Digest the SDK sends.
Package v2 is the client side of sensor protocol v2 results ingest (RFC-026, api docs/rfcs/RFC-026-sensor-results-ingest.md): the paths, media type, headers, problem types, status resource, hello document and the Content-Digest the SDK sends.
v3
Package sensorv3 is the generated Go code of sensor protocol v3 (openctem api RFC-059), from proto/sensor-v3, a byte-for-byte copy of the platform's proto.
Package sensorv3 is the generated Go code of sensor protocol v3 (openctem api RFC-059), from proto/sensor-v3, a byte-for-byte copy of the platform's proto.
v3/sensorv3connect
Package sensorv3connect is the generated Connect (gRPC, gRPC-Web, Connect) client and handler of sensor protocol v3 (openctem api RFC-059).
Package sensorv3connect is the generated Connect (gRPC, gRPC-Web, Connect) client and handler of sensor protocol v3 (openctem api RFC-059).
Package sensorsig is the HTTP message signature profile a key-bound sensor uses on every platform request (api RFC-032 E5, api RFC-052): RFC 9421 signatures with the sensor's Ed25519 key and an RFC 9530 Content-Digest over the body.
Package sensorsig is the HTTP message signature profile a key-bound sensor uses on every platform request (api RFC-032 E5, api RFC-052): RFC 9421 signatures with the sensor's Ed25519 key and an RFC 9530 Content-Digest over the body.
shared
fingerprint
Package fingerprint provides unified fingerprint generation algorithms for deduplication of security findings across SDK and Backend.
Package fingerprint provides unified fingerprint generation algorithms for deduplication of security findings across SDK and Backend.
severity
Package severity provides unified severity level definitions and mappings for security findings across SDK and Backend.
Package severity provides unified severity level definitions and mappings for security findings across SDK and Backend.
Package source fetches the code of a platform code scan: exactly one commit of one repository (ctis source.Repository), read-only, into a private directory a scanner then reads.
Package source fetches the code of a platform code scan: exactly one commit of one repository (ctis source.Repository), read-only, into a private directory a scanner then reads.
Package testkit runs a tool (pkg/tool) in-process for tests, with the rules the runtime applies in production: the manifest must be valid, the configuration must match its schema, only declared credentials are delivered, every record is checked (CTIS validity, declared output types, size and count limits, control characters), and the report is assembled and stamped as the runtime does.
Package testkit runs a tool (pkg/tool) in-process for tests, with the rules the runtime applies in production: the manifest must be valid, the configuration must match its schema, only declared credentials are delivered, every record is checked (CTIS validity, declared output types, size and count limits, control characters), and the report is assembled and stamped as the runtime does.
Package tool is the one contract for every workload a sensor runs: a target scanner, a connector to a vendor API, a parser of a file or an enricher of findings.
Package tool is the one contract for every workload a sensor runs: a target scanner, a connector to a vendor API, a parser of a file or an enricher of findings.
adapter
Package adapter runs a tool (pkg/tool) as an adapter process: the tool's side of adapter protocol v1, newline-delimited JSON on stdin and stdout, one task per process (docs/rfcs/sensor-sdk-v2.md, D.4.2).
Package adapter runs a tool (pkg/tool) as an adapter process: the tool's side of adapter protocol v1, newline-delimited JSON on stdin and stdout, one task per process (docs/rfcs/sensor-sdk-v2.md, D.4.2).
toolcompat
Package toolcompat runs code written against the older interfaces (core.Scanner, core.Collector) as tools of the tool contract (pkg/tool), so it gets the contract's runtime without a rewrite: out-of-process execution in the task sandbox, admission against the policy, declared credentials only, checked and stamped output.
Package toolcompat runs code written against the older interfaces (core.Scanner, core.Collector) as tools of the tool contract (pkg/tool), so it gets the contract's runtime without a rewrite: out-of-process execution in the task sandbox, admission against the policy, declared credentials only, checked and stamped output.
transport
grpc
Package grpc provides a gRPC transport layer for the OpenCTEM SDK client.
Package grpc provides a gRPC transport layer for the OpenCTEM SDK client.
Package useragent builds the User-Agent the SDK sends to the platform and to the services its collectors and enrichers call:
Package useragent builds the User-Agent the SDK sends to the platform and to the services its collectors and enrichers call:
Package webscope is the web scope of a job: which hosts, paths and methods a web tool (a crawler, a DAST scanner) may request.
Package webscope is the web scope of a job: which hosts, paths and methods a web tool (a crawler, a DAST scanner) may request.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL