@cdot65/prisma-airs 0.1.0 → 0.1.1
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/README.md +130 -0
- package/index.ts +3 -3
- package/openclaw.plugin.json +1 -1
- package/package.json +2 -1
package/README.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# @cdot65/prisma-airs
|
|
2
|
+
|
|
3
|
+
OpenClaw plugin for [Prisma AIRS](https://www.paloaltonetworks.com/prisma/ai-runtime-security) (AI Runtime Security) from Palo Alto Networks.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Gateway RPC**: `prisma-airs.scan`, `prisma-airs.status`
|
|
8
|
+
- **Agent Tool**: `prisma_airs_scan`
|
|
9
|
+
- **CLI**: `openclaw prisma-airs`, `openclaw prisma-airs-scan`
|
|
10
|
+
- **Bootstrap Hook**: Security reminder on agent startup
|
|
11
|
+
|
|
12
|
+
**Detection capabilities:**
|
|
13
|
+
|
|
14
|
+
- Prompt injection
|
|
15
|
+
- Data leakage (DLP)
|
|
16
|
+
- Malicious URLs
|
|
17
|
+
- Toxic content
|
|
18
|
+
- Database security
|
|
19
|
+
- Malicious code
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
openclaw plugins install @cdot65/prisma-airs
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Configuration
|
|
28
|
+
|
|
29
|
+
### 1. Set API Key
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
export PANW_AI_SEC_API_KEY="your-key-from-strata-cloud-manager"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 2. Plugin Config (optional)
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
plugins:
|
|
39
|
+
prisma-airs:
|
|
40
|
+
profile_name: "default"
|
|
41
|
+
app_name: "openclaw"
|
|
42
|
+
reminder_enabled: true
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Usage
|
|
46
|
+
|
|
47
|
+
### CLI
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Check status
|
|
51
|
+
openclaw prisma-airs
|
|
52
|
+
|
|
53
|
+
# Scan text
|
|
54
|
+
openclaw prisma-airs-scan "message to scan"
|
|
55
|
+
openclaw prisma-airs-scan --json "message"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Gateway RPC
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Status
|
|
62
|
+
openclaw gateway call prisma-airs.status
|
|
63
|
+
|
|
64
|
+
# Scan
|
|
65
|
+
openclaw gateway call prisma-airs.scan --params '{"prompt":"user input"}'
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Agent Tool
|
|
69
|
+
|
|
70
|
+
Agents can use `prisma_airs_scan` directly:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"tool": "prisma_airs_scan",
|
|
75
|
+
"params": {
|
|
76
|
+
"prompt": "content to scan",
|
|
77
|
+
"sessionId": "conversation-123"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### TypeScript
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
import { scan } from "@cdot65/prisma-airs";
|
|
86
|
+
|
|
87
|
+
const result = await scan({
|
|
88
|
+
prompt: "user message",
|
|
89
|
+
sessionId: "conv-123",
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
if (result.action === "block") {
|
|
93
|
+
console.log("Blocked:", result.categories);
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## ScanResult
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
interface ScanResult {
|
|
101
|
+
action: "allow" | "warn" | "block";
|
|
102
|
+
severity: "SAFE" | "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
|
|
103
|
+
categories: string[];
|
|
104
|
+
scanId: string;
|
|
105
|
+
reportId: string;
|
|
106
|
+
profileName: string;
|
|
107
|
+
promptDetected: { injection: boolean; dlp: boolean; urlCats: boolean };
|
|
108
|
+
responseDetected: { dlp: boolean; urlCats: boolean };
|
|
109
|
+
sessionId?: string;
|
|
110
|
+
trId?: string;
|
|
111
|
+
latencyMs: number;
|
|
112
|
+
error?: string;
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Requirements
|
|
117
|
+
|
|
118
|
+
- Node.js 18+
|
|
119
|
+
- OpenClaw Gateway
|
|
120
|
+
- Prisma AIRS API key ([Strata Cloud Manager](https://docs.paloaltonetworks.com/ai-runtime-security))
|
|
121
|
+
|
|
122
|
+
## Links
|
|
123
|
+
|
|
124
|
+
- [GitHub](https://github.com/cdot65/prisma-airs-plugin-openclaw)
|
|
125
|
+
- [Prisma AIRS Docs](https://docs.paloaltonetworks.com/ai-runtime-security)
|
|
126
|
+
- [API Reference](https://pan.dev/prisma-airs/)
|
|
127
|
+
|
|
128
|
+
## License
|
|
129
|
+
|
|
130
|
+
MIT
|
package/index.ts
CHANGED
|
@@ -96,7 +96,7 @@ export default function register(api: PluginApi): void {
|
|
|
96
96
|
const hasApiKey = isConfigured();
|
|
97
97
|
respond(true, {
|
|
98
98
|
plugin: "prisma-airs",
|
|
99
|
-
version: "0.1.
|
|
99
|
+
version: "0.1.1",
|
|
100
100
|
config: {
|
|
101
101
|
profile_name: cfg.profile_name ?? "default",
|
|
102
102
|
app_name: cfg.app_name ?? "openclaw",
|
|
@@ -185,7 +185,7 @@ export default function register(api: PluginApi): void {
|
|
|
185
185
|
const hasKey = isConfigured();
|
|
186
186
|
console.log("Prisma AIRS Plugin Status");
|
|
187
187
|
console.log("-------------------------");
|
|
188
|
-
console.log(`Version: 0.1.
|
|
188
|
+
console.log(`Version: 0.1.1`);
|
|
189
189
|
console.log(`Profile: ${cfg.profile_name ?? "default"}`);
|
|
190
190
|
console.log(`App Name: ${cfg.app_name ?? "openclaw"}`);
|
|
191
191
|
console.log(`Reminder: ${cfg.reminder_enabled ?? true}`);
|
|
@@ -236,7 +236,7 @@ export default function register(api: PluginApi): void {
|
|
|
236
236
|
// Export plugin metadata for discovery
|
|
237
237
|
export const id = "prisma-airs";
|
|
238
238
|
export const name = "Prisma AIRS Security";
|
|
239
|
-
export const version = "0.1.
|
|
239
|
+
export const version = "0.1.1";
|
|
240
240
|
|
|
241
241
|
// Re-export scanner types and functions
|
|
242
242
|
export { scan, isConfigured } from "./src/scanner";
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "prisma-airs",
|
|
3
3
|
"name": "Prisma AIRS Security",
|
|
4
4
|
"description": "AI Runtime Security scanning via Palo Alto Networks - TypeScript implementation with Gateway RPC, agent tool, and bootstrap reminder hook",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.1",
|
|
6
6
|
"hooks": ["hooks/prisma-airs-guard"],
|
|
7
7
|
"configSchema": {
|
|
8
8
|
"type": "object",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdot65/prisma-airs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Prisma AIRS (AI Runtime Security) plugin for OpenClaw - TypeScript implementation with Gateway RPC, agent tool, and bootstrap hook",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
"files": [
|
|
46
|
+
"README.md",
|
|
46
47
|
"index.ts",
|
|
47
48
|
"src/",
|
|
48
49
|
"hooks/",
|