riogrande / virustotal
VirusTotal API v3接口
0.1.3
2023-05-10 07:58 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
- phpunit/phpunit: ^10.1
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功能。
如何测试代码
- 查看此存储库。
- 运行
composer update
以获取开发相关工具,如phpunit和php-cs-fixer。 - 在控制台中运行
php test.php
。 - 在控制台中运行
./runtests.sh
以使用phpunit。
如何添加到您的代码中
- 下载一个.phar或使用
./make-phar.sh
创建一个。 - 将
riogrande-virustotal-(version).phar
复制到您的代码文件夹中。 - 使用
require_once 'riogrande-virustotal-(version).phar';
要求文件。 - 尝试例如使用以下代码。
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相关的对象描述符
域名 & 解析
- [x] [获取域名报告](https://developers.virustotal.com/reference/domain-info)
- [√] [获取域的评论](https://developers.virustotal.com/reference/domains-comments-get)
- [√] [向域添加评论](https://developers.virustotal.com/reference/domains-comments-post)
- [√] [获取域的投票](https://developers.virustotal.com/reference/domains-votes-get)
- [√] [向域添加投票](https://developers.virustotal.com/reference/domain-votes-post)
- [√] [获取与域相关的对象](https://developers.virustotal.com/reference/domains-relationships)
- [√] [获取与域相关的对象描述符](https://developers.virustotal.com/reference/domains-relationships-ids)
- [√] [获取DNS解析对象](https://developers.virustotal.com/reference/get-resolution-by-id)
IP地址
- [√] 获取IP地址报告
- [√] 获取IP地址的评论
- [√] 向IP地址添加评论
- [√] 获取IP地址的投票
- [√] 向IP地址添加投票
- [√] 获取与IP地址相关的对象
- [√] 获取与IP地址相关的对象描述符
分析、提交与操作
- [ ] 获取URL/文件分析
- [ ] 获取与分析相关的对象
- [ ] 获取与分析相关的对象描述符
- [ ] 获取提交对象
- [ ] 获取操作对象
图表
- [ ] 搜索图表
- [ ] 创建图表
- [ ] 获取图表对象
- [ ] 更新图表对象
- [ ] 删除图表
- [ ] 获取图表的评论
- [ ] 向图表添加评论
- [ ] 获取可以查看图表的用户和组
- [ ] 授予用户和组查看图表的权限
- [ ] 检查用户或组是否可以查看图表
- [ ] 撤销用户或组的查看权限
- [ ] 获取可以编辑图表的用户和组
- [ ] 授予用户和组编辑图表的权限
- [ ] 检查用户或组是否可以编辑图表
- [ ] 撤销用户或组的编辑权限
- [ ] 获取与图表相关的对象
- [ ] 获取与图表相关的对象描述符
评论
- [ ] 获取最新评论
- [ ] 获取评论对象
- [ ] 更新评论
- [ ] 删除评论
- [ ] 向评论添加投票
- [ ] 获取与评论相关的对象
- [ ] 获取与评论相关的对象描述符
搜索与元数据
- [ ] 搜索文件、URL、域名、IP和标签评论
- [ ] 获取VirusTotal元数据
收藏夹
- [ ] 创建新的收藏夹
- [ ] 获取收藏夹
- [ ] 更新收藏夹
- [ ] 删除收藏夹
- [ ] 获取收藏夹的评论
- [ ] 向收藏夹添加评论
- [ ] 获取与收藏夹相关的对象
- [ ] 获取与收藏夹相关的对象描述符
- [ ] 向收藏夹添加新项目
- [ ] 从收藏夹中删除项目
攻击策略
- [ ] 获取攻击策略对象
- [ ] 获取与攻击策略相关的对象
- [ ] 获取与攻击策略相关的对象描述符
攻击技巧
- [ ] 获取攻击技巧对象
- [ ] 获取与攻击技巧相关的对象
- [ ] 获取与攻击技巧相关的对象描述符
流行威胁类别
- [ ] 获取流行威胁类别的列表