hive-security-risk — Security Risk
Assess transaction-time risk — tokens, addresses, approvals, dApps, phishing,
simulations — and report severity, evidence, and remediation. Wrong "looks
fine" answers here cost users real money, so never conclude safety without a
tool-backed check.
Task toolset and identifiers
Toolset: security_risk. Read hive://toolsets/security_risk before
execution; it is authoritative for the current output schema, material-call
budget, phases, fallback condition, and stop conditions.
Required identifiers depend on the risk object: chain plus token contract,
wallet address, spender, dApp URL, or transaction payload. Never invent a
spender, owner, calldata, or URL — ask for whatever is missing.
Before choosing endpoints, select exactly one matching entry from the exact
workflow's routes[]. Follow its ordered steps, use a fallback only under that
step's published condition, stop at four material calls, and preserve the
selected route_id in the typed result. The broad coverageCatalog is discovery
coverage, not an execution plan.
Procedure
- Identify the risk object: token, address, approval, dApp, contract, or
transaction payload.
- Call
search_tools for the matching security/risk capabilities.
- Call
get_api_endpoint_schema for each endpoint before calling it.
- Run the narrowest risk check first; add simulation or approval analysis
only when the required payload/owner details exist.
- For Solana, send only the base64 serialized transaction to the GoPlus
pre-execution check. Never ask for or forward signing secrets.
- Report severity, evidence, and remediation steps.
- Do not provide signing guidance while a critical risk is unresolved.
Bounded calls
- Keep risk checks scoped to the provided contract, address, or payload.
- Avoid broad scans unless the user explicitly asks for an audit.
- Use severity and evidence rather than unsupported certainty.
Worked example
User: "A dApp wants unlimited approval of my USDC
(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) on Ethereum to spender
0x… — should I sign?"
- Collect chain, token contract, owner wallet, and spender — all four are
required before any approval analysis.
search_tools → {"query": "token approval allowance spender risk ethereum", "limit": 5}
get_api_endpoint_schema for the approval/address-risk endpoints returned,
then invoke_api_endpoint with schema-valid arguments.
- Report severity and remediation (for example "revoke, or approve a bounded
amount") using the template below. If the spender flags critical risk, say
"do not sign" plainly.
Report template
## Summary
[Risk level and the safest recommendation in one or two sentences.]
## Calls made
- Toolset: security_risk
- Endpoint(s): [exact endpoint names]
- Identifiers: [chain, risk object, addresses, payload]
## Evidence
- Flags: [provider risk flags with the fields that triggered them]
- Simulation/approval results: [if run]
- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]
## Caveats
[Missing payload, incomplete provider coverage, degraded/rate-limited provider.]
## Next action
[Revoke approval, avoid signing, retry simulation, or provide missing payload.]
Gotchas
- A token can pass metadata checks and still be risky.
plan_required means the tool exists but cannot run under current upstream
credentials — say the check is unavailable, never that the asset is safe.
- Do not provide signing instructions when a critical risk is unresolved.
Evidence receipt (required)
End every Hive-backed answer with a compact receipt built from the _hive
object on each material tool response:
provider, tool, fetched_at, observed_at, cache_age_ms, and runtime_status
receipt_id, receipt_version, server/build version, and SHA-256 input/result
digests when present (self-checks, not signatures)
source, cache_status, truncated, and any warnings
- canonical chain/entity identifiers plus block, slot, transaction, or query ids
present in provider data
- material provider disagreements and how they were handled
- checks that were unavailable, gated, stale, truncated, or intentionally not run
- a
claims[] citation from each material statement to exact receipt IDs
- one
coverage[] entry for every canonical evidence phase, with each gap explained
Never turn missing evidence into a clean result, silently merge conflicting
provider values, or omit a degraded/fallback call from the receipt.
observed_at is Hive's first-observation/original cache-population time, and
cache_age_ms: 0 only means newly retrieved by Hive. Use provider time, block,
slot, transaction, or candle close for source recency; if absent, mark it
unknown. Run validate_task_result before presenting the typed workflow result;
it checks structure but cannot authenticate an invented receipt.
Runtime status handling
rate_limited and degraded can be retried with backoff. plan_required
means the tool exists but the upstream account cannot execute it right now. A
blocked check is a caveat in the report, not a clean bill of health.
Hand-offs
- Broader "is this token a good buy" research →
hive-token-diligence.
- Wallet-wide activity review →
hive-wallet-investigation.
- Solana mint or transaction safety →
hive-solana-analysis.
1---2name: hive-security-risk3description: Use this skill before the user signs, approves, swaps, connects a wallet to a dApp, or touches an unknown contract, URL, or transaction payload — any "should I sign/approve/ape/connect" moment, even when the user only implies the transaction. Runs token, address, approval, phishing, and simulation risk checks and reports severity, evidence, and remediation instead of guessing. For research-style "is this token worth a look" questions use hive-token-diligence.4license: MIT5---67# hive-security-risk — Security Risk89Assess transaction-time risk — tokens, addresses, approvals, dApps, phishing,10simulations — and report severity, evidence, and remediation. Wrong "looks11fine" answers here cost users real money, so never conclude safety without a12tool-backed check.1314## Task toolset and identifiers1516Toolset: `security_risk`. Read `hive://toolsets/security_risk` before17execution; it is authoritative for the current output schema, material-call18budget, phases, fallback condition, and stop conditions.1920Required identifiers depend on the risk object: chain plus token contract,21wallet address, spender, dApp URL, or transaction payload. Never invent a22spender, owner, calldata, or URL — ask for whatever is missing.2324Before choosing endpoints, select exactly one matching entry from the exact25workflow's routes[]. Follow its ordered steps, use a fallback only under that26step's published condition, stop at four material calls, and preserve the27selected route_id in the typed result. The broad coverageCatalog is discovery28coverage, not an execution plan.2930## Procedure31321. Identify the risk object: token, address, approval, dApp, contract, or33 transaction payload.342. Call `search_tools` for the matching security/risk capabilities.353. Call `get_api_endpoint_schema` for each endpoint before calling it.364. Run the narrowest risk check first; add simulation or approval analysis37 only when the required payload/owner details exist.385. For Solana, send only the base64 serialized transaction to the GoPlus39 pre-execution check. Never ask for or forward signing secrets.406. Report severity, evidence, and remediation steps.417. Do not provide signing guidance while a critical risk is unresolved.4243## Bounded calls4445- Keep risk checks scoped to the provided contract, address, or payload.46- Avoid broad scans unless the user explicitly asks for an audit.47- Use severity and evidence rather than unsupported certainty.4849## Worked example5051User: "A dApp wants unlimited approval of my USDC52(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) on Ethereum to spender530x… — should I sign?"54551. Collect chain, token contract, owner wallet, and spender — all four are56 required before any approval analysis.572. `search_tools` → `{"query": "token approval allowance spender risk ethereum", "limit": 5}`583. `get_api_endpoint_schema` for the approval/address-risk endpoints returned,59 then `invoke_api_endpoint` with schema-valid arguments.604. Report severity and remediation (for example "revoke, or approve a bounded61 amount") using the template below. If the spender flags critical risk, say62 "do not sign" plainly.6364## Report template6566```markdown67## Summary68[Risk level and the safest recommendation in one or two sentences.]6970## Calls made71- Toolset: security_risk72- Endpoint(s): [exact endpoint names]73- Identifiers: [chain, risk object, addresses, payload]7475## Evidence76- Flags: [provider risk flags with the fields that triggered them]77- Simulation/approval results: [if run]78- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]7980## Caveats81[Missing payload, incomplete provider coverage, degraded/rate-limited provider.]8283## Next action84[Revoke approval, avoid signing, retry simulation, or provide missing payload.]85```8687## Gotchas8889- A token can pass metadata checks and still be risky.90- `plan_required` means the tool exists but cannot run under current upstream91 credentials — say the check is unavailable, never that the asset is safe.92- Do not provide signing instructions when a critical risk is unresolved.9394## Evidence receipt (required)9596End every Hive-backed answer with a compact receipt built from the `_hive`97object on each material tool response:9899- `provider`, `tool`, `fetched_at`, `observed_at`, `cache_age_ms`, and `runtime_status`100- `receipt_id`, `receipt_version`, server/build version, and SHA-256 input/result101 digests when present (self-checks, not signatures)102- `source`, `cache_status`, `truncated`, and any warnings103- canonical chain/entity identifiers plus block, slot, transaction, or query ids104 present in provider data105- material provider disagreements and how they were handled106- checks that were unavailable, gated, stale, truncated, or intentionally not run107- a `claims[]` citation from each material statement to exact receipt IDs108- one `coverage[]` entry for every canonical evidence phase, with each gap explained109110Never turn missing evidence into a clean result, silently merge conflicting111provider values, or omit a degraded/fallback call from the receipt.112`observed_at` is Hive's first-observation/original cache-population time, and113`cache_age_ms: 0` only means newly retrieved by Hive. Use provider time, block,114slot, transaction, or candle close for source recency; if absent, mark it115unknown. Run `validate_task_result` before presenting the typed workflow result;116it checks structure but cannot authenticate an invented receipt.117118## Runtime status handling119120`rate_limited` and `degraded` can be retried with backoff. `plan_required`121means the tool exists but the upstream account cannot execute it right now. A122blocked check is a caveat in the report, not a clean bill of health.123124## Hand-offs125126- Broader "is this token a good buy" research → `hive-token-diligence`.127- Wallet-wide activity review → `hive-wallet-investigation`.128- Solana mint or transaction safety → `hive-solana-analysis`.