Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[FEATURE] Verify ML-DSA signatures embedded in provider docs (x-stackql-signature), with .sig fallback

Đã đóng
#153 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Một pull request liên quan đã được merge.

  • #155 của @jeffreyaven — đã merge

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
38/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
cryptography, security

Hướng nghiên cứu

Start with internal/anysdk/registry.go and the VerifierConfig definition, then check whether stackql/stackql-provider-registry#482 has released the signing/pqsig package this work depends on. Follow the existing .sig verification path and use canonicalisation from the shared registry package. Done means the listed ML-DSA cases pass per document, legacy fallback is configurable, and verification remains off by default.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement go

Middle step of the registry's move to quantum-safe, embedded provider-doc signatures: stackql/stackql-provider-registry#482 (signing package) -> this issue (verification) -> stackql/stackql#856 (bump, config, docs). Verification is off by default in stackql (nopVerify: true), so this ships without changing user-facing behaviour. omnisdk, which is replacing any-sdk, gets the same verifier under stackql-labs/omnisdk#17.

NOTE: Must be compliant with at least FIPS 204.

What changes

  • internal/anysdk/registry.go: getVerifiedDocBytes fetches <doc>.sig (local path, local cache or remote) and calls edcrypto.VerifyFileFromCertificateBytes. New path, tried first: if the doc carries x-stackql-signature, pop it, canonicalise the remainder with the registry's shared package (RFC 8785 JSON), mldsa.Verify against the embedded public key selected by kid, context stackql-provider-doc-v1. No key: fall back to the .sig path. Both present: embedded wins.
  • Dependency: bump github.com/stackql/stackql-provider-registry from v0.0.2-alpha01 to the release that ships signing/pqsig. go.mod to go 1.27 for crypto/mldsa (currently 1.26.10).
  • VerifierConfig: add allowLegacySig (default true for the transition) so the .sig fallback can be switched off later. nopVerify untouched.
  • Canonicalisation comes from the shared registry package. Do not reimplement it here or signatures will not match.
  • Tests: fixtures signed at test time with ephemeral ML-DSA keys. Cases: valid, tampered after signing, unknown kid, no key with and without .sig, both present.

Sequence and dependencies

  1. Blocked by stackql/stackql-provider-registry#482 step 1 (package release).
  2. This issue, then an any-sdk release.
  3. Unblocks stackql/stackql#856, which in turn unblocks the registry dropping .sig files.

Notes

  • Verification stays at doc-read time. Archive pull stays unverified; that is stackql/stackql#832's scope.
  • Provider docs drive execution (local_templated and friends), so coverage must stay per doc, not only provider.yaml.
Ngôn ngữ chính
Go
Star
0
Fork
1
Merge trung bình
1 giờ 51 phút
Pull request đã merge (30 ngày)
7

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của stackql/any-sdk

Tất cả issue của stackql/any-sdk

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.