# Ipcheck

> Check one public IPv4 address with passive identity, reputation, abuse, and proxy-risk sources. Use when a user asks about an IPv4 address's ownership, cleanliness, fraud risk, proxy status, or reputation; do not use for speed tests, routing, streaming-unlock tests, port scans, local-network diagnosis, or active probing.

- Skill: `liuyike200811-maker/ipcheck` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add liuyike200811-maker/ipcheck`
- Raw SKILL.md: https://api.skillmd.com/api/skills/liuyike200811-maker/ipcheck/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: liuyike200811-maker (https://skillmd.com/u/liuyike200811-maker)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/liuyike200811-maker/ipcheck

---


# 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

1. Extract exactly one IPv4 address. If none or more than one is present, ask the user to identify the target.
2. Run the bundled script with the address as a separate argument:

   ```powershell
   python "<skill-dir>/scripts/ipcheck.py" "<IPv4>"
   ```

3. Preserve the script's four-row Markdown result and its conclusion. Use `--json` only when the user requests source-level evidence or a discrepancy must be diagnosed.
4. 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](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

```powershell
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](references/sources.md)
- [Scoring policy](references/scoring.md)
- `scripts/test_ipcheck.py` provides offline fixtures for the checker.

