internal/

directory
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2026 License: Apache-2.0

Directories

Path Synopsis
adapter
httpapi
Package httpapi is the HTTP driving adapter: it maps routes to use case services.
Package httpapi is the HTTP driving adapter: it maps routes to use case services.
mcpserver
Package mcpserver exposes Synapse's agent tool catalog to external AI clients over the Model Context Protocol.
Package mcpserver exposes Synapse's agent tool catalog to external AI clients over the Model Context Protocol.
domain
advisory
Package advisory is the OWNED vulnerability-advisory matching brain: it decides whether a component version is affected by an advisory's version ranges WITHOUT querying a third-party service (OSV.dev / Grype), so detection does not depend on any one external matcher.
Package advisory is the OWNED vulnerability-advisory matching brain: it decides whether a component version is affected by an advisory's version ranges WITHOUT querying a third-party service (OSV.dev / Grype), so detection does not depend on any one external matcher.
agent
Package agent holds the pure domain types for AI orchestration: the LLM conversation values (messages, tool-calls, usage) and the orchestration state (session, proposed action, risk class, approval decision).
Package agent holds the pure domain types for AI orchestration: the LLM conversation values (messages, tool-calls, usage) and the orchestration state (session, proposed action, risk class, approval decision).
aitriagereview
Package aitriagereview models the human decision that follows an AI false-positive critique which the deterministic gate policy refused to authorize on its own.
Package aitriagereview models the human decision that follows an AI false-positive critique which the deterministic gate policy refused to authorize on its own.
asset
Package asset contains the technical fleet Asset and business-level BusinessAsset models.
Package asset contains the technical fleet Asset and business-level BusinessAsset models.
attackpath
Package attackpath derives bounded, evidence-carrying paths from estate assets to findings.
Package attackpath derives bounded, evidence-carrying paths from estate assets to findings.
audit
Package audit makes the audit trail tamper-evident: each entry's Hash covers its content AND the previous entry's Hash, exactly like the evidence chain (golden rule 6).
Package audit makes the audit trail tamper-evident: each entry's Hash covers its content AND the previous entry's Hash, exactly like the evidence chain (golden rule 6).
aup
Package aup models acceptance of the Acceptable-Use Policy.
Package aup models acceptance of the Acceptable-Use Policy.
callgraph
Package callgraph is the deterministic call-graph domain model (Tier-2 shared foundation): a directed graph of function-call edges plus the entrypoints reachability is measured from, and the pure query primitives over it.
Package callgraph is the deterministic call-graph domain model (Tier-2 shared foundation): a directed graph of function-call edges plus the entrypoints reachability is measured from, and the pure query primitives over it.
cloudposture
Package cloudposture models vendor-neutral live cloud inventory and posture.
Package cloudposture models vendor-neutral live cloud inventory and posture.
clusterinventory
Package clusterinventory is the pure-domain core of the Kubernetes cluster agent (#411, epic #405): it maps a vendor-neutral snapshot of a cluster to the fleet asset model (domain/asset).
Package clusterinventory is the pure-domain core of the Kubernetes cluster agent (#411, epic #405): it maps a vendor-neutral snapshot of a cluster to the fleet asset model (domain/asset).
compliance
Package compliance maps a finding's CWE to the regulatory/standard controls it bears on (compliance mapping).
Package compliance maps a finding's CWE to the regulatory/standard controls it bears on (compliance mapping).
dastcheck
Package dastcheck defines the metadata contract for first-party DAST checks.
Package dastcheck defines the metadata contract for first-party DAST checks.
dastsession
Package dastsession defines secret-free authenticated DAST session configuration.
Package dastsession defines secret-free authenticated DAST session configuration.
dastsurface
Package dastsurface models the deterministic, bounded DAST application surface.
Package dastsurface models the deterministic, bounded DAST application surface.
detection
Package detection is the pure domain for the agent-side blue-team detection engine (issue #422): the typed event classes an eBPF sensor observes, the clean-room rules that match over them, the detection a match emits, and the coverage honesty that says a class the agent could not observe is a GAP, never a clean host.
Package detection is the pure domain for the agent-side blue-team detection engine (issue #422): the typed event classes an eBPF sensor observes, the clean-room rules that match over them, the detection a match emits, and the coverage honesty that says a class the agent could not observe is a GAP, never a clean host.
distro
Package distro captures the operating-system distribution of a scanned target (from its OS packages) and flags releases that are past End-of-Life – i.e.
Package distro captures the operating-system distribution of a scanned target (from its OS packages) and flags releases that are past End-of-Life – i.e.
emulation
Package emulation is the pure domain for adversary emulation (issue #421): techniques mapped to a public taxonomy, each declaring the detection it should produce, and the coverage record that pairs what executed with what was detected.
Package emulation is the pure domain for adversary emulation (issue #421): techniques mapped to a public taxonomy, each declaring the detection it should produce, and the coverage record that pairs what executed with what was detected.
engagement
Package engagement is the aggregate root for a security-testing project: its scope, legal authorization window, and lifecycle status.
Package engagement is the aggregate root for a security-testing project: its scope, legal authorization window, and lifecycle status.
evidence
Package evidence models tamper-evident, hash-chained records of what an engagement produced (scans, findings, reports).
Package evidence models tamper-evident, hash-chained records of what an engagement produced (scans, findings, reports).
exploitation
Package exploitation is the pure domain for a multi-step attack chain (issue #420).
Package exploitation is the pure domain for a multi-step attack chain (issue #420).
finding
Package finding models a confirmed or candidate security issue in an engagement.
Package finding models a confirmed or candidate security issue in an engagement.
fleetagent
Package fleetagent is the epic-#405 fleet agent identity model: an enrolled, addressable agent and the single-use enrolment token that mints it.
Package fleetagent is the epic-#405 fleet agent identity model: an enrolled, addressable agent and the single-use enrolment token that mints it.
fleetcoverage
Package fleetcoverage is the pure-domain truth model for fleet coverage (#413, epic #405): given the facts about one (asset, capability) pair, it resolves a single coverage verdict.
Package fleetcoverage is the pure-domain truth model for fleet coverage (#413, epic #405): given the facts about one (asset, capability) pair, it resolves a single coverage verdict.
fleetrollout
Package fleetrollout decides whether ONE agent is offered an update, and to which version.
Package fleetrollout decides whether ONE agent is offered an update, and to which version.
fleetversion
Package fleetversion is the pure-domain version model for fleet agent/control-plane version skew (#412, epic #405).
Package fleetversion is the pure-domain version model for fleet agent/control-plane version skew (#412, epic #405).
hostinventory
Package hostinventory is the fleet VM-agent inventory model (#410, epic #405): the facts and installed packages an agent collects from a host that is not a container.
Package hostinventory is the fleet VM-agent inventory model (#410, epic #405): the facts and installed packages an agent collects from a host that is not a container.
hotspot
Package hotspot models Project-scoped Security Hotspot projections.
Package hotspot models Project-scoped Security Hotspot projections.
ignore
Package ignore models a repo-committed, declarative finding-suppression policy: the accepted-risk decisions a team version-controls alongside its code – Synapse's take on Trivy's .trivyignore, made governance-first.
Package ignore models a repo-committed, declarative finding-suppression policy: the accepted-risk decisions a team version-controls alongside its code – Synapse's take on Trivy's .trivyignore, made governance-first.
importedfinding
Package importedfinding models a finding produced by a THIRD-PARTY scanner and ingested into this system's governance path.
Package importedfinding models a finding produced by a THIRD-PARTY scanner and ingested into this system's governance path.
importedsbom
Package importedsbom models a client-supplied SBOM attached to an engagement.
Package importedsbom models a client-supplied SBOM attached to an engagement.
issue
Package issue models Project-scoped code-quality issue projections and their triage lifecycle (open / accepted / false-positive / won't-fix).
Package issue models Project-scoped code-quality issue projections and their triage lifecycle (open / accepted / false-positive / won't-fix).
jsresolution
Package jsresolution models deterministic JavaScript and TypeScript package identity resolution without embedding filesystem or parser implementation details.
Package jsresolution models deterministic JavaScript and TypeScript package identity resolution without embedding filesystem or parser implementation details.
jssymbols
Package jssymbols holds the decision rules for Tier-2 JavaScript and TypeScript reachability: given what first-party source statically does with an imported npm package, can a specific AFFECTED SYMBOL of that package be reached?
Package jssymbols holds the decision rules for Tier-2 JavaScript and TypeScript reachability: given what first-party source statically does with an imported npm package, can a specific AFFECTED SYMBOL of that package be reached?
judgment
Package judgment is the AI "analysis brain" primitive: a propose→verify→confirm CLAIM about a subject (a finding, component, vulnerability, or the engagement), evidence-gated and hash-chainable, that generalizes the exploitation gate.
Package judgment is the AI "analysis brain" primitive: a propose→verify→confirm CLAIM about a subject (a finding, component, vulnerability, or the engagement), evidence-gated and hash-chainable, that generalizes the exploitation gate.
measure
Package measure holds numeric, non-finding project measures (code size, complexity, duplication, coverage).
Package measure holds numeric, non-finding project measures (code size, complexity, duplication, coverage).
modulegraph
Package modulegraph defines the deterministic, source-only JavaScript and TypeScript module graph used by the first phase of import reachability.
Package modulegraph defines the deterministic, source-only JavaScript and TypeScript module graph used by the first phase of import reachability.
offensivepolicy
Package offensivepolicy is the machine-readable half of the offensive governance policy (docs/redteam/offensive-policy.md, issue #418).
Package offensivepolicy is the machine-readable half of the offensive governance policy (docs/redteam/offensive-policy.md, issue #418).
project
Package project is the aggregate root for a long-lived code-quality project.
Package project is the aggregate root for a long-lived code-quality project.
projectanalysis
Package projectanalysis models immutable, tenant-scoped Project analysis snapshots.
Package projectanalysis models immutable, tenant-scoped Project analysis snapshots.
promotion
Package promotion defines deterministic cross-pillar finding-priority rules.
Package promotion defines deterministic cross-pillar finding-priority rules.
purplecoverage
Package purplecoverage is the pure domain that closes the purple loop (issue #426): it joins the detection each emulated technique EXPECTED (#421) with the detections that ACTUALLY fired (#422/#423) and resolves a coverage verdict.
Package purplecoverage is the pure domain that closes the purple loop (issue #426): it joins the detection each emulated technique EXPECTED (#421) with the detections that ACTUALLY fired (#422/#423) and resolves a coverage verdict.
qualitygate
Package qualitygate is the deterministic pass/fail gate over a codebase's measured metrics – the "Clean as You Code" quality gate.
Package qualitygate is the deterministic pass/fail gate over a codebase's measured metrics – the "Clean as You Code" quality gate.
qualityprofile
Package qualityprofile models named, per-language rule sets — the industry-standard "Quality Profile".
Package qualityprofile models named, per-language rule sets — the industry-standard "Quality Profile".
rating
Package rating turns findings + size measures into deterministic project health grades (A-E) and a technical-debt estimate, the counterpart on the code-quality side to risk priority on the security side.
Package rating turns findings + size measures into deterministic project health grades (A-E) and a technical-debt estimate, the counterpart on the code-quality side to risk priority on the security side.
recon
Package recon holds the domain types for reconnaissance runs.
Package recon holds the domain types for reconnaissance runs.
response
Package response is the pure domain for governed defensive response actions (issue #425): contain, isolate, quarantine.
Package response is the pure domain for governed defensive response actions (issue #425): contain, isolate, quarantine.
riskstory
Package riskstory is the pure, deterministic domain for the unified per-asset risk story (issue #427): one narrative per asset assembled from records already produced by the other pillars — the asset inventory (#431), the findings of every engine + their reachability verdicts, the attack-path graph (#419), runtime detections (#423), and the continuous vulnerability occurrences/assessments (#514).
Package riskstory is the pure, deterministic domain for the unified per-asset risk story (issue #427): one narrative per asset assembled from records already produced by the other pillars — the asset inventory (#431), the findings of every engine + their reachability verdicts, the attack-path graph (#419), runtime detections (#423), and the continuous vulnerability occurrences/assessments (#514).
sbom
Package sbom models a Software Bill of Materials and its components/licenses.
Package sbom models a Software Bill of Materials and its components/licenses.
shared
Package shared holds value objects and errors common to all domain packages.
Package shared holds value objects and errors common to all domain packages.
sla
Package sla is the pure, deterministic domain for the risk-based remediation SLA (issue #80, Phase 0).
Package sla is the pure, deterministic domain for the risk-based remediation SLA (issue #80, Phase 0).
sourcepolicy
Package sourcepolicy defines the server-authoritative policy for durable Code source snapshots.
Package sourcepolicy defines the server-authoritative policy for durable Code source snapshots.
taint
Package taint is the deterministic taint-analysis domain model: a data-flow graph from untrusted SOURCES to dangerous SINKS, with SANITIZER nodes that neutralize a flow, plus the pure query that reports an injection – a source→sink path that crosses no sanitizer.
Package taint is the deterministic taint-analysis domain model: a data-flow graph from untrusted SOURCES to dangerous SINKS, with SANITIZER nodes that neutralize a flow, plus the pure query that reports an injection – a source→sink path that crosses no sanitizer.
threatmodel
Package threatmodel is the architecture-input model that threat modeling reasons over: a data-flow diagram – components (processes, data stores, external entities), directed data flows between them, trust boundaries that partition them by trust level, and the assets at stake.
Package threatmodel is the architecture-input model that threat modeling reasons over: a data-flow diagram – components (processes, data stores, external entities), directed data flows between them, trust boundaries that partition them by trust level, and the assets at stake.
user
Package user models operator identities: each consultant is a distinct user with their own API key, so every action – comments, findings, assignments, audit, evidence – is attributable to a real person, not a shared "operator".
Package user models operator identities: each consultant is a distinct user with their own API key, so every action – comments, findings, assignments, audit, evidence – is attributable to a real person, not a shared "operator".
verdict
Package verdict is the shared adversarial-verdict value type + evidence bar used by BOTH finding (exploitation) and judgment (AI analysis).
Package verdict is the shared adversarial-verdict value type + evidence bar used by BOTH finding (exploitation) and judgment (AI analysis).
vex
Package vex holds the OpenVEX domain vocabulary (the closed justification enum, shared by the VEX export and the AI vex-justification judgment) AND the consume-side parser + product-to-finding matcher (document.go: Parse, Statement.Suppresses, Statement.MatchesFinding) shared by the post-scan VEX apply and the in-scan .vex consumer.
Package vex holds the OpenVEX domain vocabulary (the closed justification enum, shared by the VEX export and the AI vex-justification judgment) AND the consume-side parser + product-to-finding matcher (document.go: Parse, Statement.Suppresses, Statement.MatchesFinding) shared by the post-scan VEX apply and the in-scan .vex consumer.
vulnerability
Package vulnerability models a known issue affecting an SBOM component.
Package vulnerability models a known issue affecting an SBOM component.
workorder
Package workorder is the epic-#405 fleet work order model: a unit of work addressed to a specific agent identity, authorised by an engagement, signed by the control plane, and driven through an explicit state machine.
Package workorder is the epic-#405 fleet work order model: a unit of work addressed to a specific agent identity, authorised by an engagement, signed by the control plane, and driven through an explicit state machine.
writeup
Package writeup holds the built-in finding-writeup library: reusable, curated finding text + remediation an operator inserts when authoring a manual finding, so report prose is consistent.
Package writeup holds the built-in finding-writeup library: reusable, curated finding text + remediation an operator inserts when authoring a manual finding, so report prose is consistent.
writeupdraft
Package writeupdraft holds AI-proposed, human-gated finding write-up DRAFTS ("human-gated authoritative drafts").
Package writeupdraft holds AI-proposed, human-gated finding write-up DRAFTS ("human-gated authoritative drafts").
infrastructure
acquire
Package acquire prepares an isolated workspace for an SCA target.
Package acquire prepares an isolated workspace for an SCA target.
blob
Package blob provides content-addressed artifact storage for the evidence vault a MinIO/S3 adapter for deployments and an in-memory store for dev/tests.
Package blob provides content-addressed artifact storage for the evidence vault a MinIO/S3 adapter for deployments and an in-memory store for dev/tests.
cache/fptriagecache
Package fptriagecache provides a bounded, filesystem-backed cache for typed AI false-positive triage claims.
Package fptriagecache provides a bounded, filesystem-backed cache for typed AI false-positive triage claims.
cache/sbomcache
Package sbomcache is a filesystem-backed, content-addressed cache of generated SBOMs.
Package sbomcache is a filesystem-backed, content-addressed cache of generated SBOMs.
cloud/aws
Package aws implements the read-only AWS cloud posture connector.
Package aws implements the read-only AWS cloud posture connector.
cloud/azure
Package azure implements the read-only Azure Resource Graph cloud-posture connector.
Package azure implements the read-only Azure Resource Graph cloud-posture connector.
cloud/gcp
Package gcp provides the read-only Google Cloud posture connector.
Package gcp provides the read-only Google Cloud posture connector.
cloudsandbox
Package cloudsandbox executes credentialed cloud SDK helpers inside the hardened sandbox.
Package cloudsandbox executes credentialed cloud SDK helpers inside the hardened sandbox.
dastchecks
Package dastchecks evaluates deterministic, passive DAST observations.
Package dastchecks evaluates deterministic, passive DAST observations.
dastengine
Package dastengine runs authenticated DAST plans through a dedicated helper.
Package dastengine runs authenticated DAST plans through a dedicated helper.
detectsink
Package detectsink provides the milestone-1 landing spot for the detections the agent-side engine (#422) emits: an append-only JSONL file on the host.
Package detectsink provides the milestone-1 landing spot for the detections the agent-side engine (#422) emits: an append-only JSONL file on the host.
ebpf
Package ebpf is the egress connection observer: a cgroup connect4/connect6 eBPF program (compiled to bytecode by clang, embedded, loaded by cilium/ebpf – no toolchain at runtime) attached to a per-run cgroup.
Package ebpf is the egress connection observer: a cgroup connect4/connect6 eBPF program (compiled to bytecode by clang, embedded, loaded by cilium/ebpf – no toolchain at runtime) attached to a per-run cgroup.
egress
Package egress applies a compiled egress.Policy as a real, kernel-enforced network namespace.
Package egress applies a compiled egress.Policy as a real, kernel-enforced network namespace.
fleetca
Package fleetca is the control-plane certificate authority for fleet agents (#408).
Package fleetca is the control-plane certificate authority for fleet agents (#408).
fleetclient
Package fleetclient is the agent-side HTTP client for the fleet transport (#410): it enrols, heartbeats, claims work and reports results against the control plane's /api/v1/fleet API.
Package fleetclient is the agent-side HTTP client for the fleet transport (#410): it enrols, heartbeats, claims work and reports results against the control plane's /api/v1/fleet API.
fleetupdate
Package fleetupdate is the agent self-update state machine (#412, epic #405): download a control-plane-offered version, VERIFY its checksum and signature BEFORE replacing anything, install atomically, then gate on a successful health check and AUTOMATICALLY ROLL BACK if the new version does not become healthy within a bounded window.
Package fleetupdate is the agent self-update state machine (#412, epic #405): download a control-plane-offered version, VERIFY its checksum and signature BEFORE replacing anything, install atomically, then gate on a successful health check and AUTOMATICALLY ROLL BACK if the new version does not become healthy within a bounded window.
hostinv
Package hostinv collects a fleet VM agent's host inventory (#410): host facts and installed OS packages, read from the host filesystem under a configurable root.
Package hostinv collects a fleet VM agent's host inventory (#410): host facts and installed OS packages, read from the host filesystem under a configurable root.
k8sinv
Package k8sinv is the Kubernetes infrastructure adapter for the cluster agent (#411, epic #405).
Package k8sinv is the Kubernetes infrastructure adapter for the cluster agent (#411, epic #405).
llm/openai
Package openai implements ports.LLM against an OpenAI-compatible Chat Completions API – the reference provider, tested against the LLM gateway.
Package openai implements ports.LLM against an OpenAI-compatible Chat Completions API – the reference provider, tested against the LLM gateway.
logstream
Package logstream is an in-memory pub/sub for recon-run logs, backing the SSE endpoint (ports.LogStream).
Package logstream is an in-memory pub/sub for recon-run logs, backing the SSE endpoint (ports.LogStream).
persistence/file
Package file provides simple file-backed stores for single-tenant self-host mode and tests.
Package file provides simple file-backed stores for single-tenant self-host mode and tests.
persistence/memory
Package memory provides in-memory repository implementations for the walking skeleton and tests.
Package memory provides in-memory repository implementations for the walking skeleton and tests.
persistence/postgres
Package postgres provides PostgreSQL-backed repositories (pgx/v5) and applies migrations via goose.
Package postgres provides PostgreSQL-backed repositories (pgx/v5) and applies migrations via goose.
recon
Package recon provides ports.ReconTool adapters: each knows one recon binary's argv and output format.
Package recon provides ports.ReconTool adapters: each knows one recon binary's argv and output format.
report
DOCX report renderer.
DOCX report renderer.
sandbox
Package sandbox implements ports.ToolRunner by confining each argv tool run in an unprivileged sandbox (see docs/08-security-model.md for the as-built control set).
Package sandbox implements ports.ToolRunner by confining each argv tool run in an unprivileged sandbox (see docs/08-security-model.md for the as-built control set).
signing
Package signing implements ports.ChainSigner with ed25519: it attests to an evidence chain head so a custody chain proves origin (non-repudiation), not just integrity.
Package signing implements ports.ChainSigner with ed25519: it attests to an evidence chain head so a custody chain proves origin (non-repudiation), not just integrity.
sourceartifact
Package sourceartifact stores immutable Project analysis source on local disk.
Package sourceartifact stores immutable Project analysis source on local disk.
sourcesnippet
Package sourcesnippet reads a bounded source excerpt from a scanned workspace for the AI false-positive triage.
Package sourcesnippet reads a bounded source excerpt from a scanned workspace for the AI false-positive triage.
timestamp
Package timestamp implements ports.TimestampAuthority with an RFC-3161 client: it anchors a custody chain head to an EXTERNAL trusted timestamp, so a head can be proven to have existed before a given instant independent of the server's own ed25519 key – i.e.
Package timestamp implements ports.TimestampAuthority with an RFC-3161 client: it anchors a custody chain head to an EXTERNAL trusted timestamp, so a head can be proven to have existed before a given instant independent of the server's own ed25519 key – i.e.
toolrunner
Package toolrunner runs argv-based tools for the recon use case.
Package toolrunner runs argv-based tools for the recon use case.
tools/ast
Package ast adapts the synapse-ast sidecar to the ports.ASTProvider port: it shells out (argv only, no shell) to the binary, which parses the target with tree-sitter and returns per-language function counts as JSON.
Package ast adapts the synapse-ast sidecar to the ports.ASTProvider port: it shells out (argv only, no shell) to the binary, which parses the target with tree-sitter and returns per-language function counts as JSON.
tools/astwalk
Package astwalk is the source-tree walk + result model shared by the synapse-ast sidecar's CGO (tree-sitter) and CGO-free (stub) builds.
Package astwalk is the source-tree walk + result model shared by the synapse-ast sidecar's CGO (tree-sitter) and CGO-free (stub) builds.
tools/bincat
Package bincat catalogs installed language packages from a materialized image root filesystem that a lockfile would miss: Go module dependencies embedded in compiled Go binaries (via stdlib debug/buildinfo) and Python distributions installed on disk (*.dist-info / *.egg-info metadata).
Package bincat catalogs installed language packages from a materialized image root filesystem that a lockfile would miss: Go module dependencies embedded in compiled Go binaries (via stdlib debug/buildinfo) and Python distributions installed on disk (*.dist-info / *.egg-info metadata).
tools/codeanalysis
Package codeanalysis is a deterministic, pure-Go maintainability and reliability rule engine.
Package codeanalysis is a deterministic, pure-Go maintainability and reliability rule engine.
tools/codeinventory
Package codeinventory is a deterministic, pure-Go code-size inventory: it walks a source tree, classifies each file's language with go-enry, and counts code / comment / blank lines per language, plus functions where a first-party parser exists (Go today, via go/parser).
Package codeinventory is a deterministic, pure-Go code-size inventory: it walks a source tree, classifies each file's language with go-enry, and counts code / comment / blank lines per language, plus functions where a first-party parser exists (Go today, via go/parser).
tools/coverage
Package coverage parses a test-coverage report (lcov, Cobertura XML, or JaCoCo XML) into per-file, per-line coverage.
Package coverage parses a test-coverage report (lcov, Cobertura XML, or JaCoCo XML) into per-file, per-line coverage.
tools/doctor
Package doctor provides an offline, read-only preflight report for synapse-cli.
Package doctor provides an offline, read-only preflight report for synapse-cli.
tools/duplication
Package duplication is a deterministic, pure-Go copy-paste (clone) detector: it walks a source tree, tokenizes each file (comment- and whitespace-insensitive, language-aware comment stripping), and finds runs of duplicated tokens across and within files via a Rabin-Karp rolling hash, then reports the standard duplication metrics (blocks, duplicated lines, files, density).
Package duplication is a deterministic, pure-Go copy-paste (clone) detector: it walks a source tree, tokenizes each file (comment- and whitespace-insensitive, language-aware comment stripping), and finds runs of duplicated tokens across and within files via a Rabin-Karp rolling hash, then reports the standard duplication metrics (blocks, duplicated lines, files, density).
tools/enry
Package enry adapts source-language detection to the LanguageDetector port, backed by go-enry (the GitHub Linguist port).
Package enry adapts source-language detection to the LanguageDetector port, backed by go-enry (the GitHub Linguist port).
tools/gitdiff
Package gitdiff computes the set of added/changed lines per file between a base ref and the working tree, for "new code" (Clean-as-You-Code) gating: a finding is "new" when it sits on a changed line.
Package gitdiff computes the set of added/changed lines per file between a base ref and the working tree, for "new code" (Clean-as-You-Code) gating: a finding is "new" when it sits on a changed line.
tools/gomodgraph
Package gomodgraph resolves the transitive dependency EDGES of a Go module by shelling out to `go mod graph` via argv and mapping its module-graph output onto the SBOM's existing golang components.
Package gomodgraph resolves the transitive dependency EDGES of a Go module by shelling out to `go mod graph` via argv and mapping its module-graph output onto the SBOM's existing golang components.
tools/govulncheck
Package govulncheck adapts the Go call-graph builder to the CallGraphBuilder port by shelling out to a pinned govulncheck binary via argv.
Package govulncheck adapts the Go call-graph builder to the CallGraphBuilder port by shelling out to a pinned govulncheck binary via argv.
tools/gradleresolve
Package gradleresolve resolves a Gradle project's full dependency tree (direct + transitive, with the resolved versions) by shelling out (argv only) to a pinned `gradle` with a Synapse init script that walks the resolution-result GRAPH of the `runtimeClasspath` of EVERY project in the build (root + all subprojects) and prints each resolved Maven module.
Package gradleresolve resolves a Gradle project's full dependency tree (direct + transitive, with the resolved versions) by shelling out (argv only) to a pinned `gradle` with a Synapse init script that walks the resolution-result GRAPH of the `runtimeClasspath` of EVERY project in the build (root + all subprojects) and prints each resolved Maven module.
tools/grype
Package grype is a DetectionSource that augments OSV.
Package grype is a DetectionSource that augments OSV.
tools/ignorefile
Package ignorefile loads a repo-committed .synapseignore suppression policy from a prepared workspace.
Package ignorefile loads a repo-committed .synapseignore suppression policy from a prepared workspace.
tools/jarchecksum
Package jarchecksum captures the artifact SHA-1 of JVM components by hashing the JAR files in the prepared workspace.
Package jarchecksum captures the artifact SHA-1 of JVM components by hashing the JAR files in the prepared workspace.
tools/jarhash
Package jarhash recovers the Maven coordinate of a shaded / relocated / metadata-less JVM component from its artifact SHA-1, by querying Maven Central's SHA-1 search API.
Package jarhash recovers the Maven coordinate of a shaded / relocated / metadata-less JVM component from its artifact SHA-1, by querying Maven Central's SHA-1 search API.
tools/jarlicense
Package jarlicense recovers component licenses from the license TEXT embedded in JARs in the prepared workspace, for components the registry lookup left unknown.
Package jarlicense recovers component licenses from the license TEXT embedded in JARs in the prepared workspace, for components the registry lookup left unknown.
tools/jsimports
Package jsimports implements the deterministic, source-only JavaScript and TypeScript module-import scanner behind ports.JSImportScanner (epic #378 phase R1).
Package jsimports implements the deterministic, source-only JavaScript and TypeScript module-import scanner behind ports.JSImportScanner (epic #378 phase R1).
tools/jsresolve
Package jsresolve provides offline, deterministic JavaScript and TypeScript package-identity metadata processing.
Package jsresolve provides offline, deterministic JavaScript and TypeScript package-identity metadata processing.
tools/jvmreach
Package jvmreach computes COARSE, deterministic class-level reachability for JVM projects: starting from the application's own compiled classes, does anything (transitively) reference a dependency's classes at all? A dependency whose classes are never referenced is "present but not wired in" – the signal behind the field complaint that a scan lists packages the project does not use.
Package jvmreach computes COARSE, deterministic class-level reachability for JVM projects: starting from the application's own compiled classes, does anything (transitively) reference a dependency's classes at all? A dependency whose classes are never referenced is "present but not wired in" – the signal behind the field complaint that a scan lists packages the project does not use.
tools/license
Package license adapts license classification + policy to the LicenseScanner port.
Package license adapts license classification + policy to the LicenseScanner port.
tools/licensefile
Package licensefile recovers component licenses by classifying the LICENSE / COPYING files present in the prepared workspace – the cross-ecosystem equivalent of Trivy's `--license-full`, but for ANY language (not just JARs, which jarlicense handles).
Package licensefile recovers component licenses by classifying the LICENSE / COPYING files present in the prepared workspace – the cross-ecosystem equivalent of Trivy's `--license-full`, but for ANY language (not just JARs, which jarlicense handles).
tools/licensemeta
Package licensemeta enriches SBOM components with license metadata from package registries (license recovery).
Package licensemeta enriches SBOM components with license metadata from package registries (license recovery).
tools/licensetext
Package licensetext classifies license FILE TEXT into an SPDX id with a confidence score, using github.com/google/licensecheck (the classifier deps.dev/pkgsite use).
Package licensetext classifies license FILE TEXT into an SPDX id with a confidence score, using github.com/google/licensecheck (the classifier deps.dev/pkgsite use).
tools/manifest
Package manifest enriches a generator's SBOM from dependency manifests the generator under-uses: it reconstructs missing dependency edges (Gemfile.lock), recovers dependencies the generator cannot resolve from source (Maven pom.xml, Gradle version catalogs), and refines component scope via pnpm workspace attribution.
Package manifest enriches a generator's SBOM from dependency manifests the generator under-uses: it reconstructs missing dependency edges (Gemfile.lock), recovers dependencies the generator cannot resolve from source (Maven pom.xml, Gradle version catalogs), and refines component scope via pnpm workspace attribution.
tools/manifestresolve
Package manifestresolve resolves the dependency tree of a lockfile-less package manifest by shelling out (argv only, no shell) to the ecosystem's own tool in a LOCK-ONLY, NO-SCRIPTS mode over a THROWAWAY COPY of the manifest, then reusing the owned lockfile parser to emit pinned components.
Package manifestresolve resolves the dependency tree of a lockfile-less package manifest by shelling out (argv only, no shell) to the ecosystem's own tool in a LOCK-ONLY, NO-SCRIPTS mode over a THROWAWAY COPY of the manifest, then reusing the owned lockfile parser to emit pinned components.
tools/mavencoord
Package mavencoord recovers authoritative Maven coordinates for SBOM components whose groupId was mis-derived during SBOM generation.
Package mavencoord recovers authoritative Maven coordinates for SBOM components whose groupId was mis-derived during SBOM generation.
tools/mavenresolve
Package mavenresolve resolves a Maven project's full dependency tree (direct + transitive, with the real versions) by shelling out to `mvn dependency:list` via argv, then parsing the resolved coordinates into SBOM components.
Package mavenresolve resolves a Maven project's full dependency tree (direct + transitive, with the real versions) by shelling out to `mvn dependency:list` via argv, then parsing the resolved coordinates into SBOM components.
tools/misconfig
Package misconfig is an owned, deterministic infrastructure-as-code / config scanner over a prepared workspace.
Package misconfig is an owned, deterministic infrastructure-as-code / config scanner over a prepared workspace.
tools/msi
Package msi parses a Windows Installer (.msi) file — a pure-Go, dependency-free reader for the OLE2 Compound File Binary Format (MS-CFB) container plus the MSI table layout on top of it — to recover the installed product's identity (name, version, manufacturer, product code) for cataloging.
Package msi parses a Windows Installer (.msi) file — a pure-Go, dependency-free reader for the OLE2 Compound File Binary Format (MS-CFB) container plus the MSI table layout on top of it — to recover the installed product's identity (name, version, manufacturer, product code) for cataloging.
tools/notebook
Package notebook decodes the small, stable subset of the Jupyter notebook format needed by source analyzers.
Package notebook decodes the small, stable subset of the Jupyter notebook format needed by source analyzers.
tools/npmresolve
Package npmresolve resolves an npm project's dependency tree (direct + transitive, with pinned versions) from a package.json that has NO committed lockfile — the common raw-source state where the manifest declares only semver RANGES (^1.2.3, ~1.0, >=2) and the SBOM otherwise sees no resolvable version to advisory-match.
Package npmresolve resolves an npm project's dependency tree (direct + transitive, with pinned versions) from a package.json that has NO committed lockfile — the common raw-source state where the manifest declares only semver RANGES (^1.2.3, ~1.0, >=2) and the SBOM otherwise sees no resolvable version to advisory-match.
tools/nvd
Package nvd backfills the severity of vulnerabilities the detection sources left UNKNOWN (an OSV-only distro CVE often carries no CVSS) by looking up the CVE's CVSS base score in the NVD CVE API.
Package nvd backfills the severity of vulnerabilities the detection sources left UNKNOWN (an OSV-only distro CVE often carries no CVSS) by looking up the CVE's CVSS base score in the NVD CVE API.
tools/ospkg
Package ospkg catalogs installed OS packages from a materialized image root filesystem: Debian/Ubuntu dpkg (/var/lib/dpkg/status), Alpine apk (/lib/apk/db/installed), and RHEL-family rpm (/var/lib/rpm/rpmdb.sqlite), with the distro release read from /etc/os-release.
Package ospkg catalogs installed OS packages from a materialized image root filesystem: Debian/Ubuntu dpkg (/var/lib/dpkg/status), Alpine apk (/lib/apk/db/installed), and RHEL-family rpm (/var/lib/rpm/rpmdb.sqlite), with the distro release read from /etc/os-release.
tools/osv
Package osv is a DetectionSource that queries OSV.dev – the primary vuln source (free, no auth, no rate limit).
Package osv is a DetectionSource that queries OSV.dev – the primary vuln source (free, no auth, no rate limit).
tools/ownadvisory
Package ownadvisory is the OWNED advisory DetectionSource: it matches an SBOM against Synapse's own normalized advisory store using the owned matcher (internal/domain/advisory), producing the same vulnerability.RawFinding the OSV/Grype adapters do – but WITHOUT querying any third-party service.
Package ownadvisory is the OWNED advisory DetectionSource: it matches an SBOM against Synapse's own normalized advisory store using the owned matcher (internal/domain/advisory), producing the same vulnerability.RawFinding the OSV/Grype adapters do – but WITHOUT querying any third-party service.
tools/ownsbom
Package ownsbom is Synapse's OWNED SBOM producer: a per-ecosystem parser registry that reads dependency manifests/lockfiles directly and emits a normalized sbom.SBOM, WITHOUT shelling out to a third-party scanner.
Package ownsbom is Synapse's OWNED SBOM producer: a per-ecosystem parser registry that reads dependency manifests/lockfiles directly and emits a normalized sbom.SBOM, WITHOUT shelling out to a third-party scanner.
tools/pyimports
Package pyimports is a SOURCE-ONLY Python import scanner: it reads a target's first-party .py files and extracts the top-level modules they import, plus whether the code uses dynamic imports.
Package pyimports is a SOURCE-ONLY Python import scanner: it reads a target's first-party .py files and extracts the top-level modules they import, plus whether the code uses dynamic imports.
tools/qualityprofile
Package qualityprofile loads the .synapse-gate.yaml (quality gate) and .synapse-rules.yaml (rule profile) config files into the pure-domain qualitygate types.
Package qualityprofile loads the .synapse-gate.yaml (quality gate) and .synapse-rules.yaml (rule profile) config files into the pure-domain qualitygate types.
tools/risk
Package risk enriches vulnerabilities with CISA KEV + FIRST EPSS so they can be ordered by real risk priority (KEV -> EPSS x CVSS).
Package risk enriches vulnerabilities with CISA KEV + FIRST EPSS so they can be ordered by real risk priority (KEV -> EPSS x CVSS).
tools/sast
Package sast is a deterministic, pure-Go pattern scanner: it walks a source tree and flags high-signal weaknesses (weak crypto, hardcoded secrets/keys, insecure TLS config) by regex, emitting one finding per (file, line, rule).
Package sast is a deterministic, pure-Go pattern scanner: it walks a source tree and flags high-signal weaknesses (weak crypto, hardcoded secrets/keys, insecure TLS config) by regex, emitting one finding per (file, line, rule).
tools/secretscan
Package secretscan is an owned, deterministic secret scanner over a prepared workspace.
Package secretscan is an owned, deterministic secret scanner over a prepared workspace.
tools/srcimports
Package srcimports implements source-only first-party import scanners for languages whose dependency usage is observable as an import/require/use statement (Rust, PHP, Ruby).
Package srcimports implements source-only first-party import scanners for languages whose dependency usage is observable as an import/require/use statement (Rust, PHP, Ruby).
tools/ssacallgraph
Package ssacallgraph builds a deterministic call graph from Go SOURCE using go/ssa – the general, first-party call graph taint analysis needs.
Package ssacallgraph builds a deterministic call graph from Go SOURCE using go/ssa – the general, first-party call graph taint analysis needs.
tools/syft
Package syft adapts SBOM generation to the SBOMGenerator port by shelling out to a pinned Syft binary.
Package syft adapts SBOM generation to the SBOMGenerator port by shelling out to a pinned Syft binary.
tools/taintcallgraph
Package taintcallgraph is the adapter that produces a general first-party call graph for E39 taint analysis by shelling out to the sandboxed `synapse-callgraph` argv binary (which runs the heavy go/ssa builder, internal/infrastructure/tools/ssacallgraph).
Package taintcallgraph is the adapter that produces a general first-party call graph for E39 taint analysis by shelling out to the sandboxed `synapse-callgraph` argv binary (which runs the heavy go/ssa builder, internal/infrastructure/tools/ssacallgraph).
tools/vexfile
Package vexfile loads an in-repo OpenVEX document (.synapse.vex.json) from a prepared workspace.
Package vexfile loads an in-repo OpenVEX document (.synapse.vex.json) from a prepared workspace.
vault
Package vault is the credential store: per-engagement secrets encrypted at rest with AES-256-GCM under a master key that never touches the database, logs, or the LLM transcript.
Package vault is the credential store: per-engagement secrets encrypted at rest with AES-256-GCM under a master key that never touches the database, logs, or the LLM transcript.
platform
agenttoken
Package agenttoken mints and parses fleet agent credentials.
Package agenttoken mints and parses fleet agent credentials.
binregistry
Package binregistry verifies tool-binary integrity before execution (F5).
Package binregistry verifies tool-binary integrity before execution (F5).
buildinfo
Package buildinfo reports dependency + application versions from the compiled binary's build metadata, used to record scan reproducibility.
Package buildinfo reports dependency + application versions from the compiled binary's build metadata, used to record scan reproducibility.
config
Package config loads runtime configuration from the environment.
Package config loads runtime configuration from the environment.
httpserver
Package httpserver runs an HTTP server with graceful shutdown.
Package httpserver runs an HTTP server with graceful shutdown.
idgen
Package idgen provides Clock and IDGenerator implementations for the platform.
Package idgen provides Clock and IDGenerator implementations for the platform.
jobs
Package jobs is a small bounded worker pool: a fixed number of workers draining a fixed-size queue.
Package jobs is a small bounded worker pool: a fixed number of workers draining a fixed-size queue.
logging
Package logging builds the application's structured logger.
Package logging builds the application's structured logger.
redact
Package redact is the shared belt-and-suspenders scrubber for secret material on its way to any sink – logs, the audit writer, the evidence seal, tool output.
Package redact is the shared belt-and-suspenders scrubber for secret material on its way to any sink – logs, the audit writer, the evidence seal, tool output.
untrusted
Package untrusted is the shared guard for any UNTRUSTED text a source-reading AI ingests – dependency source excerpts, files a SAST/threat brain reads, or a tool's stdout.
Package untrusted is the shared guard for any UNTRUSTED text a source-reading AI ingests – dependency source excerpts, files a SAST/threat brain reads, or a tool's stdout.
worksign
Package worksign is the platform adapter that signs and verifies fleet work order payloads with an HMAC-SHA256 keyed MAC.
Package worksign is the platform adapter that signs and verifies fleet work order payloads with an HMAC-SHA256 keyed MAC.
usecase
advisoryingest
Package advisoryingest loads the owned normalized-advisory store from a bulk feed.
Package advisoryingest loads the owned normalized-advisory store from a bulk feed.
agenttools
Package agenttools is the agent's tool catalog: the bounded set of capabilities the LLM is allowed to invoke.
Package agenttools is the agent's tool catalog: the bounded set of capabilities the LLM is allowed to invoke.
aitriagereviewuc
Package aitriagereviewuc implements the durable human-review workflow for AI false-positive recommendations held back by the deterministic policy.
Package aitriagereviewuc implements the durable human-review workflow for AI false-positive recommendations held back by the deterministic policy.
analysis
Package analysis runs the evidence-gated lifecycle for AI "judgments" – the generalized twin of the exploitation gate.
Package analysis runs the evidence-gated lifecycle for AI "judgments" – the generalized twin of the exploitation gate.
approval
Package approval is the Human-In-The-Loop gate for AI-proposed actions.
Package approval is the Human-In-The-Loop gate for AI-proposed actions.
assetuc
Package assetuc is the use-case layer for the fleet asset model (#431, epic #405).
Package assetuc is the use-case layer for the fleet asset model (#431, epic #405).
attackpath
Package attackpath assembles tenant-scoped attack paths from existing records.
Package attackpath assembles tenant-scoped attack paths from existing records.
audit
Package audit is the read/verify use case over the append-only audit log.
Package audit is the read/verify use case over the append-only audit log.
aup
Package aup (use case) implements first-run Acceptable-Use-Policy logic.
Package aup (use case) implements first-run Acceptable-Use-Policy logic.
codequality
Package codequality assembles the code-quality findings for a source tree: it runs the deterministic maintainability/reliability rule engine and layers on the metric-derived signals (duplication, and complexity when an AST backend is available), mapping everything to first-party finding.Finding values (Kind=quality/reliability, ungated, publishable like SAST).
Package codequality assembles the code-quality findings for a source tree: it runs the deterministic maintainability/reliability rule engine and layers on the metric-derived signals (duplication, and complexity when an AST backend is available), mapping everything to first-party finding.Finding values (Kind=quality/reliability, ungated, publishable like SAST).
credentials
Package credentials is the management use case over the credential vault (secrets never enter logs): an operator stores per-engagement secrets (write-only) and lists or deletes them by NAME.
Package credentials is the management use case over the credential vault (secrets never enter logs): an operator stores per-engagement secrets (write-only) and lists or deletes them by NAME.
crosscheckjudge
Package crosscheckjudge turns cross-check DISAGREEMENTS into Judgments for human review.
Package crosscheckjudge turns cross-check DISAGREEMENTS into Judgments for human review.
cspm
Package cspm orchestrates read-only live cloud posture scans.
Package cspm orchestrates read-only live cloud posture scans.
dastcrawl
Package dastcrawl derives a bounded, deterministic HTTP surface from authenticated observations.
Package dastcrawl derives a bounded, deterministic HTTP surface from authenticated observations.
dastrunner
Package dastrunner executes narrowly-scoped, approved runtime verification probes.
Package dastrunner executes narrowly-scoped, approved runtime verification probes.
dastsession
Package dastsession executes approved, authenticated DAST request batches.
Package dastsession executes approved, authenticated DAST request batches.
dastverifier
Package dastverifier ingests runtime-verifier results for AppSec findings.
Package dastverifier ingests runtime-verifier results for AppSec findings.
dastworkflow
Package dastworkflow coordinates the governed DAST verification lifecycle.
Package dastworkflow coordinates the governed DAST verification lifecycle.
egress
Package egress compiles an engagement scope into a default-deny egress policy: the concrete set of {destination, ports} a sandboxed tool may reach.
Package egress compiles an engagement scope into a default-deny egress policy: the concrete set of {destination, ports} a sandboxed tool may reach.
emulation
Package emulation runs adversary emulation (issue #421) as a SUBSET of the exploitation machine's guarantees, never a looser path.
Package emulation runs adversary emulation (issue #421) as a SUBSET of the exploitation machine's guarantees, never a looser path.
engagement
Package engagement (use case) implements engagement application logic.
Package engagement (use case) implements engagement application logic.
evidence
Package evidence is the tamper-evident evidence vault: it appends sealed, hash-chained links, stores artifacts content-addressed in a blob store, and verifies the chain on read – emitting an append-only tamper ALERT on any mismatch.
Package evidence is the tamper-evident evidence vault: it appends sealed, hash-chained links, stores artifacts content-addressed in a blob store, and verifies the chain on read – emitting an append-only tamper ALERT on any mismatch.
execution
Package execution holds the shared server-side execution guard: engagement scope + legal authorization-window enforcement with append-only audit, applied BEFORE any tool runs.
Package execution holds the shared server-side execution guard: engagement scope + legal authorization-window enforcement with append-only audit, applied BEFORE any tool runs.
exploitation
Package exploitation is the evidence-gated lifecycle for AI/exploitation findings.
Package exploitation is the evidence-gated lifecycle for AI/exploitation findings.
export
Package export builds deterministic SARIF 2.1.0 + OpenVEX documents from stored findings.
Package export builds deterministic SARIF 2.1.0 + OpenVEX documents from stored findings.
findings
Package findings handles the human findings workflow: manual authoring, triage status transitions (with optimistic concurrency), assignment, and the persisted comment thread.
Package findings handles the human findings workflow: manual authoring, triage status transitions (with optimistic concurrency), assignment, and the persisted comment thread.
fleet/clusterinventory
Package clusterinventory is the use-case layer for the Kubernetes cluster agent (#411, epic #405).
Package clusterinventory is the use-case layer for the Kubernetes cluster agent (#411, epic #405).
fleet/coverage
Package coverage is the fleet coverage read model (#413, epic #405): a tenant-scoped PROJECTION over agents, work orders and the asset model that answers, for each (asset, capability), what the coverage verdict is — with unknown/stale/refused/unauthorized/agent-missing kept as distinct states (domain/fleetcoverage) rather than collapsed into "clean".
Package coverage is the fleet coverage read model (#413, epic #405): a tenant-scoped PROJECTION over agents, work orders and the asset model that answers, for each (asset, capability), what the coverage verdict is — with unknown/stale/refused/unauthorized/agent-missing kept as distinct states (domain/fleetcoverage) rather than collapsed into "clean".
fleet/detect
Package detect is the agent-side detection engine (issue #422, phase 3).
Package detect is the agent-side detection engine (issue #422, phase 3).
fleet/detectledger
Package detectledger turns the agent-side detection engine's output (#422) into hash-chained, attributable evidence (#423).
Package detectledger turns the agent-side detection engine's output (#422) into hash-chained, attributable evidence (#423).
fleet/hostinventory
Package hostinventory is the use-case layer for the VM host agent (#410/#446, epic #405).
Package hostinventory is the use-case layer for the VM host agent (#410/#446, epic #405).
fleet/telemetry
Package telemetry is the agent-side raw-telemetry tier's control plane (#424, ADR 0001).
Package telemetry is the agent-side raw-telemetry tier's control plane (#424, ADR 0001).
fleetagentuc
Package fleetagentuc is the use-case layer for fleet agent identity (#409, epic #405): an operator mints a single-use enrolment token; an agent exchanges it for a long-lived bearer credential; the API authenticates every subsequent call by that credential.
Package fleetagentuc is the use-case layer for fleet agent identity (#409, epic #405): an operator mints a single-use enrolment token; an agent exchanges it for a long-lived bearer credential; the API authenticates every subsequent call by that credential.
fleetrolloutuc
Package fleetrolloutuc is the operator-facing lifecycle of an agent update rollout: set a target, promote it past the canary, pause it, resume it, and answer what one agent should be offered.
Package fleetrolloutuc is the operator-facing lifecycle of an agent update rollout: set a target, promote it past the canary, pause it, resume it, and answer what one agent should be offered.
fleetwork
Package fleetwork is the use-case layer for the fleet work order lifecycle (#407, epic #405): issue a signed, addressed, authorised order; let an agent claim orders addressed to it; and drive orders through the validated state machine.
Package fleetwork is the use-case layer for the fleet work order lifecycle (#407, epic #405): issue a signed, addressed, authorised order; let an agent claim orders addressed to it; and drive orders through the validated state machine.
fptriage
Package fptriage runs an LLM-assisted false-positive critique over safe-to-transmit first-party source-analysis findings (SAST and misconfig).
Package fptriage runs an LLM-assisted false-positive critique over safe-to-transmit first-party source-analysis findings (SAST and misconfig).
hotspots
Package hotspots contains Project Security Hotspot projection use cases.
Package hotspots contains Project Security Hotspot projection use cases.
issues
Package issues contains Project code-quality issue projection use cases.
Package issues contains Project code-quality issue projection use cases.
jsreach
Package jsreach implements deterministic Tier-1 reachability for npm components: does first-party JavaScript or TypeScript source actually import a given package?
Package jsreach implements deterministic Tier-1 reachability for npm components: does first-party JavaScript or TypeScript source actually import a given package?
leaderuc
Package leaderuc runs leader election over a fenced lease (#406, epic #405) so more than one control-plane instance can run while exactly one is the scheduler leader at a time.
Package leaderuc runs leader election over a fenced lease (#406, epic #405) so more than one control-plane instance can run while exactly one is the scheduler leader at a time.
llmverifier
Package llmverifier is the automated LLM judgment-verifier: it makes SYNAPSE_VERIFIER_MODEL live on the server.
Package llmverifier is the automated LLM judgment-verifier: it makes SYNAPSE_VERIFIER_MODEL live on the server.
offensivepolicy
Package offensivepolicy enforces the offensive governance policy (docs/redteam/offensive-policy.md, issue #418) before an offensive action is admitted.
Package offensivepolicy enforces the offensive governance policy (docs/redteam/offensive-policy.md, issue #418) before an offensive action is admitted.
orchestrator
Package orchestrator is the AI orchestrator – the typed Go state machine that owns control flow.
Package orchestrator is the AI orchestrator – the typed Go state machine that owns control flow.
ports
Package ports defines application boundaries.
Package ports defines application boundaries.
projectuc
Package projectuc implements project application logic.
Package projectuc implements project application logic.
promotion
Package promotion implements the use-case layer for deterministic finding-priority promotion.
Package promotion implements the use-case layer for deterministic finding-priority promotion.
purplecoverage
Package purplecoverage is the control plane that closes the purple loop (#426): it joins the offensive half of the ledger (an emulation.Run's per-technique coverage records — what each technique executed and EXPECTED to be detected, #421) with the defensive half (the detections that ACTUALLY fired on the same asset in the run window, #422/#423) and resolves a per-technique coverage verdict through the pure domain.
Package purplecoverage is the control plane that closes the purple loop (#426): it joins the offensive half of the ledger (an emulation.Run's per-technique coverage records — what each technique executed and EXPECTED to be detected, #421) with the defensive half (the detections that ACTUALLY fired on the same asset in the run window, #422/#423) and resolves a per-technique coverage verdict through the pure domain.
pyreach
Package pyreach answers Tier-1 Python reachability by IMPORT: a vulnerable PyPI package is "reachable" iff first-party code imports it.
Package pyreach answers Tier-1 Python reachability by IMPORT: a vulnerable PyPI package is "reachable" iff first-party code imports it.
qualitygates
Package qualitygates manages tenant-scoped quality-gate definitions.
Package qualitygates manages tenant-scoped quality-gate definitions.
qualityprofiles
Package qualityprofiles manages named, per-language quality profiles: built-in defaults generated from the rule catalog plus tenant-scoped custom copies, and their per-project assignment.
Package qualityprofiles manages named, per-language quality profiles: built-in defaults generated from the rule catalog plus tenant-scoped custom copies, and their per-project assignment.
reachability
Package reachability is the Tier-2 reachability query API: it wraps a ports.CallGraphBuilder + the deterministic callgraph domain queries into the service consumers use to turn "is this vulnerable symbol actually called?" into an evidence-backed reachability judgment.
Package reachability is the Tier-2 reachability query API: it wraps a ports.CallGraphBuilder + the deterministic callgraph domain queries into the service consumers use to turn "is this vulnerable symbol actually called?" into an evidence-backed reachability judgment.
reachproof
Package reachproof is the coordinator that turns a deterministic reachability result into a CONFIRMED reachability Judgment, reusing the existing audited propose→verify gate rather than any new confirmed-state path.
Package reachproof is the coordinator that turns a deterministic reachability result into a CONFIRMED reachability Judgment, reusing the existing audited propose→verify gate rather than any new confirmed-state path.
recon
Package recon orchestrates reconnaissance runs.
Package recon orchestrates reconnaissance runs.
report
Package report generates an engagement's report from stored data and seals it with a SHA-256 (chain-of-custody).
Package report generates an engagement's report from stored data and seals it with a SHA-256 (chain-of-custody).
response
Package response applies governed defensive response actions (issue #425): isolate a host, quarantine a file, stop a process.
Package response applies governed defensive response actions (issue #425): isolate a host, quarantine a file, stop a process.
riskstoryuc
Package riskstoryuc is the read-model assembler for the unified per-asset risk story (issue #427).
Package riskstoryuc is the read-model assembler for the unified per-asset risk story (issue #427).
safety
Package safety is the single admission gate for AI-proposed actions and the structural embodiment of the rule that AI orchestration is a typed Go state machine, not prompt-driven control flow.
Package safety is the single admission gate for AI-proposed actions and the structural embodiment of the rule that AI orchestration is a typed Go state machine, not prompt-driven control flow.
sarifingest
Package sarifingest accepts SARIF 2.1.0 from third-party scanners so external findings enter the same asset model, prioritisation and governance path as first-party ones — without ever being presented as this system's own analysis.
Package sarifingest accepts SARIF 2.1.0 from third-party scanners so external findings enter the same asset model, prioritisation and governance path as first-party ones — without ever being presented as this system's own analysis.
sbomcrosscheckjudge
Package sbomcrosscheckjudge (SBOM side) turns SBOM-PRODUCER cross-check DISAGREEMENTS into Judgments for human review.
Package sbomcrosscheckjudge (SBOM side) turns SBOM-PRODUCER cross-check DISAGREEMENTS into Judgments for human review.
sca
Package sca orchestrates the Software Composition Analysis pipeline.
Package sca orchestrates the Software Composition Analysis pipeline.
slauc
Package slauc coordinates tenant policy versions, immutable SLA assessments, and human-owned remediation transitions.
Package slauc coordinates tenant policy versions, immutable SLA assessments, and human-owned remediation transitions.
srcreach
Package srcreach implements deterministic Tier-1 reachability over a first-party source import scan, shared by every language whose dependency usage is observable as an import/require/use statement.
Package srcreach implements deterministic Tier-1 reachability over a first-party source import scan, shared by every language whose dependency usage is observable as an import/require/use statement.
taintscan
Package taintscan is the coordinator that turns a target's deterministic taint analysis into PROPOSED, gated CapSAST judgments – one per reported injection path × injection class – reusing the existing propose→verify gate.
Package taintscan is the coordinator that turns a target's deterministic taint analysis into PROPOSED, gated CapSAST judgments – one per reported injection path × injection class – reusing the existing propose→verify gate.
threatmodeluc
Package threatmodeluc is the architecture-input threat-model ingest use case: it accepts an UNTRUSTED architecture model (from the API), bounds its size, runs the domain's fail-closed Validate (referential integrity), persists it per engagement, and audits the action – the server-side enforcement the domain seam (internal/domain/threatmodel) is reasoned over by.
Package threatmodeluc is the architecture-input threat-model ingest use case: it accepts an UNTRUSTED architecture model (from the API), bounds its size, runs the domain's fail-closed Validate (referential integrity), persists it per engagement, and audits the action – the server-side enforcement the domain seam (internal/domain/threatmodel) is reasoned over by.
transfer
Package transfer implements engagement export/import: a portable bundle of an engagement's scope/findings/comments and its tamper-evident evidence chain.
Package transfer implements engagement export/import: a portable bundle of an engagement's scope/findings/comments and its tamper-evident evidence chain.
users
Package users manages operator identities + API keys.
Package users manages operator identities + API keys.
vex
Package vex consumes OpenVEX documents (CRA-aligned): a client hands Synapse a VEX doc asserting the exploitability status of vulnerabilities in their products, and Synapse applies each statement to the matching finding – e.g.
Package vex consumes OpenVEX documents (CRA-aligned): a client hands Synapse a VEX doc asserting the exploitability status of vulnerabilities in their products, and Synapse applies each statement to the matching finding – e.g.
worker
Package worker is the durable-queue claim-loop: it pulls jobs from a ports.JobQueue, dispatches each to a Handler registered by Kind, heartbeats long runs so their lease does not expire mid-flight, and Completes or Fails (with backoff) the job.
Package worker is the durable-queue claim-loop: it pulls jobs from a ports.JobQueue, dispatches each to a Handler registered by Kind, heartbeats long runs so their lease does not expire mid-flight, and Completes or Fails (with backoff) the job.
writeupdraftuc
Package writeupdraftuc is the use case for AI-proposed, human-gated finding write-up drafts ("human-gated authoritative drafts").
Package writeupdraftuc is the use case for AI-proposed, human-gated finding write-up drafts ("human-gated authoritative drafts").

Jump to

Keyboard shortcuts

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