riogrande/virustotal

VirusTotal API v3接口

0.1.3 2023-05-10 07:58 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:34:55 UTC


README

VirusTotal

VirusTotal是一个文件(更多)扫描服务,它提供了一个详细记录的公共API,用于上传文件和访问信息。

RioGrande

RioGrande只是我为任何发布的PHP代码所选的顶级命名空间。这是一个对星际迷航飞船的笨拙引用——我的顶级命名空间都是以飞船命名的。

摘要

基本API v3功能以处理文件、IP和域名,检索报告、评论、投票(并添加它们)、行为...

对于所有请求,可以通过PHP数组访问返回的JSON数据。对于重要字段,正在实现getter。

创建一个新问题以请求新功能。

这是一个正在进行中的工作,由于代码测试很容易达到目前每天的API调用限制500次,所以进展缓慢。

随着时间的推移,将添加更多v3功能。

如何测试代码

  1. 查看此存储库。
  2. 运行composer update以获取开发相关工具,如phpunit和php-cs-fixer。
  3. 在控制台中运行php test.php
  4. 在控制台中运行./runtests.sh以使用phpunit。

如何添加到您的代码中

  1. 下载一个.phar或使用./make-phar.sh创建一个。
  2. riogrande-virustotal-(version).phar复制到您的代码文件夹中。
  3. 使用require_once 'riogrande-virustotal-(version).phar';要求文件。
  4. 尝试例如使用以下代码。
require_once 'riogrande-virustotal-(version).phar';

$sResource = '8c8fbcf80f0484b48a07bd20e512b103969992dbf81b6588832b08205e3a1b43';
$report = new \RioGrande\VirusTotal\APIv3\FileBehaviours($sResource);
$report->setAPIKey('caffee...');
$report->execute();
print_r($report->getUninstallValues());

或使用组合多个请求的元类

require_once 'riogrande-virustotal-(version).phar';

$sResource = '8c8fbcf80f0484b48a07bd20e512b103969992dbf81b6588832b08205e3a1b43';
$file = new \RioGrande\VirusTotal\APIv3\VTFile($sResource);
$file->setAPIKey('caffee...');
$behaviours = $file->getBehaviours();
print_r($behaviours->getUninstallValues());

支持的通用API端点

文件

  • [ ] 上传文件
  • [ ] 获取上传大文件的URL
  • [x] 获取文件报告
  • [ ] 请求文件重扫描(重新分析)
  • [x] 获取文件上的评论
  • [x] 向文件添加评论
  • [x] 获取文件上的投票
  • [x] 向文件添加投票
  • [ ] 获取与文件相关的对象
  • [ ] 获取与文件相关的对象描述符
  • [x] 获取文件所有行为报告的摘要
  • [x] 获取文件中观察到的所有MITRE ATT&CK技术的摘要
  • [x] 获取文件的所有行为报告
  • [ ] 从沙箱获取文件行为报告
  • [ ] 获取与行为报告相关的对象
  • [ ] 获取与行为报告相关的对象描述符
  • [ ] 获取详细HTML行为报告
  • [ ] 获取众包Sigma规则对象
  • [ ] 获取众包YARA规则集

URLs

  • [ ] 扫描URL
  • [ ] 获取URL分析报告
  • [ ] 请求URL重扫描(重新分析)
  • [ ] 获取URL上的评论
  • [ ] 向URL添加评论
  • [ ] 获取URL上的投票
  • [ ] 向URL添加投票
  • [ ] 获取与URL相关的对象
  • [ ] 获取与URL相关的对象描述符

域名 & 解析

IP地址

  • [√] 获取IP地址报告
  • [√] 获取IP地址的评论
  • [√] 向IP地址添加评论
  • [√] 获取IP地址的投票
  • [√] 向IP地址添加投票
  • [√] 获取与IP地址相关的对象
  • [√] 获取与IP地址相关的对象描述符

分析、提交与操作

  • [ ] 获取URL/文件分析
  • [ ] 获取与分析相关的对象
  • [ ] 获取与分析相关的对象描述符
  • [ ] 获取提交对象
  • [ ] 获取操作对象

图表

  • [ ] 搜索图表
  • [ ] 创建图表
  • [ ] 获取图表对象
  • [ ] 更新图表对象
  • [ ] 删除图表
  • [ ] 获取图表的评论
  • [ ] 向图表添加评论
  • [ ] 获取可以查看图表的用户和组
  • [ ] 授予用户和组查看图表的权限
  • [ ] 检查用户或组是否可以查看图表
  • [ ] 撤销用户或组的查看权限
  • [ ] 获取可以编辑图表的用户和组
  • [ ] 授予用户和组编辑图表的权限
  • [ ] 检查用户或组是否可以编辑图表
  • [ ] 撤销用户或组的编辑权限
  • [ ] 获取与图表相关的对象
  • [ ] 获取与图表相关的对象描述符

评论

  • [ ] 获取最新评论
  • [ ] 获取评论对象
  • [ ] 更新评论
  • [ ] 删除评论
  • [ ] 向评论添加投票
  • [ ] 获取与评论相关的对象
  • [ ] 获取与评论相关的对象描述符

搜索与元数据

  • [ ] 搜索文件、URL、域名、IP和标签评论
  • [ ] 获取VirusTotal元数据

收藏夹

  • [ ] 创建新的收藏夹
  • [ ] 获取收藏夹
  • [ ] 更新收藏夹
  • [ ] 删除收藏夹
  • [ ] 获取收藏夹的评论
  • [ ] 向收藏夹添加评论
  • [ ] 获取与收藏夹相关的对象
  • [ ] 获取与收藏夹相关的对象描述符
  • [ ] 向收藏夹添加新项目
  • [ ] 从收藏夹中删除项目

攻击策略

  • [ ] 获取攻击策略对象
  • [ ] 获取与攻击策略相关的对象
  • [ ] 获取与攻击策略相关的对象描述符

攻击技巧

  • [ ] 获取攻击技巧对象
  • [ ] 获取与攻击技巧相关的对象
  • [ ] 获取与攻击技巧相关的对象描述符

流行威胁类别

  • [ ] 获取流行威胁类别的列表