import { PluginManager, Runner, parseSession } from "@vulcn/engine";
import payloadsPlugin from "@vulcn/plugin-payloads";
import detectXss from "@vulcn/plugin-detect-xss";
async function main() {
// Create manager
const manager = new PluginManager();
// Option 1: Load from config file
await manager.loadConfig("./vulcn.config.yml");
await manager.loadPlugins();
// Option 2: Add plugins programmatically
manager.addPlugin(payloadsPlugin, { builtin: true });
manager.addPlugin(detectXss, { detectDialogs: true });
// Initialize
await manager.initialize();
// Check payloads
const payloads = manager.getPayloads();
console.log(`Loaded ${payloads.length} payload sets`);
// Run tests
const session = parseSession(yaml);
const result = await Runner.execute(
session,
{
headless: true,
},
{ pluginManager: manager },
);
// Get findings
const findings = manager.getFindings();
console.log(`Found ${findings.length} vulnerabilities`);
// Cleanup
await manager.destroy();
}