diff --git a/commands/policy/eval.go b/commands/policy/eval.go index 77a84d07e..2d516215c 100644 --- a/commands/policy/eval.go +++ b/commands/policy/eval.go @@ -388,6 +388,7 @@ func parseSource(input string) (*pb.SourceOp, error) { if err != nil { return nil, errors.Wrapf(err, "failed to parse image source reference") } + ref = reference.TagNameOnly(ref) return &pb.SourceOp{Identifier: "docker-image://" + ref.String()}, nil } if strings.HasPrefix(input, "git://") { diff --git a/policy/signatures.go b/policy/signatures.go index 5c87b2c2c..daa0178d2 100644 --- a/policy/signatures.go +++ b/policy/signatures.go @@ -89,6 +89,10 @@ func parseSignatures(ctx context.Context, getVerifier PolicyVerifierProvider, ac } desc := toOCIDescriptor(rootBlob.Descriptor_) + if desc.MediaType != ocispecs.MediaTypeImageIndex { + return nil, nil + } + sc, err := policyimage.ResolveSignatureChain(ctx, acp, desc, platform) if err != nil { return nil, errors.Wrapf(err, "resolving signature chain for image %s", desc.Digest)