Pre Flight

Security checks across malware telemetry and agentic risk

Overview

Pre Flight is a coherent guardrail integration, but it sends sensitive action and policy details to ICME and includes under-scoped automatic payment flows.

Install only if you trust ICME with proposed actions, policy rules, reasoning summaries, and audit metadata. Treat this as an advisory integration unless your runtime separately enforces mandatory checks and fail-closed behavior. Disable or tightly cap x402/agentcash paid flows, require human approval for signup and top-ups, protect the API key, and avoid sending secrets or unnecessary internal details in action descriptions or policies.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (22)

Intent-Code Divergence

Medium
Confidence
90% confidence
Finding
The `verify` section claims callers should pass structured variable values directly, but the example sends only a plain-English `action` string. This mismatch can cause integrators to use the endpoint incorrectly and believe they are getting deterministic structured validation when they may instead trigger weaker or unintended semantics, potentially bypassing expected guardrails.

Intent-Code Divergence

Low
Confidence
77% confidence
Finding
The setup text says account/payment setup is 'done once by a human, not the agent,' but nearby instructions provide automatable account-creation and payment flows, including x402 flows that an agent could invoke. In an agent-skill context, contradictory guidance weakens operator expectations and can lead to unauthorized account creation or spending.

External Transmission

Medium
Category
Data Exfiltration
Content
POST to `/v1/checkLogic` with the reasoning as a single string:

```bash
curl -s -X POST https://api.icme.io/v1/checkLogic \
  -H "Content-Type: application/json" \
  -d '{"reasoning": "<the reasoning, plan, or statements to check>"}'
```
Confidence
96% confidence
Finding
curl -s -X POST https://api.icme.io/v1/checkLogic \ -H "Content-Type: application/json" \ -d

External Transmission

Medium
Category
Data Exfiltration
Content
Same as checkIt but paid per-call via x402 USDC on Base. No API key or credits required. Useful when the agent has no ICME account but has access to x402-compatible payment.

```bash
curl -s -N -X POST https://api.icme.io/v1/checkItPaid \
  -H 'Content-Type: application/json' \
  -d "{
    \"policy_id\": \"$ICME_POLICY_ID\",
Confidence
95% confidence
Finding
curl -s -N -X POST https://api.icme.io/v1/checkItPaid \ -H 'Content-Type: application/json' \ -d "{ \"policy_id\": \"$ICME_POLICY_ID\", \"action\": \"<describe the action in plain English>

External Transmission

Medium
Category
Data Exfiltration
Content
**Option A — Card (simplest):**

```bash
curl -s -X POST https://api.icme.io/v1/createUserCard \
  -H 'Content-Type: application/json' \
  -d '{"username": "YOUR_USERNAME"}' | jq .
# Open checkout_url in your browser — $5.00 by card
Confidence
92% confidence
Finding
curl -s -X POST https://api.icme.io/v1/createUserCard \ -H 'Content-Type: application/json' \ -d

External Transmission

Medium
Category
Data Exfiltration
Content
**Option B — x402 USDC on Base (for crypto users):**

```bash
curl -s -X POST https://api.icme.io/v1/createUserX402 \
  -H 'Content-Type: application/json' \
  -d '{"username": "YOUR_USERNAME"}'
# x402 middleware handles $5.00 USDC payment automatically
Confidence
95% confidence
Finding
curl -s -X POST https://api.icme.io/v1/createUserX402 \ -H 'Content-Type: application/json' \ -d '{"username": "YOUR_USERNAME"}' # x402 middleware handles $5.00 USDC payment automatically # Return

External Transmission

Medium
Category
Data Exfiltration
Content
Write your rules in plain English — one constraint per numbered line:

```bash
curl -s -N -X POST https://api.icme.io/v1/makeRules \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
Confidence
88% confidence
Finding
curl -s -N -X POST https://api.icme.io/v1/makeRules \ -H 'Content-Type: application/json' \ -H "X-API-Key: YOUR_API_KEY" \ -d

External Transmission

Medium
Category
Data Exfiltration
Content
POST to `/v1/checkLogic` with the reasoning as a single string:

