@tpmjs/tools-url-risk-heuristic
Analyze a URL for security risks using heuristics. Checks for IP addresses, suspicious TLDs, long URLs, unicode tricks, known phishing patterns, multiple subdomains, and URL shorteners. Returns a risk score from 0 to 1.
Test @tpmjs/tools-url-risk-heuristic (urlRiskHeuristic) with AI-powered execution
0/2000 characters
Install this tool and use it with the AI SDK
npm install @tpmjs/tools-url-risk-heuristicpnpm add @tpmjs/tools-url-risk-heuristicyarn add @tpmjs/tools-url-risk-heuristicbun add @tpmjs/tools-url-risk-heuristicdeno add npm:@tpmjs/tools-url-risk-heuristicimport { urlRiskHeuristic } from '@tpmjs/tools-url-risk-heuristic';import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { urlRiskHeuristic } from '@tpmjs/tools-url-risk-heuristic';
const result = await generateText({
model: openai('gpt-4o'),
tools: { urlRiskHeuristic },
prompt: 'Your prompt here...',
});
console.log(result.text);Available configuration options
urlstringThe URL to analyze for security risks
Schema extracted: 1/1/2026, 1:06:01 AM
Analyze URLs for security risks using heuristics.
npm install @tpmjs/tools-url-risk-heuristic
import { urlRiskHeuristic } from '@tpmjs/tools-url-risk-heuristic'; const result = await urlRiskHeuristic.execute({ url: 'http://192.168.1.1/login?verify=true' }); console.log(result); // { // url: 'http://192.168.1.1/login?verify=true', // riskScore: 0.75, // risks: [ // { // type: 'ip-address', // severity: 'high', // description: 'URL uses an IP address instead of a domain name' // }, // { // type: 'insecure-protocol', // severity: 'medium', // description: 'URL uses insecure protocol: http:' // }, // { // type: 'suspicious-keywords', // severity: 'medium', // description: 'URL contains suspicious keywords: login, verify' // } // ], // recommendations: [ // 'Legitimate websites typically use domain names, not IP addresses', // 'Use HTTPS for secure communication', // 'Suspicious keywords often indicate phishing attempts', // 'DO NOT click this link or enter sensitive information', // 'Verify the URL with the sender through a different channel' // ], // isHighRisk: true, // metadata: { // hostname: '192.168.1.1', // protocol: 'http:', // pathLength: 6, // hasPort: false // } // }
The risk score ranges from 0 to 1:
Individual risks are categorized by severity:
MIT
Downloads/month
0
Quality Score