shellward 0.5.8 → 0.5.10
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 +34 -0
- package/package.json +14 -3
- package/src/core/engine.ts +2 -2
- package/src/index.ts +1 -1
package/README.md
CHANGED
|
@@ -224,6 +224,23 @@ password: "MyP@ssw0rd!" → Detected (Password)
|
|
|
224
224
|
|
|
225
225
|
Remote vuln DB syncs every 24h, falls back to local DB when offline.
|
|
226
226
|
|
|
227
|
+
## Why ShellWard?
|
|
228
|
+
|
|
229
|
+
| Capability | ShellWard | [agentguard](https://github.com/GoPlusSecurity/agentguard) | [pipelock](https://github.com/luckyPipewrench/pipelock) | [Sage](https://github.com/avast/sage) | [AgentSeal](https://github.com/AgentSeal/agentseal) |
|
|
230
|
+
|---|---|---|---|---|---|
|
|
231
|
+
| **DLP data flow** (read→send=block) | ✅ | ❌ | Proxy-based | ❌ | ❌ |
|
|
232
|
+
| **Chinese PII** (ID card, bank card) | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
233
|
+
| **Chinese injection rules** | 18 rules | ❌ | ❌ | ❌ | ❌ |
|
|
234
|
+
| **Defense layers** | 8 | 3 | 11 (proxy) | ~2 | ~2 |
|
|
235
|
+
| **Zero dependencies** | ✅ (npm) | ✅ | Go binary | Cloud API | Python |
|
|
236
|
+
| **Runtime blocking** | ✅ | ✅ | ✅ (proxy) | ✅ | ❌ (scanner) |
|
|
237
|
+
| **Architecture** | In-process middleware | Hook-based guard | HTTP proxy | Hook + cloud | Scan + monitor |
|
|
238
|
+
| **Detection rules** | 32 | 24 | 36 DLP patterns | 200+ YAML | 191+ |
|
|
239
|
+
|
|
240
|
+
> ShellWard is the only tool with **DLP-style data flow tracking** + **Chinese language security** + **zero dependencies** in a single package.
|
|
241
|
+
>
|
|
242
|
+
> Recent research ([arXiv:2603.08665](https://arxiv.org/abs/2603.08665)) demonstrates GenAI discovering 38 real-world vulnerabilities in 7 hours — AI-powered attacks are scaling fast. Defense must be built into the agent layer.
|
|
243
|
+
|
|
227
244
|
## Author
|
|
228
245
|
|
|
229
246
|
[jnMetaCode](https://github.com/jnMetaCode) · Apache-2.0
|
|
@@ -281,6 +298,23 @@ guard.checkOutbound('send_email', {...}) // → { allowed: false } (读过敏
|
|
|
281
298
|
- **数据外泄链**:读敏感数据 → send_email / HTTP POST / curl 外发 = 拦截
|
|
282
299
|
- **零依赖**、零配置、Apache-2.0
|
|
283
300
|
|
|
301
|
+
### 为什么选 ShellWard?
|
|
302
|
+
|
|
303
|
+
| 能力 | ShellWard | [agentguard](https://github.com/GoPlusSecurity/agentguard) | [pipelock](https://github.com/luckyPipewrench/pipelock) | [Sage](https://github.com/avast/sage) | [AgentSeal](https://github.com/AgentSeal/agentseal) |
|
|
304
|
+
|---|---|---|---|---|---|
|
|
305
|
+
| **DLP 数据流** (读→发=拦截) | ✅ | ❌ | Proxy 架构 | ❌ | ❌ |
|
|
306
|
+
| **中文 PII 检测** (身份证、银行卡) | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
307
|
+
| **中文注入规则** | 18 条 | ❌ | ❌ | ❌ | ❌ |
|
|
308
|
+
| **防御层数** | 8 层 | 3 层 | 11 层(proxy) | ~2 层 | ~2 层 |
|
|
309
|
+
| **零依赖** | ✅ (npm) | ✅ | Go 二进制 | 需云 API | 需 Python |
|
|
310
|
+
| **运行时拦截** | ✅ | ✅ | ✅ (proxy) | ✅ | ❌ (扫描器) |
|
|
311
|
+
| **架构** | 进程内中间件 | Hook 守护 | HTTP 代理 | Hook + 云端 | 扫描 + 监控 |
|
|
312
|
+
| **检测规则数** | 32 | 24 | 36 DLP 模式 | 200+ YAML | 191+ |
|
|
313
|
+
|
|
314
|
+
> ShellWard 是唯一同时具备 **DLP 数据流追踪** + **中文语言安全** + **零依赖** 的 AI Agent 安全工具。
|
|
315
|
+
>
|
|
316
|
+
> 最新研究 ([arXiv:2603.08665](https://arxiv.org/abs/2603.08665)) 显示 GenAI 在 7 小时内发现 38 个真实漏洞 — AI 驱动的攻击正在规模化,防御必须内建到 Agent 层。
|
|
317
|
+
|
|
284
318
|
### 作者
|
|
285
319
|
|
|
286
320
|
[jnMetaCode](https://github.com/jnMetaCode) · Apache-2.0
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shellward",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "AI
|
|
3
|
+
"version": "0.5.10",
|
|
4
|
+
"description": "AI agent security & MCP security middleware — prompt injection detection, AI firewall, runtime guardrails & data-loss prevention for LLM tool calls. 8-layer defense against data exfiltration & dangerous commands. Zero dependencies. SDK + OpenClaw plugin. Supports LangChain, AutoGPT, Claude Code, Cursor, OpenAI Agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"shellward",
|
|
7
7
|
"ai-security",
|
|
@@ -20,7 +20,18 @@
|
|
|
20
20
|
"openclaw",
|
|
21
21
|
"sdk",
|
|
22
22
|
"PII",
|
|
23
|
-
"agent-security"
|
|
23
|
+
"agent-security",
|
|
24
|
+
"mcp-security",
|
|
25
|
+
"mcp",
|
|
26
|
+
"claude-code",
|
|
27
|
+
"ai-safety",
|
|
28
|
+
"ai-firewall",
|
|
29
|
+
"tool-call-security",
|
|
30
|
+
"runtime-security",
|
|
31
|
+
"agent-guard",
|
|
32
|
+
"data-loss-prevention",
|
|
33
|
+
"chinese-pii",
|
|
34
|
+
"injection-detection"
|
|
24
35
|
],
|
|
25
36
|
"author": "jnMetaCode",
|
|
26
37
|
"license": "Apache-2.0",
|
package/src/core/engine.ts
CHANGED
|
@@ -85,8 +85,8 @@ const LOW_RISK_TOOLS = new Set([
|
|
|
85
85
|
|
|
86
86
|
const PKG_INSTALL_PATTERN = /(?:npm|yarn|pnpm)\s+(?:install|add|i)\s|pip\s+install\s|gem\s+install\s/i
|
|
87
87
|
|
|
88
|
-
// Detect bash commands that send data externally (curl POST, wget POST, nc, etc.)
|
|
89
|
-
const BASH_NETWORK_EXFIL = /\b(?:curl\s.*(?:-X\s*(?:POST|PUT|PATCH)|--data|-d\s|-F\s)|wget\s.*--post|nc\s|ncat\s|python[23]?\s.*(?:http|requests|urllib|socket)|node\s.*(?:http|fetch|axios))/i
|
|
88
|
+
// Detect bash commands that send data externally (curl POST, wget POST, nc, mail, etc.)
|
|
89
|
+
const BASH_NETWORK_EXFIL = /\b(?:curl\s.*(?:-X\s*(?:POST|PUT|PATCH)|--data|-d\s|-F\s)|wget\s.*--post|nc\s|ncat\s|python[23]?\s.*(?:http|requests|urllib|socket)|node\s.*(?:http|fetch|axios)|(?:mail|mailx|sendmail|mutt|msmtp)\s)/i
|
|
90
90
|
|
|
91
91
|
const HONEYPOT_PATTERNS = [
|
|
92
92
|
/(?:^|\/)wallet\.(?:key|json|dat)$/i,
|
package/src/index.ts
CHANGED
|
@@ -20,7 +20,7 @@ import { registerAllCommands } from './commands/index'
|
|
|
20
20
|
import { checkForUpdate } from './update-check'
|
|
21
21
|
import { runAutoCheckOnStartup } from './auto-check'
|
|
22
22
|
|
|
23
|
-
const CURRENT_VERSION = '0.5.
|
|
23
|
+
const CURRENT_VERSION = '0.5.10'
|
|
24
24
|
|
|
25
25
|
// Re-export core engine for SDK usage
|
|
26
26
|
export { ShellWard } from './core/engine'
|