Install
openclaw skills install @jianfuli/ip-address-reputation-risk在本地或经确认的外部查询中核查单个已授权公网IP的归属、路由与网络风险信号
openclaw skills install @jianfuli/ip-address-reputation-riskUse this skill for a single public IPv4 or IPv6 address that the operator owns, that is publicly documented, or that the operator is explicitly authorized to investigate. The result is a time-stamped evidence report for human review. It is not an identity lookup, an automatic allow/deny decision, a location guarantee, or a platform-review tool.
--external. In an interactive terminal the CLI presents a YES
prompt. In a non-interactive process pass --confirm-external as well. --self requires both
flags; the IP discovery request is made only after confirmation.fast profile unless the user explicitly requests --profile comprehensive.
Do not silently expand the set of recipients.not-requested source states
where appropriate. Do not turn that state into error, zero risk, or a negative finding.Examples:
Local-only JSON:
python scripts/ip_intelligence.py 8.8.8.8 --format json
Interactive external lookup:
python scripts/ip_intelligence.py 8.8.8.8 --external --profile fast
Non-interactive external lookup:
python scripts/ip_intelligence.py 8.8.8.8 --external --confirm-external --format json
The removed --include-raw option must not be suggested or accepted.
The CLI request layer permits only audited HTTPS hosts and rejects credentials in URLs, user information, non-standard ports, and unapproved redirect destinations. The current domains and collection methods are listed in references/providers.md.
IPinfo and AbuseIPDB credentials, when independently configured, are request headers. IPQualityScore, Scamalytics, and ipdata API adapters are disabled; those services can appear only as validated official public-page evidence. The old plaintext IP-API adapter is removed.
Public-page evidence must contain the exact target IP, an official HTTPS source URL, an observation
time, and only the allowlisted normalized fields. Do not include raw responses, fn, email,
abuse-contact, analysis, or personalized-hostname fields. Use the local evidence import only after
the host has actually observed the official page.
Keep these distinctions in every report:
success: validated structured evidence was returned;skipped: an enabled provider needs a missing configured credential;not-requested: external collection was disabled, or an API adapter is intentionally disabled;unavailable: an experimental source could not be read or parsed;error: an enabled source failed validation, transport, or upstream processing.Absence of evidence is not low risk. Numeric risk comes only from upstream numeric scores. Boolean proxy, VPN, Tor, hosting, abuse, and bot signals remain contextual or unscored. Preserve provider identity, consensus, alternatives, conflicts, and timestamps.
Generate the requested representation with the CLI. Reports may contain the complete IP, geographic region, organization/ISP, allocation or route prefixes, and network-risk labels. Set restrictive file permissions; do not place reports in public Issues, demo sites, public logs, or uncontrolled shared storage. Delete them under the operator's retention schedule.
The JSON report must include policy metadata and the data_policy declaration. In external mode,
record external-confirmed and the provider domains that actually started a request. Reports must
not contain upstream raw payloads, contact details, credentials, or API keys. Never call an IP safe
based only on this report and never present it as proof of abuse.
Return a concise summary in the user's language containing the normalized target, risk score or
unknown, confidence, contributing numeric sources, consensus facts, material conflicts, contextual
signals, source-state counts, timestamp, and absolute paths to generated reports. State that the
report is an aid for authorized human review, not a legal conclusion or an automatic platform
decision.
If a network is unavailable, preserve explicit provider failures and continue with local evidence. If a public page is blocked or changes layout, keep it unavailable and report the gap. Do not invent values or bypass the restriction.
External requests may transmit an IP to a service provider outside China. The operator is responsible for checking authorization, notice, lawful basis, personal-information handling, data-export requirements, retention/deletion, and third-party terms. This skill and its MIT license are not legal advice and cannot establish compliance by themselves. Future support for customer or account logs requires a separate personal-information impact assessment and data-export design; it must not be added directly to v2.0.