Skip to content

⚠️ HasVulnerabilities

快速判断当前项目是否存在任何已知安全漏洞,返回布尔值。内部调用 AuditWithJSON 并检查 Found 计数。

何时使用

在 CI 门禁、部署前检查或健康检查中,只需一个"有无漏洞"的布尔结论时使用。该方法对 Composer 发现漏洞时返回非零退出码的情况做了容错处理:只要错误信息中包含 Foundvulnerabilities 字样,也会判定为存在漏洞。

签名

go
func (c *Composer) HasVulnerabilities() (bool, error)

参数

该方法无参数。

返回值

返回值类型说明
第一返回值booltrue 表示存在漏洞,false 表示未发现
第二返回值error检查过程中发生错误(非漏洞相关)时返回

提示

发现漏洞本身不会作为 error 返回——这正是本方法与直接调用 Audit 的关键区别。

示例

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)
	}

	hasVulns, err := comp.HasVulnerabilities()
	if err != nil {
		log.Fatalf("检查漏洞失败: %v", err)
	}

	if hasVulns {
		fmt.Println("警告: 项目中存在安全漏洞!")
	} else {
		fmt.Println("项目中未发现安全漏洞。")
	}
}

进阶

基于 MIT 许可证发布