byfranke/sheep-analyze-cli

GitHub: byfranke/sheep-analyze-cli

这是一个命令行客户端,利用Sheep API对IP、域名、哈希等威胁指标进行AI驱动的分析,并提供结构化输出用于安全自动化。

Stars: 0 | Forks: 0

# Sheep Analyze 命令行工具 用于 Sheep API 的命令行客户端,专注于威胁指标 (IOC) 分析:IP、域名、文件哈希、URL 和 CVE。每个请求都经过威胁情报增强,并由 Sheep AI 模型响应,提供人类可读的叙述和适合 SOAR 的结构化负载。

Sheep Analyze CLI — quick summary

从终端进行 IOC 分析,由 Sheep API 驱动。
版本 2.2 | byFranke 2026

image **更多信息:** [分析网页](https://byfranke.com/pages/analyze.html) | [Sheep 文档](https://github.com/byfranke/sheep) ## 安装说明 ### 前置条件 - Python 3.7 或更高版本 - pip ### 快速安装 ``` curl -fsSL https://byfranke.com/analyze-cli-install | bash ``` ### 从源代码安装 ``` git clone https://github.com/byfranke/sheep-analyze-cli cd sheep-analyze-cli chmod +x analyze-cli.py setup.py install.sh bash install.sh python3 setup.py ``` 安装程序会创建两个符号链接:`analyze`(规范名称)和 `analyze-cli`(为向后兼容保留的旧别名)。您可以根据喜好选择使用任何一个 — 下面的所有示例都使用 `analyze`。 ## 配置 ### 加密设置(推荐) ``` python3 setup.py ``` 向导将: - 询问您的 [API 令牌](https://sheep.byfranke.com/pages/store) - 设置用于加密的主密码 - 将加密的令牌存储在 `~/.analyze/config.ini` - 将解密的令牌缓存到 `/tmp`(模式为 `0600`,限定于当前 shell 会话),这样您每个终端只需输入一次主密码 ### 一次性设置 ``` analyze --token "YOUR_TOKEN" 185.220.101.45 ``` 或者通过环境变量: ``` export SHEEP_API_TOKEN="YOUR_TOKEN" analyze 185.220.101.45 ``` 旧版变量 `ANALYZE_API_TOKEN` 仍被接受,但会显示弃用警告,并将在 v1.5 版本中移除。`SHEEP_API_TOKEN` 是所有其他 Sheep CLI 使用的同一个变量。 **存储:** 令牌使用 PBKDF2-SHA256(600,000 次迭代)加密,具有每次安装的随机盐值和 Fernet (AES-128 + HMAC-SHA256)。 **从 analyze-cli 1.2 升级:** 新的配置目录是 `~/.analyze/`。如果 `~/.analyze-cli/config.ini` 文件存在,CLI 仍会读取它,因此您可以无需重新运行设置即可升级。当您想要迁移时,请随时重新运行 `python3 setup.py`。 ## 用法 ### 基本用法 ``` analyze 185.220.101.45 # IP (auto-detected) analyze example.com # Domain analyze d41d8cd98f00b204e9800998ecf8427e # MD5 hash analyze https://suspicious-site.com/m # URL analyze CVE-2021-44228 # CVE ``` ### 使用的 Sheep 模型 每个 `/analyze` 调用均由 **Sheep Hunter** 模型提供服务。CLI 在此处不提供模型选择器。分析在设计上是有主见的,因此延迟、深度和计费在所有调用中保持一致。如果您需要更轻量级的 Scout 模型或更强大的 Sage 模型,请使用 `/ask` 接口(参见 [Sheep Ask CLI](https://github.com/byfranke/sheep-ask-cli)),那里暴露了模型选择器。 ### 输出格式 ``` analyze 8.8.8.8 # Pretty (default) analyze 8.8.8.8 --output json # JSON, for automation / SOAR analyze 8.8.8.8 --output table # Tabular summary analyze 8.8.8.8 --output stix # STIX 2.1 Bundle (MISP / OpenCTI / TheHive) ``` 美观输出会显示判定结果、置信度、提供服务的 Sheep 模型、执行摘要、关键发现、提取的 IoC、MITRE ATT&CK 技术、建议和参考文献。 ### STIX 2.1 互操作性 `--output stix` 选项会在标准输出上生成 STIX 2.1 Bundle(OASIS 规范),可以直接输入到任何支持 STIX 的工具:MISP、OpenCTI、TheHive、Cortex Analyzers、ThreatConnect、Anomali 或您自己的 TAXII 集合。其映射关系为: - **Identity** SDO — 标识生产者("Sheep AI")。 - **Indicator** SDO — 每个 IOC 一个,包含真实的 STIX 模式(`[ipv4-addr:value = '…']`, `[domain-name:value = '…']`, `[file:hashes.'SHA-256' = '…']`, `[url:value = '…']`)。 - **Vulnerability** SDO — 用于 CVE 目标,带有指向 NVD 的 `external_references`。 - **AttackPattern** SDO — 每个 MITRE ATT&CK 技术一个,带有指向 ATT&CK 注册表的 `external_references`。 - **Relationship** SDO — 将次要 IoC 和 ATT&CK 技术连接回主要指标(`related-to`)。 - **Note** SDO — 建议的操作,附加到主要指标。 - 判定结果(`malicious` / `suspicious` / `benign` / `inconclusive`)呈现为 STIX `indicator-type-ov` 标签。 - 置信度(0-100)传播到 Indicator / Vulnerability 的 `confidence` 字段。 快速管道到文件示例: ``` analyze 8.8.8.8 --output stix > ioc.json # 通过 misp-stix-converter 推送至 MISP,通过其 STIX2 连接器推送至 OpenCTI, # 通过 Cortex 推送至 TheHive 5,或使用 curl 推送至任何 TAXII 2.1 服务器。 ``` Bundle 由 Sheep API 在服务端构建(通过 `/api/ai/analyze` 上的 `?format=stix` 查询参数),并通过同一调用流式返回。CLI 无需安装任何 STIX 依赖项 — Sheep 是该格式的唯一真相来源,每个客户总是获得相同的规范映射。 ### 套餐和配额 ``` analyze plan ``` 显示您的套餐名称、状态、周期结束时间、您的套餐允许使用的模型,以及当前的令牌使用量/剩余预算。 ### 会话管理 ``` analyze --logout ``` 仅清除当前终端缓存的解密令牌。下次调用时将再次提示输入主密码。 ### 维护 ``` analyze --help # Show help analyze --version # Show version analyze --setup # Re-run the interactive setup wizard analyze --update # Pull the latest version from GitHub ``` ## 常见错误 1. **API 令牌缺失** — 使用 `python3 setup.py`、`--token` 标志或 `SHEEP_API_TOKEN` 环境变量配置您的令牌。新令牌可在 https://sheep.byfranke.com/pages/store 获取。 2. **HTTP 401 — 认证失败** — 令牌缺失、过期或已吊销。使用新令牌重新运行 `python3 setup.py`。 3. **HTTP 403 — 套餐未涵盖此请求** — 在 https://sheep.byfranke.com/pages/store 升级。 4. **HTTP 429 — 超出速率限制** — 等待一分钟。如果经常发生,请升级您的套餐。 5. **连接错误** — 检查您的互联网连接。 6. **无效的 IOC 类型** — 确保 IOC 格式正确,或让自动检测器处理。 ## 贡献 1. Fork 仓库 2. 创建功能分支 3. 进行更改 4. 运行测试 5. 提交拉取请求 ## 安全考虑 - **切勿将 API 令牌提交**到版本控制。 - 使用设置向导(加密)或 `SHEEP_API_TOKEN` 安全存储令牌。 - 对配置文件保持限制性权限: chmod 600 ~/.analyze/config.ini - 会话令牌缓存位于 `/tmp/analyze-cli-sess--`,模式为 `0600`,限定于您当前的 shell 会话。运行 `analyze --logout` 可以提前清除它。 ## 捐赠支持 此工具通过社区支持维护。帮助保持其活跃: [![Donate](https://img.shields.io/badge/Support-Development-blue?style=for-the-badge&logo=github)](https://buy.byfranke.com/b/8wM03kb3u7THeIgaEE)
标签:AMSI绕过, CVE分析, IOC分析, IP分析, Linux安全, Python, Sigma 规则, SOAR, URL分析, 人工智能, 哈希分析, 域名分析, 威胁情报, 威胁情报工具, 威胁检测, 威胁类型识别, 威胁级别评估, 安全建议, 开发者工具, 无后门, 用户模式Hook绕过, 结构化负载, 网络安全, 网络调试, 自动化, 逆向工具, 隐私保护