🚫 GetAbandonedPackages
执行安全审计并筛选出已被标记为"已放弃维护"(abandoned)的包列表。底层调用 AuditWithJSON。
何时使用
使用已放弃维护的包存在安全和可维护性风险——上游不再发布安全补丁。本方法帮你快速发现这类包,以便规划替换。
签名
go
func (c *Composer) GetAbandonedPackages() ([]Vulnerability, error)参数
该方法无参数。
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 第一返回值 | []Vulnerability | Abandoned 字段为 true 的条目列表,无匹配时为空切片 |
| 第二返回值 | error | 执行或解析过程中发生错误时返回 |
说明
返回类型复用 Vulnerability 结构体,其中 Package、Version、Link 字段携带被放弃包的信息,Abandoned 为 true。
示例
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("未发现已放弃维护的包。")
}
}进阶
- 想要完整漏洞列表:使用 AuditWithJSON。
- 只关心高危漏洞:使用 GetHighSeverityVulnerabilities。
- 只需"有无问题"的布尔结论:使用 HasVulnerabilities。