Skip to content

🚫 GetAbandonedPackages

执行安全审计并筛选出已被标记为"已放弃维护"(abandoned)的包列表。底层调用 AuditWithJSON

何时使用

使用已放弃维护的包存在安全和可维护性风险——上游不再发布安全补丁。本方法帮你快速发现这类包,以便规划替换。

签名

go
func (c *Composer) GetAbandonedPackages() ([]Vulnerability, error)

参数

该方法无参数。

返回值

返回值类型说明
第一返回值[]VulnerabilityAbandoned 字段为 true 的条目列表,无匹配时为空切片
第二返回值error执行或解析过程中发生错误时返回

说明

返回类型复用 Vulnerability 结构体,其中 PackageVersionLink 字段携带被放弃包的信息,Abandonedtrue

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.NewComposer("")
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	abandoned, err := comp.GetAbandonedPackages()
	if err != nil {
		log.Fatalf("获取已放弃的包失败: %v", err)
	}

	if len(abandoned) > 0 {
		fmt.Printf("发现 %d 个已放弃维护的包:\n", len(abandoned))
		for _, pkg := range abandoned {
			fmt.Printf("包: %s 版本: %s\n", pkg.Package, pkg.Version)
			fmt.Printf("详情: %s\n\n", pkg.Link)
		}
		fmt.Println("建议替换这些包以避免潜在的安全风险。")
	} else {
		fmt.Println("未发现已放弃维护的包。")
	}
}

进阶

基于 MIT 许可证发布