Overview
This node performs ICP (Internet Content Provider) record lookups for given domain assets. It is useful in scenarios where users want to verify or enrich domain information with official ICP registration data, commonly used in China for websites. For example, security analysts or SOAR workflows can use this node to validate domains against ICP records to detect potentially suspicious or unregistered sites.
The node accepts input items containing domain metadata and queries a specified ICP API endpoint to retrieve ICP details. It then annotates each item with the ICP data if available and valid, optionally ignoring personal ICP records based on configuration.
Properties
| Name | Meaning |
|---|---|
| Only Success | If true, only items with successful ICP lookup results will be processed/outputted. |
| Icp API | The URL of the ICP API endpoint to query for ICP information. This is required. |
| Ignore Personal | If true, ICP records classified as personal ("个人") will be ignored/skipped. |
| Debug Mode | Enables additional debug information in the node's input and output for troubleshooting. |
Output
The node outputs the original input items enriched with an additional metadata.icp field inside each item's JSON data when ICP information is found and valid. The structure of the added ICP data corresponds to the response from the ICP API and includes fields such as:
host: The domain name.typ: The type of ICP record (e.g., company, personal).- Other ICP-related registration details as provided by the API.
Items that do not have valid ICP data or are filtered out (e.g., personal ICPs if ignored) remain unchanged or may be marked as unsuccessful depending on the "Only Success" setting.
No binary data output is produced by this node.
Dependencies
- Requires access to an external ICP API service, specified by the user via the "Icp API" property.
- The node makes HTTP POST requests to this API with a list of unique root domains extracted from input items.
- No internal credential types are referenced; the user must provide a valid API URL which may require authentication handled externally.
Troubleshooting
- Common issues:
- Invalid or unreachable ICP API URL will cause the node to throw an error.
- If the API returns a non-zero code, the node throws an error indicating failure to retrieve ICP data.
- Input items missing domain metadata or with malformed domains may result in no ICP data being attached.
- Error messages:
- Errors related to HTTP request failures or unexpected API responses.
- NodeApiError thrown when the API response code is not zero.
- Resolutions:
- Verify the ICP API URL is correct and accessible.
- Ensure input items contain valid domain metadata under
metadata.rootDomainor fallback domain extraction works. - Enable "Debug Mode" to get more detailed input/output information for diagnosing issues.
Links and References
- ICP Registration Information
- Relevant documentation for the external ICP API should be consulted for exact response formats and usage.