IPCheck
Use When
- A user provides one public IPv4 address and wants a compact identity, risk, abuse, and quality assessment.
- The user needs evidence from several independent passive data sources rather than a single proxy label.
Don't Use When
- The task is a latency, bandwidth, route, port, streaming, or local-network test.
- The target is private, CGNAT, loopback, link-local, multicast, reserved, or documentation address space.
- The user asks to scan, exploit, or actively probe an address.
Workflow
Extract exactly one IPv4 address. If none or more than one is present, ask the user to identify the target.
Run the bundled script with the address as a separate argument:
python "<skill-dir>/scripts/ipcheck.py" "<IPv4>"Preserve the script's four-row Markdown result and its conclusion. Use
--jsononly when the user requests source-level evidence or a discrepancy must be diagnosed.State when required sources are unavailable. Missing, rate-limited, unauthenticated, or failed sources are unknown, never clean.
Rules
- Use passive, read-only lookups only. Never run an exit-IP detection script that measures the executing machine instead of the user-supplied target.
- Treat one provider's VPN, proxy, or fraud label as a signal, not a definitive verdict.
- Do not equate data-center hosting with abuse. Keep network type and reputation separate.
- Read API credentials only from the optional environment variables in references/sources.md. Never ask users to paste secrets into chat, commands, reports, or repository files.
- Do not automate human-only web checkers or bypass captchas.
Examples
python "<skill-dir>/scripts/ipcheck.py" "8.8.8.8"
python "<skill-dir>/scripts/ipcheck.py" "8.8.8.8" --json
Edge Cases
- If validation rejects the address, report that it is not a routable public IPv4 and stop.
- If commercial sources are unavailable, report the reduced confidence rather than filling gaps with guesses.
- Spamhaus PBL is a mail-sending policy, not general maliciousness; it must not reduce the ordinary IP-quality score.
References
- Source and fallback policy
- Scoring policy
scripts/test_ipcheck.pyprovides offline fixtures for the checker.