SuperAPI AI 工具集

discover-ai

安全与审计

查看项目

更新于 10-16 08:16

技能介绍

用途

Discover AI 用于帮助创始人或技术团队弄清自己的云账户和代码仓库里究竟运行着哪些 AI/ML 服务。它将分散在云平台配置和代码依赖中的 AI 使用情况汇总为一份统一的 AI 系统清单,便于后续盘点、治理或安全评估。

主要能力

  1. 云 AI 服务发现:通过 AWS 或 Azure 客户端识别云账户中的 AI 服务。
    • AWS:在设置了 aws_profile 时,调用 shasta.aws.ai_discovery 中的 discover_aws_ai_services,先验证凭据再执行发现。
    • Azure:在设置了 azure_subscription_id 时,调用 shasta.azure.ai_discovery 中的 discover_azure_ai_services,同样先验证凭据。
  2. 代码仓库 AI 使用扫描:使用独立源码扫描器 Whitney 扫描仓库,输出 JSON 结果,并逐条打印发现的问题(含严重级别、检查 ID 与标题),最后给出发现总数。
  3. 结果呈现:整理出云 AI 服务(按服务类型和数量)、代码中发现的 AI SDK(含版本)以及发现的安全问题(如硬编码密钥、提示注入风险等),并可建议进一步运行 /ai-scan 进行完整合规评估。

使用方式

所有命令依赖 shasta.config.json 中配置的 python_cmd、aws_profile、azure_subscription_id 和 github_repos,命令中的 <PYTHON_CMD> 需替换为该配置里的 python 命令。

云服务发现示例(AWS):

<PYTHON_CMD> -c "
import json
from shasta.config import get_aws_client
from shasta.aws.ai_discovery import discover_aws_ai_services

client = get_aws_client()
client.validate_credentials()
result = discover_aws_ai_services(client)
print(json.dumps(result, indent=2, default=str))
"

Azure 版本将上述模块与函数替换为 get_azure_client 与 discover_azure_ai_services。

代码仓库扫描:Whitney 是随附的独立源码扫描器,仓库地址为 github.com/transilienceai/whitney,如尚未安装可执行 pip install whitney。扫描命令:

whitney scan . --json > /tmp/whitney-findings.json 2>/dev/null || echo '[]' > /tmp/whitney-findings.json
<PYTHON_CMD> -c "
import json
data = json.load(open('/tmp/whitney-findings.json'))
for f in data:
    sev = (f.get('severity') or 'info').upper()
    print(f'[{sev}] {f.get(\"check_id\")}: {f.get(\"title\")}')
print(f'\nTotal: {len(data)} finding(s)')
"

适用场景

适用于需要建立 AI 资产台账的团队,例如在合规审计前盘点云上 AI 服务、梳理代码仓库中引入的 AI SDK 与版本、排查硬编码密钥或提示注入等潜在风险,并作为完整合规评估(/ai-scan)的前置步骤。

限制

该技能依赖已配置好的 shasta.config.json、有效的云凭据以及可用的 Whitney 扫描器;未设置相应字段时对应扫描不会执行(如未设置 aws_profile 则跳过 AWS 发现)。关于支持的平台范围、定价、输出格式细节等,资料中暂未提供。