@kurox_real/agentkit-canaryguard-402 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action.d.ts +9 -8
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +71 -30
- package/dist/action.js.map +1 -1
- package/package.json +4 -1
package/dist/action.d.ts
CHANGED
|
@@ -34,26 +34,27 @@ export interface CanaryGuardSanitizeOutput {
|
|
|
34
34
|
risk_score_semantics: string;
|
|
35
35
|
limitations: string[];
|
|
36
36
|
};
|
|
37
|
+
paymentMode?: "x402_paid" | "x402_header" | "free_preview";
|
|
38
|
+
x402UpgradeHint?: string;
|
|
37
39
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Execute prompt-injection inspection and sanitization via CanaryGuard 402 microservice on Base.
|
|
40
|
-
*/
|
|
41
|
-
export declare function executeCanaryGuardSanitize(params: CanaryGuardSanitizeInput, options?: {
|
|
42
|
-
hostUrl?: string;
|
|
43
|
-
paymentHeader?: string;
|
|
44
|
-
useFreePreview?: boolean;
|
|
45
|
-
}): Promise<CanaryGuardSanitizeOutput>;
|
|
46
40
|
export interface CanaryGuardActionProviderConfig {
|
|
47
41
|
hostUrl?: string;
|
|
48
42
|
paymentHeader?: string;
|
|
43
|
+
privateKey?: `0x${string}` | string;
|
|
49
44
|
useFreePreview?: boolean;
|
|
45
|
+
customFetch?: typeof fetch;
|
|
50
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Execute prompt-injection inspection and sanitization via CanaryGuard 402 microservice on Base.
|
|
49
|
+
*/
|
|
50
|
+
export declare function executeCanaryGuardSanitize(params: CanaryGuardSanitizeInput, options?: CanaryGuardActionProviderConfig): Promise<CanaryGuardSanitizeOutput>;
|
|
51
51
|
/**
|
|
52
52
|
* Creates a Coinbase AgentKit ActionProvider for CanaryGuard 402.
|
|
53
53
|
*/
|
|
54
54
|
export declare function canaryGuardActionProvider(config?: CanaryGuardActionProviderConfig): {
|
|
55
55
|
name: string;
|
|
56
56
|
actionProviderName: string;
|
|
57
|
+
supportsNetwork: () => boolean;
|
|
57
58
|
getActions: () => {
|
|
58
59
|
name: string;
|
|
59
60
|
description: string;
|
package/dist/action.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,8BAA8B;;;;;;;;;EAazC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnF,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,KAAK,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,OAAO,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B;AAwCD;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,+BAA+B,GACxC,OAAO,CAAC,yBAAyB,CAAC,CA0DpC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,+BAA+B;;;;;;;;;;;;;;;;;uBAMzD,wBAAwB;;;;;;;;;;;;;;;uBAAxB,wBAAwB;;EAYhD"}
|
package/dist/action.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { x402Client, wrapFetchWithPayment } from "@x402/fetch";
|
|
3
|
+
import { ExactEvmScheme } from "@x402/evm/exact/client";
|
|
4
|
+
import { privateKeyToAccount } from "viem/accounts";
|
|
5
|
+
const EXPECTED_MERCHANT = "0x80e0ae84679b7f11be171daadd492fbecf628cd6";
|
|
6
|
+
const BASE_USDC = "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913";
|
|
7
|
+
const MAX_PER_CALL_MICRO_USDC = 50000n;
|
|
2
8
|
export const CanaryGuardSanitizeInputSchema = z.object({
|
|
3
9
|
content: z
|
|
4
10
|
.string()
|
|
@@ -11,6 +17,44 @@ export const CanaryGuardSanitizeInputSchema = z.object({
|
|
|
11
17
|
.default(true)
|
|
12
18
|
.describe("When true, blocks detected instruction overrides and wallet-draining commands"),
|
|
13
19
|
});
|
|
20
|
+
function resolvePrivateKey(explicitKey) {
|
|
21
|
+
const candidates = [
|
|
22
|
+
explicitKey,
|
|
23
|
+
typeof process !== "undefined" ? process.env?.X402_PRIVATE_KEY : undefined,
|
|
24
|
+
typeof process !== "undefined" ? process.env?.CANARYGUARD_PRIVATE_KEY : undefined,
|
|
25
|
+
typeof process !== "undefined" ? process.env?.EVM_PRIVATE_KEY : undefined,
|
|
26
|
+
typeof process !== "undefined" ? process.env?.BASE_PRIVATE_KEY : undefined,
|
|
27
|
+
];
|
|
28
|
+
for (const raw of candidates) {
|
|
29
|
+
if (typeof raw !== "string")
|
|
30
|
+
continue;
|
|
31
|
+
const cleaned = raw.trim().replace(/^0x/i, "");
|
|
32
|
+
if (/^[a-fA-F0-9]{64}$/.test(cleaned))
|
|
33
|
+
return `0x${cleaned}`;
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
function createPayingFetch(privateKey, baseFetch = fetch) {
|
|
38
|
+
const account = privateKeyToAccount(privateKey);
|
|
39
|
+
const client = new x402Client();
|
|
40
|
+
client.register("eip155:8453", new ExactEvmScheme(account));
|
|
41
|
+
client.onBeforePaymentCreation(async (context) => {
|
|
42
|
+
const req = context.selectedRequirements;
|
|
43
|
+
if (req.network !== "eip155:8453") {
|
|
44
|
+
throw new Error(`Rejected x402 network ${req.network}`);
|
|
45
|
+
}
|
|
46
|
+
if (req.asset.toLowerCase() !== BASE_USDC) {
|
|
47
|
+
throw new Error(`Rejected x402 asset ${req.asset}`);
|
|
48
|
+
}
|
|
49
|
+
if (req.payTo.toLowerCase() !== EXPECTED_MERCHANT) {
|
|
50
|
+
throw new Error(`Rejected x402 payTo ${req.payTo}`);
|
|
51
|
+
}
|
|
52
|
+
if (BigInt(req.amount) > MAX_PER_CALL_MICRO_USDC) {
|
|
53
|
+
throw new Error(`Rejected x402 amount ${req.amount}`);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return wrapFetchWithPayment(baseFetch, client);
|
|
57
|
+
}
|
|
14
58
|
/**
|
|
15
59
|
* Execute prompt-injection inspection and sanitization via CanaryGuard 402 microservice on Base.
|
|
16
60
|
*/
|
|
@@ -18,17 +62,19 @@ export async function executeCanaryGuardSanitize(params, options) {
|
|
|
18
62
|
const host = (options?.hostUrl ||
|
|
19
63
|
process.env.CANARYGUARD_URL ||
|
|
20
64
|
"https://canaryguard-402.onrender.com").replace(/\/$/, "");
|
|
65
|
+
const baseFetch = options?.customFetch ?? fetch;
|
|
66
|
+
const privateKey = resolvePrivateKey(options?.privateKey);
|
|
67
|
+
const paymentHeader = options?.paymentHeader || process.env.CANARYGUARD_PAYMENT_HEADER;
|
|
21
68
|
const usePreview = options?.useFreePreview === true ||
|
|
22
|
-
(!
|
|
69
|
+
(!privateKey && !paymentHeader && options?.useFreePreview !== false);
|
|
23
70
|
const url = `${host}${usePreview ? "/v1/sanitize/preview" : "/v1/sanitize"}`;
|
|
24
|
-
const headers = {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
headers["PAYMENT-SIGNATURE"] = options.paymentHeader;
|
|
29
|
-
headers["X-PAYMENT"] = options.paymentHeader;
|
|
71
|
+
const headers = { "Content-Type": "application/json" };
|
|
72
|
+
if (paymentHeader && !privateKey && !usePreview) {
|
|
73
|
+
headers["PAYMENT-SIGNATURE"] = paymentHeader;
|
|
74
|
+
headers["X-PAYMENT"] = paymentHeader;
|
|
30
75
|
}
|
|
31
|
-
const
|
|
76
|
+
const caller = privateKey && !usePreview ? createPayingFetch(privateKey, baseFetch) : baseFetch;
|
|
77
|
+
const res = await caller(url, {
|
|
32
78
|
method: "POST",
|
|
33
79
|
headers,
|
|
34
80
|
body: JSON.stringify({
|
|
@@ -37,13 +83,13 @@ export async function executeCanaryGuardSanitize(params, options) {
|
|
|
37
83
|
}),
|
|
38
84
|
});
|
|
39
85
|
if (res.status === 402) {
|
|
40
|
-
throw new Error(`CanaryGuard 402 Payment Required ($0.010 USDC via x402). Pass options.
|
|
86
|
+
throw new Error(`CanaryGuard 402 Payment Required ($0.010 USDC via x402). Pass options.privateKey or set X402_PRIVATE_KEY (Base USDC, 0 ETH gas) for automatic /v1/sanitize signing, or omit useFreePreview: false to evaluate via /v1/sanitize/preview.`);
|
|
41
87
|
}
|
|
42
88
|
if (!res.ok) {
|
|
43
89
|
const text = await res.text();
|
|
44
90
|
throw new Error(`CanaryGuard 402 error (${res.status}): ${text}`);
|
|
45
91
|
}
|
|
46
|
-
const data =
|
|
92
|
+
const data = await res.json();
|
|
47
93
|
return {
|
|
48
94
|
status: data.status,
|
|
49
95
|
riskScore: data.risk_score,
|
|
@@ -54,35 +100,30 @@ export async function executeCanaryGuardSanitize(params, options) {
|
|
|
54
100
|
safetyReceipt: data.safety_receipt,
|
|
55
101
|
recommendedActions: data.recommended_actions,
|
|
56
102
|
inspection: data.inspection,
|
|
103
|
+
paymentMode: usePreview ? "free_preview" : privateKey ? "x402_paid" : "x402_header",
|
|
104
|
+
x402UpgradeHint: usePreview
|
|
105
|
+
? "Evaluated via free /v1/sanitize/preview. Set X402_PRIVATE_KEY or pass { privateKey } (Base USDC, 0 ETH gas) to run full paid /v1/sanitize."
|
|
106
|
+
: undefined,
|
|
57
107
|
};
|
|
58
108
|
}
|
|
59
109
|
/**
|
|
60
110
|
* Creates a Coinbase AgentKit ActionProvider for CanaryGuard 402.
|
|
61
111
|
*/
|
|
62
112
|
export function canaryGuardActionProvider(config) {
|
|
113
|
+
const action = {
|
|
114
|
+
name: "canary_sanitize",
|
|
115
|
+
description: "Deterministic prompt-injection firewall and honeypot scrubber on Base via x402 (0.010 USDC). Auto-pays via @x402/fetch when X402_PRIVATE_KEY is set, or evaluates via /v1/sanitize/preview.",
|
|
116
|
+
schema: CanaryGuardSanitizeInputSchema,
|
|
117
|
+
invoke: async (args) => {
|
|
118
|
+
return await executeCanaryGuardSanitize(args, config);
|
|
119
|
+
},
|
|
120
|
+
};
|
|
63
121
|
return {
|
|
64
122
|
name: "canaryguard",
|
|
65
123
|
actionProviderName: "canaryguard",
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
description: "Deterministic prompt-injection firewall and honeypot scrubber on Base via x402 (0.010 USDC). Sanitizes untrusted text and blocks detected instruction overrides or wallet-draining commands.",
|
|
70
|
-
schema: CanaryGuardSanitizeInputSchema,
|
|
71
|
-
invoke: async (args) => {
|
|
72
|
-
return await executeCanaryGuardSanitize(args, config);
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
],
|
|
76
|
-
actions: [
|
|
77
|
-
{
|
|
78
|
-
name: "canary_sanitize",
|
|
79
|
-
description: "Deterministic prompt-injection firewall and honeypot scrubber on Base via x402 (0.010 USDC). Sanitizes untrusted text and blocks detected instruction overrides or wallet-draining commands.",
|
|
80
|
-
schema: CanaryGuardSanitizeInputSchema,
|
|
81
|
-
invoke: async (args) => {
|
|
82
|
-
return await executeCanaryGuardSanitize(args, config);
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
],
|
|
124
|
+
supportsNetwork: () => true,
|
|
125
|
+
getActions: () => [action],
|
|
126
|
+
actions: [action],
|
|
86
127
|
};
|
|
87
128
|
}
|
|
88
129
|
//# sourceMappingURL=action.js.map
|
package/dist/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kurox_real/agentkit-canaryguard-402",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Coinbase AgentKit Action Provider for CanaryGuard 402 prompt-injection firewall and honeypot scrubber on Base (x402 protocol gated).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -44,6 +44,9 @@
|
|
|
44
44
|
"directory": "plugins/agentkit-canaryguard"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
+
"@x402/evm": "^2.28.0",
|
|
48
|
+
"@x402/fetch": "^2.28.0",
|
|
49
|
+
"viem": "^2.57.4",
|
|
47
50
|
"zod": "^3.24.1"
|
|
48
51
|
},
|
|
49
52
|
"devDependencies": {
|