Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .beads/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@
# - linear.api_key → use LINEAR_API_KEY env var instead
# - github.token → use GITHUB_TOKEN env var instead

sync.remote: "git+https://github.com/thinksyncs/agents-secure-binding.git"
sync.remote: "git+https://github.com/ToppyMicroServices/agents-secure-binding.git"
2 changes: 1 addition & 1 deletion .github/workflows/checkproto.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.26.x
go-version: 1.26.6

- name: Set up protoc
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/hardware-attestation-red-team.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.26.x
go-version: 1.26.6
cache-dependency-path: go.sum

- name: Run hardware attestation replay gate
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.26.x
go-version: 1.26.6

- name: Verify module downloads
run: go mod verify
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.26.x
go-version: 1.26.6

- name: Create coverage directory
run: mkdir -p coverage
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.26.x
go-version: 1.26.6
cache-dependency-path: go.sum

- name: Verify modules
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/redis-sentinel-failover.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.26.x
go-version: 1.26.6
cache-dependency-path: go.sum

- name: Run real Redis Sentinel failover gate
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/security-red-team.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.26.x
go-version: 1.26.6
cache-dependency-path: go.sum

- name: Run Direct-Agent security red-team tests
Expand Down
4 changes: 2 additions & 2 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"title": "Agents Secure Binding",
"version": "0.4",
"version": "1.1.1",
"upload_type": "software",
"description": "A security-hardening profile and Go implementation helpers for binding upper-layer agent identity and authorization material to an accepted TLS 1.3 session, post-handshake platform-attestation facts, and local policy.",
"creators": [
Expand All @@ -20,7 +20,7 @@
],
"related_identifiers": [
{
"identifier": "https://github.com/thinksyncs/agents-secure-binding",
"identifier": "https://github.com/ToppyMicroServices/agents-secure-binding",
"relation": "isSupplementTo",
"scheme": "url"
}
Expand Down
2 changes: 1 addition & 1 deletion ATTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ replaced with local scratch implementations. Retained notices remain where the
file still contains derived Cocos code.

Agents Secure Binding profile documentation, tests, vectors, and profile helper
code are maintained by ToppyMicroServices OU unless a file states otherwise.
code are maintained by ToppyMicroServices unless a file states otherwise.
Cocos is implementation provenance and experience; it is not the normative
scope of the Session-Bound Agent Identity Profile.
8 changes: 4 additions & 4 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ type: software
authors:
- family-names: "Okutomi"
given-names: "Akira"
version: "0.4"
date-released: "2026-06-21"
repository-code: "https://github.com/thinksyncs/agents-secure-binding"
url: "https://github.com/thinksyncs/agents-secure-binding/releases/tag/v0.4"
version: "1.1.1"
date-released: "2026-08-04"
repository-code: "https://github.com/ToppyMicroServices/agents-secure-binding"
url: "https://github.com/ToppyMicroServices/agents-secure-binding/releases/tag/v1.1.1"
license: "Apache-2.0"
abstract: >
A security-hardening profile and Go implementation helpers for binding
Expand Down
14 changes: 11 additions & 3 deletions PUBLICATION_TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,17 @@ Release blockers and evidence limits for the public draft.

## Repository Identity

Resolved for public v0.5: the repository name, Go module path, imports,
protobuf `go_package` options, examples, and local documentation use
`github.com/thinksyncs/agents-secure-binding`.
The canonical repository is moving to
`github.com/ToppyMicroServices/agents-secure-binding`. Because the published
release line has reached `v1.1.1`, the breaking namespace migration uses the
Go module path `github.com/ToppyMicroServices/agents-secure-binding/v2` and
requires a v2 release. A v0.6.0 release would incorrectly move the published
version backwards.

The module declaration, internal imports, protobuf `go_package` options,
examples, and local documentation must use the v2 module path before that
release. Repository links, schema identifiers, and Git remotes use the
canonical repository URL without `/v2`.

## Recorded CI and Red-Team Status

Expand Down
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Agents Secure Binding

Agents Secure Binding is a verifier-side acceptance profile and implementation
repository for binding an Agent identity to the session, context, attestation
facts, and local policy under which it is accepted.
maintained by ToppyMicroServices OÜ. Its profile design, acceptance rules,
policy model, verifier-specific logic, and security tests are developed for
this project.

A verifier accepts an Agent only when a verified authority grant,
holder-of-key proof, accepted TLS or exported-authenticator session, freshness
Expand All @@ -13,8 +14,9 @@ The primary failure class is context diversion: accepting cryptographically
valid material for a different service, tenant, Agent, task, delegation, or
authority boundary than the verifier intended.

Release `v1.1.0` defines the supported verifier product surface for the
Direct-Agent v1 profile. It provides distinct attested and software-only
Release `v1.1.1` is the latest release in the supported v1 verifier product
line for the Direct-Agent v1 profile. It provides distinct attested and
software-only
production compositions covering role-separated trust keys, revocation, exact
TLS/action binding, TLS-protected distributed replay, and a concrete
non-Split-Knowledge protected-change consumer. See
Expand Down Expand Up @@ -218,8 +220,11 @@ for Agents Secure Binding.
The repository keeps the Apache-2.0 license and retained upstream notices. See
`ATTRIBUTION.md`.

Repository identity note: the public repository name and Go module path are
both `github.com/thinksyncs/agents-secure-binding`.
Repository identity note: the canonical public repository is
`github.com/ToppyMicroServices/agents-secure-binding`, and the next major Go
module path is `github.com/ToppyMicroServices/agents-secure-binding/v2`.
The Go module major version is independent of the Direct-Agent wire-profile
version.

## Verification Commands

Expand Down
8 changes: 5 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

## Supported Scope

This repository is pre-1.0 and currently publishes security-profile drafts,
tests, vectors, and implementation helpers. Security reports should target the
current `main` branch and any tagged release that remains publicly referenced.
This repository publishes a supported v1 verifier product surface together
with experimental security-profile drafts, tests, vectors, and implementation
helpers. Security reports should target the current `main` branch and any
tagged release that remains within the support window documented in
`docs/API_COMPATIBILITY.md`.

## Reporting a Vulnerability

Expand Down
6 changes: 3 additions & 3 deletions agent/algorithm/binary/binary.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import (
"os/exec"
"sync"

"github.com/thinksyncs/agents-secure-binding/agent/algorithm"
"github.com/thinksyncs/agents-secure-binding/agent/algorithm/logging"
"github.com/thinksyncs/agents-secure-binding/agent/events"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm/logging"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events"
)

var execCommand = exec.Command
Expand Down
4 changes: 2 additions & 2 deletions agent/algorithm/binary/binary_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import (
"os/exec"
"testing"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm/logging"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events/mocks"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/thinksyncs/agents-secure-binding/agent/algorithm/logging"
"github.com/thinksyncs/agents-secure-binding/agent/events/mocks"
)

func TestNewAlgorithm(t *testing.T) {
Expand Down
4 changes: 2 additions & 2 deletions agent/algorithm/docker/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import (
"errors"
"log/slog"

"github.com/thinksyncs/agents-secure-binding/agent/algorithm"
"github.com/thinksyncs/agents-secure-binding/agent/events"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events"
)

var (
Expand Down
2 changes: 1 addition & 1 deletion agent/algorithm/docker/docker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (
"os"
"testing"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events/mocks"
"github.com/stretchr/testify/assert"
"github.com/thinksyncs/agents-secure-binding/agent/events/mocks"
)

// TestNewAlgorithm tests the NewAlgorithm function.
Expand Down
2 changes: 1 addition & 1 deletion agent/algorithm/logging/logging.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"io"
"log/slog"

"github.com/thinksyncs/agents-secure-binding/agent/events"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events"
)

var (
Expand Down
6 changes: 3 additions & 3 deletions agent/algorithm/logging/logging_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import (
"strings"
"testing"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events/mocks"
mglog "github.com/ToppyMicroServices/agents-secure-binding/v2/internal/runtime/logging"
"github.com/ToppyMicroServices/agents-secure-binding/v2/pkg/manager"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/thinksyncs/agents-secure-binding/agent/events/mocks"
mglog "github.com/thinksyncs/agents-secure-binding/internal/runtime/logging"
"github.com/thinksyncs/agents-secure-binding/pkg/manager"
)

func TestStdoutWrite(t *testing.T) {
Expand Down
6 changes: 3 additions & 3 deletions agent/algorithm/python/python.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ import (
"path/filepath"
"sync"

"github.com/thinksyncs/agents-secure-binding/agent/algorithm"
"github.com/thinksyncs/agents-secure-binding/agent/algorithm/logging"
"github.com/thinksyncs/agents-secure-binding/agent/events"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm/logging"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events"
"google.golang.org/grpc/metadata"
)

Expand Down
4 changes: 2 additions & 2 deletions agent/algorithm/python/python_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ import (
"strings"
"testing"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm/logging"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events/mocks"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
"github.com/thinksyncs/agents-secure-binding/agent/algorithm/logging"
"github.com/thinksyncs/agents-secure-binding/agent/events/mocks"
"google.golang.org/grpc/metadata"
)

Expand Down
4 changes: 2 additions & 2 deletions agent/algorithm/results_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import (
"os"
"testing"

"github.com/thinksyncs/agents-secure-binding/agent/algorithm"
"github.com/thinksyncs/agents-secure-binding/internal"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm"
"github.com/ToppyMicroServices/agents-secure-binding/v2/internal"
)

func TestZipDirectory(t *testing.T) {
Expand Down
6 changes: 3 additions & 3 deletions agent/algorithm/wasm/wasm.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import (
"os/exec"
"sync"

"github.com/thinksyncs/agents-secure-binding/agent/algorithm"
"github.com/thinksyncs/agents-secure-binding/agent/algorithm/logging"
"github.com/thinksyncs/agents-secure-binding/agent/events"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm/logging"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events"
)

var execCommand = exec.Command
Expand Down
4 changes: 2 additions & 2 deletions agent/algorithm/wasm/wasm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import (
"testing"
"time"

"github.com/thinksyncs/agents-secure-binding/agent/algorithm/logging"
"github.com/thinksyncs/agents-secure-binding/agent/events/mocks"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/algorithm/logging"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/events/mocks"
)

const testWasm = "test.wasm"
Expand Down
4 changes: 2 additions & 2 deletions agent/api/grpc/endpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ package grpc
import (
"context"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent"
"github.com/ToppyMicroServices/agents-secure-binding/v2/pkg/attestation"
"github.com/go-kit/kit/endpoint"
"github.com/thinksyncs/agents-secure-binding/agent"
"github.com/thinksyncs/agents-secure-binding/pkg/attestation"
)

func algoEndpoint(svc agent.Service) endpoint.Endpoint {
Expand Down
6 changes: 3 additions & 3 deletions agent/api/grpc/endpoint_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import (
"errors"
"testing"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/mocks"
"github.com/ToppyMicroServices/agents-secure-binding/v2/pkg/attestation"
"github.com/stretchr/testify/mock"
"github.com/thinksyncs/agents-secure-binding/agent"
"github.com/thinksyncs/agents-secure-binding/agent/mocks"
"github.com/thinksyncs/agents-secure-binding/pkg/attestation"
"golang.org/x/crypto/sha3"
)

Expand Down
4 changes: 2 additions & 2 deletions agent/api/grpc/interceptors.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ package grpc
import (
"context"

"github.com/thinksyncs/agents-secure-binding/agent"
"github.com/thinksyncs/agents-secure-binding/agent/auth"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/auth"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
Expand Down
6 changes: 3 additions & 3 deletions agent/api/grpc/interceptors_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import (
"context"
"testing"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/auth"
"github.com/ToppyMicroServices/agents-secure-binding/v2/agent/auth/mocks"
"github.com/stretchr/testify/mock"
"github.com/thinksyncs/agents-secure-binding/agent"
"github.com/thinksyncs/agents-secure-binding/agent/auth"
"github.com/thinksyncs/agents-secure-binding/agent/auth/mocks"
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"
)
Expand Down
4 changes: 2 additions & 2 deletions agent/api/grpc/requests.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ package grpc
import (
"errors"

"github.com/thinksyncs/agents-secure-binding/pkg/attestation"
"github.com/thinksyncs/agents-secure-binding/pkg/attestation/vtpm"
"github.com/ToppyMicroServices/agents-secure-binding/v2/pkg/attestation"
"github.com/ToppyMicroServices/agents-secure-binding/v2/pkg/attestation/vtpm"
)

type algoReq struct {
Expand Down
6 changes: 3 additions & 3 deletions agent/api/grpc/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ import (
"io"
"strconv"

"github.com/ToppyMicroServices/agents-secure-binding/v2/agent"
"github.com/ToppyMicroServices/agents-secure-binding/v2/pkg/attestation"
"github.com/ToppyMicroServices/agents-secure-binding/v2/pkg/attestation/vtpm"
"github.com/go-kit/kit/endpoint"
"github.com/go-kit/kit/transport/grpc"
"github.com/thinksyncs/agents-secure-binding/agent"
"github.com/thinksyncs/agents-secure-binding/pkg/attestation"
"github.com/thinksyncs/agents-secure-binding/pkg/attestation/vtpm"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
Expand Down
Loading
Loading