[FEATURE] Verify ML-DSA signatures embedded in provider docs (x-stackql-signature), with .sig fallback
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ả
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:getVerifiedDocBytesfetches<doc>.sig(local path, local cache or remote) and callsedcrypto.VerifyFileFromCertificateBytes. New path, tried first: if the doc carriesx-stackql-signature, pop it, canonicalise the remainder with the registry's shared package (RFC 8785 JSON),mldsa.Verifyagainst the embedded public key selected bykid, contextstackql-provider-doc-v1. No key: fall back to the.sigpath. Both present: embedded wins.- Dependency: bump
github.com/stackql/stackql-provider-registryfromv0.0.2-alpha01to the release that shipssigning/pqsig.go.modtogo 1.27forcrypto/mldsa(currently 1.26.10). VerifierConfig: addallowLegacySig(default true for the transition) so the.sigfallback can be switched off later.nopVerifyuntouched.- 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
- Blocked by stackql/stackql-provider-registry#482 step 1 (package release).
- This issue, then an any-sdk release.
- Unblocks stackql/stackql#856, which in turn unblocks the registry dropping
.sigfiles.
Notes
- Verification stays at doc-read time. Archive pull stays unverified; that is stackql/stackql#832's scope.
- Provider docs drive execution (
local_templatedand friends), so coverage must stay per doc, not onlyprovider.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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của stackql/any-sdk
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 78/100
-
[FEATURE] GraphQL mutation support (operationType, variables payload, errors-in-200 selection)Có thể làm lại được @jeffreyaven đã nhận 41 ngày trước và không có pull request nào đang mở. Đang mởenhancement
-
[FEATURE] Carry the naked upstream HTTP status code through the provider invoker boundaryCó thể làm lại được @jeffreyaven đã nhận 113 ngày trước và không có pull request nào đang mở. Đang mởenhancement
Tất cả issue của stackql/any-sdk
Issue tương tự
-
Project submission:Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
slavakurilyak/awesome-ai-agents#845 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
JakeChampion/lang#13132 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] deploy.restart_policy without condition drops the restart policyCó thể đã có người làm @akshat-lakhera đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
docker/compose#14383 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày