0.0.3 • Published 7 months ago
@konseptdesign/virustotal v0.0.3
@konseptdesign/virustotal
A TypeScript client for the VirusTotal API v3.
Installation
# npm
npm install @konseptdesign/virustotal
# yarn
yarn add @konseptdesign/virustotal
# pnpm
pnpm add @konseptdesign/virustotalUsage
import VirusTotal from '@konseptdesign/virustotal';
// Initialize with your API key
const vt = new VirusTotal('YOUR_API_KEY');
// Method 1: Scan a URL and get the analysis ID
const scanResponse = await vt.scanUrl({ url: 'https://example.com' });
const analysisId = scanResponse.data.id;
console.log(`Analysis ID: ${analysisId}`);
// Method 2: Get analysis results for a specific analysis ID
const analysis = await vt.getAnalysis(analysisId);
console.log(`Status: ${analysis.data.attributes.status}`);
console.log(`Harmless detections: ${analysis.data.attributes.stats.harmless}`);
console.log(`Malicious detections: ${analysis.data.attributes.stats.malicious}`);
// Method 3: Scan URL and wait for results (convenience method)
const results = await vt.scanUrlAndWait('https://example.com');
console.log(`Malicious detections: ${results.data.attributes.stats.malicious}`);Features
- TypeScript support with comprehensive type definitions
- Modern ESM package
- URL scanning and analysis
- Polling mechanism to wait for analysis completion
Development
Prerequisites
- Node.js (latest LTS recommended)
- pnpm
Setup
# Install dependencies
pnpm installCommands
# Build the package
pnpm build
# Run tests
pnpm test
# Format code
pnpm prettier
# Run CI checks locally
pnpm run:ci
# Publish a new version (maintainers only)
pnpm local-releaseLicense
MIT © Alex Marinov