Add support for defaulting to latest version and improve code structure

This commit is contained in:
Sahilb315
2025-04-25 20:53:07 +05:30
parent b8444d244b
commit d60fe87236
9 changed files with 426 additions and 166 deletions
+2 -19
View File
@@ -10,29 +10,12 @@ import (
packagev1 "buf.build/gen/go/safedep/api/protocolbuffers/go/safedep/messages/package/v1"
malysisv1 "buf.build/gen/go/safedep/api/protocolbuffers/go/safedep/services/malysis/v1"
"github.com/safedep/dry/log"
"github.com/safedep/pmg/pkg/common"
"github.com/safedep/pmg/pkg/common/utils"
"github.com/safedep/pmg/pkg/models"
vetUtils "github.com/safedep/vet/pkg/common/utils"
)
func FetchDependencies(packageName string) ([]string, error) {
fetcher := models.NewFlatteningFetcher()
name, version, err := utils.ParsePackageInfo(packageName)
if err != nil {
return nil, err
}
deps, err := fetcher.GetPackageDependencies(name, version)
flatDeps := common.FlattenDependencyTree(deps)
if err != nil {
return nil, fmt.Errorf("error while fetching package dependencies: %v\n", err)
}
return flatDeps, nil
}
func AnalysePackage(maliciousPkgs map[string]string, client malysisv1grpc.MalwareAnalysisServiceClient, ctx context.Context) vetUtils.WorkQueueFn[models.PackageAnalysisItem] {
return func(q *vetUtils.WorkQueue[models.PackageAnalysisItem], item models.PackageAnalysisItem) error {
func AnalysePackage(maliciousPkgs map[string]string, client malysisv1grpc.MalwareAnalysisServiceClient, ctx context.Context) vetUtils.WorkQueueFn[models.Package] {
return func(q *vetUtils.WorkQueue[models.Package], item models.Package) error {
var maliciousPkgsMutex sync.Mutex
resp, err := SubmitPackageForAnalysis(ctx, client,
packagev1.Ecosystem_ECOSYSTEM_NPM, item.Name, item.Version)