是的,Anchore Engine支持扫描本地Docker镜像和来自DockerHub的私有Docker镜像中的漏洞。下面是一个使用Anchore Engine进行扫描的代码示例:
import anchore_engine.clients
from anchore_engine.clients import internal
# 配置Anchore Engine的连接信息
config = {
'url': 'http://:',
'credentials': {
'user': '',
'pass': ''
}
}
# 创建Anchore Engine的客户端
client = internal.AnchoreServiceClient(config)
# 从DockerHub拉取私有镜像
image_name = ''
image_tag = ''
registry = ''
username = ''
password = ''
pull_response = client.ingress_image(image_name, image_tag, registry=registry, username=username, password=password)
image_digest = pull_response['imageDigest']
# 扫描镜像中的漏洞
scan_response = client.scan_image(image_digest)
scan_status = scan_response['status']
# 获取扫描结果
vulnerabilities = []
if scan_status == 'analyzed':
vulns_response = client.get_image_vulnerabilities(image_digest)
vulnerabilities = vulns_response['vulnerabilities']
# 输出漏洞信息
for vuln in vulnerabilities:
print("漏洞ID: {}".format(vuln['vuln']))
print("漏洞描述: {}".format(vuln['description']))
print("漏洞严重程度: {}".format(vuln['severity']))
print("CVE编号: {}".format(vuln['vuln_id']))
注意替换代码中的,,,,,,和为实际的Anchore Engine连接信息和Docker镜像信息。
此代码示例使用Python的anchore_engine库来连接Anchore Engine,并通过Anchore Engine的API拉取、扫描和获取Docker镜像的漏洞信息。
上一篇:Anchore CLI被卡在“not_analyzing”和其他问题上
下一篇:anchoredvwapdoesn'tstartplottingatcondition(固定均价交易量加权平均线在条件下不开始绘制)