```bash
curl -s -X POST https://api.icme.io/v1/checkLogic \
  -H "Content-Type: application/json" \
  -d '{"reasoning": "<the reasoning, plan, or statements to check>"}'
```
Confidence
96% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
POST to `/v1/checkRelevance` with your `policy_id` and the proposed action:

```bash
curl -s -X POST https://api.icme.io/v1/checkRelevance \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $ICME_API_KEY" \
  -d "{
Confidence
93% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
POST to `/v1/checkIt` with your `policy_id` and the proposed action as a plain English string. Describe the action specifically — include amounts, recipients, subjects, and any other relevant details.

```bash
curl -s -N -X POST https://api.icme.io/v1/checkIt \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $ICME_API_KEY" \
  -d "{
Confidence
96% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Same as checkIt but paid per-call via x402 USDC on Base. No API key or credits required. Useful when the agent has no ICME account but has access to x402-compatible payment.

```bash
curl -s -N -X POST https://api.icme.io/v1/checkItPaid \
  -H 'Content-Type: application/json' \
  -d "{
    \"policy_id\": \"$ICME_POLICY_ID\",
Confidence
95% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
x402 client libraries (`@x402/fetch`, `x402-reqwest`, agentcash) handle this flow automatically:

```bash
npx agentcash fetch "https://api.icme.io/v1/checkItPaid" \
  -m POST \
  -b '{"policy_id":"YOUR_POLICY_ID","action":"<describe the action>"}'
```
Confidence
93% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Check structured values directly against a policy. No LLM extraction step — pass the variable values yourself. Use this when you already know the exact values and want a faster, more deterministic check.

```bash
curl -s -X POST https://api.icme.io/v1/verify \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $ICME_API_KEY" \
  -d "{
Confidence
89% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Same as verify but paid per-call via x402 USDC on Base. No API key required.

```bash
curl -s -X POST https://api.icme.io/v1/verifyPaid \
  -H 'Content-Type: application/json' \
  -d "{
    \"policy_id\": \"$ICME_POLICY_ID\",
Confidence
92% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Retrieve auto-generated test scenarios for your policy. Scenarios are sorted to surface the most likely-to-be-wrong variable combinations first.

```bash
curl -s https://api.icme.io/v1/policy/$ICME_POLICY_ID/scenarios \
  -H "X-API-Key: $ICME_API_KEY"
```
Confidence
84% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Approve or reject a scenario. Rejected scenarios queue corrections for the next refine call.

```bash
curl -s -X POST https://api.icme.io/v1/submitScenarioFeedback \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $ICME_API_KEY" \
  -d "{
Confidence
87% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Apply all queued thumbs-down annotations in a single rebuild. Streams via SSE. Your `policy_id` does not change.

```bash
curl -s -N -X POST https://api.icme.io/v1/refinePolicy \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $ICME_API_KEY" \
  -d "{\"policy_id\": \"$ICME_POLICY_ID\"}"
Confidence
83% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Run all saved test cases against the compiled policy to verify correctness.

```bash
curl -s -X POST https://api.icme.io/v1/runPolicyTests \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $ICME_API_KEY" \
  -d "{\"policy_id\": \"$ICME_POLICY_ID\"}"
Confidence
80% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
**Option A — Card (simplest):**

```bash
curl -s -X POST https://api.icme.io/v1/createUserCard \
  -H 'Content-Type: application/json' \
  -d '{"username": "YOUR_USERNAME"}' | jq .
# Open checkout_url in your browser — $5.00 by card
Confidence
92% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
**Option B — x402 USDC on Base (for crypto users):**

```bash
curl -s -X POST https://api.icme.io/v1/createUserX402 \
  -H 'Content-Type: application/json' \
  -d '{"username": "YOUR_USERNAME"}'
# x402 middleware handles $5.00 USDC payment automatically
Confidence
95% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
### 2. Top up credits

```bash
curl -s -X POST https://api.icme.io/v1/topUpCard \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"amount_usd": 10}' | jq .
Confidence
91% confidence
Finding
https://api.icme.io/

External Transmission

Medium
Category
Data Exfiltration
Content
Write your rules in plain English — one constraint per numbered line:

```bash
curl -s -N -X POST https://api.icme.io/v1/makeRules \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
Confidence
88% confidence
Finding
https://api.icme.io/

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal