@elliotllliu/agent-shield 0.5.1 โ 0.5.2
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 +112 -2
- package/README.zh-CN.md +57 -0
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -1
- package/dist/reporter/html.d.ts +2 -0
- package/dist/reporter/html.js +116 -0
- package/dist/reporter/html.js.map +1 -0
- package/dist/reporter/terminal.js +21 -3
- package/dist/reporter/terminal.js.map +1 -1
- package/dist/rules/go-rust-security.d.ts +2 -0
- package/dist/rules/go-rust-security.js +72 -0
- package/dist/rules/go-rust-security.js.map +1 -0
- package/dist/rules/index.js +3 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/prompt-injection.js +3 -1
- package/dist/rules/prompt-injection.js.map +1 -1
- package/dist/rules/python-security.js +2 -1
- package/dist/rules/python-security.js.map +1 -1
- package/dist/scanner/files.js +1 -0
- package/dist/scanner/files.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@elliotllliu/agent-shield)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[]()
|
|
8
|
-
[]()
|
|
9
|
+
[]()
|
|
10
10
|
|
|
11
11
|
Catch data exfiltration, backdoors, prompt injection, tool poisoning, and supply chain attacks **before** they reach your AI agents.
|
|
12
12
|
|
|
@@ -346,6 +346,115 @@ False-positive-flagged findings are excluded from scoring.
|
|
|
346
346
|
| 40-69 | ๐ High Risk โ investigate before using |
|
|
347
347
|
| 0-39 | ๐ด Critical โ do not install |
|
|
348
348
|
|
|
349
|
+
## ๐ Integrate AgentShield Into Your Platform
|
|
350
|
+
|
|
351
|
+
> **Running a skill marketplace, MCP directory, or plugin registry? This section is for you.**
|
|
352
|
+
|
|
353
|
+
### The Problem You're Sitting On
|
|
354
|
+
|
|
355
|
+
Your platform lists hundreds (or thousands) of skills, MCP servers, and plugins. Users install them into AI agents that have access to **files, credentials, APIs, and shell commands**. But right now:
|
|
356
|
+
|
|
357
|
+
- โ **Nobody verifies what gets listed.** A skill with `eval(atob(...))` looks the same as a clean one.
|
|
358
|
+
- โ **Users can't tell safe from dangerous.** There's no security signal anywhere in the UI.
|
|
359
|
+
- โ **One bad skill = total compromise.** Data exfiltration, credential theft, reverse shells โ all from a single install.
|
|
360
|
+
|
|
361
|
+
In our scan of **493 Dify plugins**, we found **17 high-risk plugins (3.4%)** with real threats: `eval()` execution, pipe-to-shell patterns, and cross-file injection chains. These are live, published plugins that anyone can install right now.
|
|
362
|
+
|
|
363
|
+
**No skill platform currently verifies what it lists.** That's your opportunity.
|
|
364
|
+
|
|
365
|
+
### What You Get By Integrating
|
|
366
|
+
|
|
367
|
+
| | Without AgentShield | With AgentShield |
|
|
368
|
+
|---|---|---|
|
|
369
|
+
| **User trust** | "Is this skill safe?" โ users have no idea | ๐ข๐ก๐ ๐ด Security score on every listing |
|
|
370
|
+
| **Platform reputation** | Same as every other directory | "The only marketplace that verifies security" |
|
|
371
|
+
| **Bad actors** | Malicious skills sit undetected | Auto-flagged before users see them |
|
|
372
|
+
| **Liability** | You listed it, user got hacked | You warned them (or blocked it) |
|
|
373
|
+
| **Content** | Just another skill list | Security reports = valuable, unique content |
|
|
374
|
+
| **PR story** | Nothing to announce | "We scanned 10,000 skills โ here's what we found" |
|
|
375
|
+
|
|
376
|
+
### What It Costs You
|
|
377
|
+
|
|
378
|
+
**Nothing.**
|
|
379
|
+
|
|
380
|
+
- ๐ MIT licensed โ free forever, no API keys, no usage limits
|
|
381
|
+
- ๐ 100% offline โ scans run on YOUR server, zero data leaves your infra
|
|
382
|
+
- โก Fast โ ~200ms per skill, 10,000 skills in ~17 minutes (4 parallel workers)
|
|
383
|
+
- ๐ฆ One dependency โ `npx @elliotllliu/agent-shield scan <target> --format json`
|
|
384
|
+
|
|
385
|
+
### What Your Users See
|
|
386
|
+
|
|
387
|
+
**On the skill card:**
|
|
388
|
+
```
|
|
389
|
+
๐ฆ awesome-filesystem-tool โญ 342
|
|
390
|
+
by someauthor
|
|
391
|
+
|
|
392
|
+
๐ก๏ธ 92/100 ๐ข Verified Safe โ one glance, instant trust signal
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**On the detail page:**
|
|
396
|
+
```
|
|
397
|
+
Security Report ยท Powered by AgentShield
|
|
398
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
399
|
+
Score: 92/100 ๐ข Low Risk
|
|
400
|
+
12 files ยท 1,847 lines ยท scanned Mar 13, 2026
|
|
401
|
+
|
|
402
|
+
โ
No backdoors โ
No data exfiltration
|
|
403
|
+
โ
No prompt injection โ ๏ธ 1 low: env variable access without validation
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
Users can see exactly what was found, in which file, at which line. Full transparency.
|
|
407
|
+
|
|
408
|
+
### How to Integrate (5 minutes)
|
|
409
|
+
|
|
410
|
+
One command, structured JSON output:
|
|
411
|
+
|
|
412
|
+
```bash
|
|
413
|
+
npx @elliotllliu/agent-shield scan ./skill --format json
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
```json
|
|
417
|
+
{
|
|
418
|
+
"score": 92,
|
|
419
|
+
"totalFindings": 1,
|
|
420
|
+
"summary": { "high": 0, "medium": 0, "low": 1 },
|
|
421
|
+
"findings": [
|
|
422
|
+
{
|
|
423
|
+
"severity": "low",
|
|
424
|
+
"rule": "env-leak",
|
|
425
|
+
"file": "src/config.ts",
|
|
426
|
+
"line": 8,
|
|
427
|
+
"message": "Environment variable access without validation",
|
|
428
|
+
"evidence": "process.env.SECRET_KEY"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"scannedFiles": 12,
|
|
432
|
+
"scannedLines": 1847
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
Store the JSON, render the badge. That's it.
|
|
437
|
+
|
|
438
|
+
**Full integration guide** with Node.js/Python code templates, React components, database schema, error handling, and AI-readable specification:
|
|
439
|
+
|
|
440
|
+
๐ **[docs/integration-guide.md](docs/integration-guide.md)**
|
|
441
|
+
|
|
442
|
+
> Send this link to your dev team or AI coding agent โ it has everything needed to build the integration end-to-end.
|
|
443
|
+
|
|
444
|
+
### Who Should Integrate
|
|
445
|
+
|
|
446
|
+
| Platform Type | Examples | Integration Value |
|
|
447
|
+
|--------------|---------|-------------------|
|
|
448
|
+
| **Skill directories** | ClawHub, skills.sh | Security badges on every skill |
|
|
449
|
+
| **MCP registries** | mcp.so, Smithery, Glama | Scan MCP servers before listing |
|
|
450
|
+
| **Plugin marketplaces** | Dify store, GPT store | Gate submissions by security score |
|
|
451
|
+
| **Agent platforms** | OpenClaw, Cline, Cursor | Warn users before install |
|
|
452
|
+
| **Enterprise registries** | Internal tool catalogs | Compliance + audit trail |
|
|
453
|
+
|
|
454
|
+
**Already integrated by platforms scanning 500+ skills.** Join them.
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
349
458
|
## Comparison: AgentShield vs Snyk Agent Scan
|
|
350
459
|
|
|
351
460
|
| Feature | AgentShield | Snyk Agent Scan |
|
|
@@ -417,6 +526,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add new rules.
|
|
|
417
526
|
|
|
418
527
|
- ๐ฆ [npm](https://www.npmjs.com/package/@elliotllliu/agent-shield)
|
|
419
528
|
- ๐ [Rule Documentation](docs/rules.md)
|
|
529
|
+
- ๐ [Integration Guide](docs/integration-guide.md) โ Add AgentShield to your platform
|
|
420
530
|
- ๐จ๐ณ [ไธญๆ README](README.zh-CN.md)
|
|
421
531
|
|
|
422
532
|
## License
|
package/README.zh-CN.md
CHANGED
|
@@ -151,6 +151,62 @@ eval("{'a': 1}") # โ โ
ไธๆ ่ฎฐ๏ผๅฎๅ
จๅญ้ข้๏ผ
|
|
|
151
151
|
|
|
152
152
|
**6 ไธช็กฎ่ฎค้ซ้ฃ้ฉๆไปถ**ๅญๅจ็ๅฎ็ `eval()`/`exec()` ๆง่กๅจๆไปฃ็ ใ้ซ้ฃ้ฉ้ถ่ฏฏๆฅใ
|
|
153
153
|
|
|
154
|
+
## ๐ ๅฐ AgentShield ้ๆๅฐไฝ ็ๅนณๅฐ
|
|
155
|
+
|
|
156
|
+
**่ฟ่ฅ Skill ็ฎๅฝ็ซใMCP ๅธๅบๆๆไปถๆณจๅไธญๅฟ๏ผ** ้ๆ AgentShield ๆซๆ๏ผ็ปไฝ ็็จๆทๆไพๅ
ถไปๅนณๅฐๆฒกๆ็ๅ่ฝ๏ผ**ๆฏไธชไธๆถ้กน็ฎ้ฝๆๅฎๅ
จ่ฏๅใ**
|
|
157
|
+
|
|
158
|
+
### ไธบไปไน่ฆ้ๆ
|
|
159
|
+
|
|
160
|
+
2026 ๅนด Snyk ๆซๆไบไธไธชไธปๆต Agent Skill ๆณจๅไธญๅฟ๏ผๅ็ฐ **36% ็ skill ๅญๅจๅฎๅ
จ็ผบ้ท** โโ ๅไธชๅนณๅฐไธๅ็ฐไบ 1,467 ไธชๆถๆ payloadใ็จๆทๆ่ฟไบๅทฅๅ
ทๅฎ่ฃ
ๅฐ่ฝ่ฎฟ้ฎๆไปถใๅญ่ฏๅ API ็ AI Agent ไธญใไธไธชๆถๆ skill ๅฐฑ่ฝ็ชๅไธๅใ
|
|
161
|
+
|
|
162
|
+
**็ฎๅๆฒกๆไปปไฝ skill ็ฎๅฝ้ช่ฏๅ
ถๅๅบ็ๅ
ๅฎนใ** ๆไธบ็ฌฌไธไธชใ
|
|
163
|
+
|
|
164
|
+
### ไฝ ็ๅนณๅฐๅฐ่ทๅพ
|
|
165
|
+
|
|
166
|
+
| ไผๅฟ | ่ฏฆๆ
|
|
|
167
|
+
|------|------|
|
|
168
|
+
| ๐ **ไฟกไปปๅทฎๅผๅ** | ๆไธบๅฏไธไธไธช็จๆทๅฏไปฅๅฎ่ฃ
ๅ้ช่ฏ็็ฎๅฝ |
|
|
169
|
+
| ๐ก๏ธ **ๅฎๅ
จๅพฝ็ซ ** | ๆฏไธช skill ้ฝๆ ๐ข๐ก๐ ๐ด ่ฏๅ โโ ้ฃ้ฉไธ็ฎไบ็ถ |
|
|
170
|
+
| ๐ **ๆบ่ฝ็ญ้** | ็จๆทๆๅฎๅ
จ็ญ็บง่ฟๆปคใๆ่ฏๅๆๅบใ้่้ซๅฑ skill |
|
|
171
|
+
| ๐ **ๅๅธๆ
ไบ** | "ๆไปฌๆซๆไบ 19,000 ไธช skill โโ ็ปๆๅฆไธ" โโ ่ชๅธฆไผ ๆญๅ |
|
|
172
|
+
| ๐ **้ถๆๆฌ** | MIT ๅผๆบ๏ผๅจไฝ ็ๆๅกๅจไธ่ฟ่ก๏ผๆ API ่ดน็จ |
|
|
173
|
+
| ๐ **้ถๆฐๆฎๅ
ฑไบซ** | 100% ็ฆป็บฟ่ฟ่ก โโ ๆฐๆฎไธๅบไฝ ็ๆๅกๅจ |
|
|
174
|
+
| โก **ๆ้** | ๆฏไธช skill ็บฆ 200msใ10,000 ไธช skill ็บฆ 17 ๅ้๏ผ4 ๅนถๅ๏ผ |
|
|
175
|
+
|
|
176
|
+
### ๅฆไฝ้ๆ
|
|
177
|
+
|
|
178
|
+
ไธๆกๅฝไปคๆซๆไธไธช skill ๅนถ่ฟๅ็ปๆๅ JSON๏ผ
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
npx -y @elliotllliu/agent-shield scan ./skill --json
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
่ฟๅ๏ผ
|
|
185
|
+
```json
|
|
186
|
+
{
|
|
187
|
+
"score": 92,
|
|
188
|
+
"riskLevel": "low",
|
|
189
|
+
"filesScanned": 12,
|
|
190
|
+
"findings": [ ... ]
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**ๅฎๆด้ๆๆๅ๏ผๅซ Node.jsใPython ไปฃ็ ็คบไพใๆน้ๆซๆ่ๆฌใJSON Schemaใๆฐๆฎๅบ่ฎพ่ฎก๏ผ๏ผ**
|
|
195
|
+
|
|
196
|
+
๐ **[docs/integration-guide.md](docs/integration-guide.md)**
|
|
197
|
+
|
|
198
|
+
> ๆ่ฟไธช้พๆฅๅ็ปไฝ ็ๅผๅๅข้ๆ AI Agent โโ ๅ
ๅซๆๅปบ้ๆๆ้็ไธๅใ
|
|
199
|
+
|
|
200
|
+
### ้ๅ้ๆ็ๅนณๅฐ
|
|
201
|
+
|
|
202
|
+
- **Skill ็ฎๅฝ็ซ**๏ผๅฆ ClawHubใskills.shใAgent Skills Hub๏ผ
|
|
203
|
+
- **MCP Server ๆณจๅไธญๅฟ**๏ผๅฆ mcp.soใSmitheryใGlama๏ผ
|
|
204
|
+
- **ๆไปถๅธๅบ**๏ผๅฆ Dify ๆไปถๅๅบ๏ผ
|
|
205
|
+
- **AI Agent ๅนณๅฐ**๏ผๅฆ OpenClawใClineใCursor๏ผ
|
|
206
|
+
- **ไผไธๅ
้จๅทฅๅ
ทๆณจๅไธญๅฟ**
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
154
210
|
## ๅฏนๆฏ๏ผAgentShield vs Snyk Agent Scan
|
|
155
211
|
|
|
156
212
|
| ๅ่ฝ | AgentShield | Snyk Agent Scan |
|
|
@@ -207,6 +263,7 @@ jobs:
|
|
|
207
263
|
|
|
208
264
|
- ๐ฆ [npm](https://www.npmjs.com/package/@elliotllliu/agent-shield)
|
|
209
265
|
- ๐ [่งๅๆๆกฃ](docs/rules.md)
|
|
266
|
+
- ๐ [้ๆๆๅ](docs/integration-guide.md) โ ๅฐ AgentShield ๆทปๅ ๅฐไฝ ็ๅนณๅฐ
|
|
210
267
|
- ๐ฌ๐ง [English README](README.md)
|
|
211
268
|
|
|
212
269
|
## ่ฎธๅฏ่ฏ
|
package/dist/cli.js
CHANGED
|
@@ -10,6 +10,7 @@ import { generateBadgeSvg, generateBadgeMarkdown } from "./reporter/badge.js";
|
|
|
10
10
|
import { discoverAgents, printDiscovery } from "./discover.js";
|
|
11
11
|
import { resolveAiConfig, runLlmAnalysis } from "./llm-analyzer.js";
|
|
12
12
|
import { toSarif } from "./reporter/sarif.js";
|
|
13
|
+
import { generateHtmlReport } from "./reporter/html.js";
|
|
13
14
|
import { DEFAULT_CONFIG, DEFAULT_IGNORE } from "./config.js";
|
|
14
15
|
const program = new Command();
|
|
15
16
|
program
|
|
@@ -26,6 +27,7 @@ program
|
|
|
26
27
|
.option("--enable <rules>", "Comma-separated rules to enable (only these)")
|
|
27
28
|
.option("--ai", "Enable AI-powered deep analysis (requires API key)")
|
|
28
29
|
.option("--sarif", "Output results in SARIF format (GitHub Code Scanning compatible)")
|
|
30
|
+
.option("--html", "Output results as an HTML report")
|
|
29
31
|
.option("--output <file>", "Write output to file instead of stdout")
|
|
30
32
|
.option("--provider <provider>", "AI provider: openai | anthropic | ollama (default: auto-detect)")
|
|
31
33
|
.option("--model <model>", "AI model to use (e.g. gpt-4o, claude-sonnet-4-20250514, llama3)")
|
|
@@ -91,6 +93,12 @@ program
|
|
|
91
93
|
else
|
|
92
94
|
console.log(out);
|
|
93
95
|
}
|
|
96
|
+
else if (options.html) {
|
|
97
|
+
const out = generateHtmlReport(result);
|
|
98
|
+
const file = options.output || "agent-shield-report.html";
|
|
99
|
+
writeFileSync(file, out);
|
|
100
|
+
console.error(`๐ HTML report written to ${file}`);
|
|
101
|
+
}
|
|
94
102
|
else {
|
|
95
103
|
printReport(result);
|
|
96
104
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { riskLabel } from "../score.js";
|
|
2
|
+
function escHtml(s) {
|
|
3
|
+
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
4
|
+
}
|
|
5
|
+
export function generateHtmlReport(result) {
|
|
6
|
+
const { target, filesScanned, linesScanned, findings, score, duration } = result;
|
|
7
|
+
const high = findings.filter(f => f.severity === "high" && !f.possibleFalsePositive);
|
|
8
|
+
const medium = findings.filter(f => f.severity === "medium" && !f.possibleFalsePositive);
|
|
9
|
+
const low = findings.filter(f => f.severity === "low" && !f.possibleFalsePositive);
|
|
10
|
+
const scoreColor = score >= 90 ? "#22c55e" : score >= 70 ? "#eab308" : score >= 40 ? "#f97316" : "#ef4444";
|
|
11
|
+
const riskText = riskLabel(score);
|
|
12
|
+
const renderFinding = (f, i) => {
|
|
13
|
+
const loc = f.line ? `${escHtml(f.file)}:${f.line}` : escHtml(f.file);
|
|
14
|
+
const sevColor = f.severity === "high" ? "#ef4444" : f.severity === "medium" ? "#eab308" : "#22c55e";
|
|
15
|
+
return `<tr>
|
|
16
|
+
<td style="text-align:center"><span style="color:${sevColor};font-size:1.2em">${f.severity === "high" ? "๐ด" : f.severity === "medium" ? "๐ก" : "๐ข"}</span></td>
|
|
17
|
+
<td><code>${loc}</code></td>
|
|
18
|
+
<td><code>${escHtml(f.rule)}</code></td>
|
|
19
|
+
<td>${escHtml(f.message)}${f.evidence ? `<br><code style="color:#888;font-size:0.85em">${escHtml(f.evidence)}</code>` : ""}</td>
|
|
20
|
+
</tr>`;
|
|
21
|
+
};
|
|
22
|
+
return `<!DOCTYPE html>
|
|
23
|
+
<html lang="en">
|
|
24
|
+
<head>
|
|
25
|
+
<meta charset="UTF-8">
|
|
26
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
27
|
+
<title>AgentShield Report โ ${escHtml(target)}</title>
|
|
28
|
+
<style>
|
|
29
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
30
|
+
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #0d1117; color: #c9d1d9; padding: 2rem; }
|
|
31
|
+
.container { max-width: 960px; margin: 0 auto; }
|
|
32
|
+
h1 { color: #f0f6fc; margin-bottom: 0.5rem; }
|
|
33
|
+
.subtitle { color: #8b949e; margin-bottom: 2rem; }
|
|
34
|
+
.card { background: #161b22; border: 1px solid #30363d; border-radius: 8px; padding: 1.5rem; margin-bottom: 1.5rem; }
|
|
35
|
+
.score-section { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
|
|
36
|
+
.score-circle { width: 120px; height: 120px; border-radius: 50%; border: 6px solid ${scoreColor}; display: flex; align-items: center; justify-content: center; flex-direction: column; }
|
|
37
|
+
.score-num { font-size: 2.5rem; font-weight: bold; color: ${scoreColor}; }
|
|
38
|
+
.score-label { font-size: 0.85rem; color: ${scoreColor}; }
|
|
39
|
+
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1rem; flex: 1; }
|
|
40
|
+
.stat { text-align: center; }
|
|
41
|
+
.stat-value { font-size: 1.8rem; font-weight: bold; }
|
|
42
|
+
.stat-label { color: #8b949e; font-size: 0.85rem; }
|
|
43
|
+
.severity-bar { display: flex; gap: 1rem; margin: 1rem 0; flex-wrap: wrap; }
|
|
44
|
+
.severity-badge { padding: 0.4rem 1rem; border-radius: 20px; font-weight: 600; font-size: 0.9rem; }
|
|
45
|
+
.badge-high { background: rgba(239,68,68,0.15); color: #ef4444; }
|
|
46
|
+
.badge-medium { background: rgba(234,179,8,0.15); color: #eab308; }
|
|
47
|
+
.badge-low { background: rgba(34,197,94,0.15); color: #22c55e; }
|
|
48
|
+
table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
|
|
49
|
+
th { text-align: left; padding: 0.75rem; border-bottom: 2px solid #30363d; color: #8b949e; font-size: 0.85rem; text-transform: uppercase; }
|
|
50
|
+
td { padding: 0.75rem; border-bottom: 1px solid #21262d; vertical-align: top; }
|
|
51
|
+
code { background: #1c2128; padding: 0.15rem 0.4rem; border-radius: 4px; font-size: 0.85em; }
|
|
52
|
+
.footer { text-align: center; color: #484f58; margin-top: 2rem; font-size: 0.85rem; }
|
|
53
|
+
a { color: #58a6ff; text-decoration: none; }
|
|
54
|
+
a:hover { text-decoration: underline; }
|
|
55
|
+
</style>
|
|
56
|
+
</head>
|
|
57
|
+
<body>
|
|
58
|
+
<div class="container">
|
|
59
|
+
<h1>๐ก๏ธ AgentShield Scan Report</h1>
|
|
60
|
+
<p class="subtitle">Generated ${new Date().toISOString().split("T")[0]} ยท <a href="https://github.com/elliotllliu/agent-shield">github.com/elliotllliu/agent-shield</a></p>
|
|
61
|
+
|
|
62
|
+
<div class="card">
|
|
63
|
+
<div class="score-section">
|
|
64
|
+
<div class="score-circle">
|
|
65
|
+
<div class="score-num">${score}</div>
|
|
66
|
+
<div class="score-label">${riskText}</div>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="stats">
|
|
69
|
+
<div class="stat">
|
|
70
|
+
<div class="stat-value">${filesScanned}</div>
|
|
71
|
+
<div class="stat-label">Files Scanned</div>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="stat">
|
|
74
|
+
<div class="stat-value">${linesScanned >= 1000 ? (linesScanned / 1000).toFixed(1) + "K" : linesScanned}</div>
|
|
75
|
+
<div class="stat-label">Lines of Code</div>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="stat">
|
|
78
|
+
<div class="stat-value">${duration}ms</div>
|
|
79
|
+
<div class="stat-label">Scan Time</div>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="stat">
|
|
82
|
+
<div class="stat-value">${findings.filter(f => !f.possibleFalsePositive).length}</div>
|
|
83
|
+
<div class="stat-label">Findings</div>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<div class="card">
|
|
90
|
+
<h2 style="margin-bottom:1rem">๐ Summary</h2>
|
|
91
|
+
<p style="margin-bottom:0.5rem"><strong>Target:</strong> <code>${escHtml(target)}</code></p>
|
|
92
|
+
<div class="severity-bar">
|
|
93
|
+
${high.length > 0 ? `<span class="severity-badge badge-high">๐ด ${high.length} High</span>` : ""}
|
|
94
|
+
${medium.length > 0 ? `<span class="severity-badge badge-medium">๐ก ${medium.length} Medium</span>` : ""}
|
|
95
|
+
${low.length > 0 ? `<span class="severity-badge badge-low">๐ข ${low.length} Low</span>` : ""}
|
|
96
|
+
${high.length === 0 && medium.length === 0 && low.length === 0 ? '<span style="color:#22c55e;font-weight:600">โ
No security issues found!</span>' : ""}
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
${[...high, ...medium, ...low].length > 0 ? `
|
|
101
|
+
<div class="card">
|
|
102
|
+
<h2 style="margin-bottom:1rem">๐ Findings</h2>
|
|
103
|
+
<table>
|
|
104
|
+
<thead><tr><th>Sev</th><th>Location</th><th>Rule</th><th>Details</th></tr></thead>
|
|
105
|
+
<tbody>
|
|
106
|
+
${[...high, ...medium, ...low].map((f, i) => renderFinding(f, i)).join("\n ")}
|
|
107
|
+
</tbody>
|
|
108
|
+
</table>
|
|
109
|
+
</div>` : ""}
|
|
110
|
+
|
|
111
|
+
<p class="footer">Powered by <a href="https://github.com/elliotllliu/agent-shield">AgentShield</a> ยท 31 security rules ยท Open source (MIT)</p>
|
|
112
|
+
</div>
|
|
113
|
+
</body>
|
|
114
|
+
</html>`;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/reporter/html.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,16 +12,23 @@ const SEVERITY_LINE = {
|
|
|
12
12
|
};
|
|
13
13
|
export function printReport(result) {
|
|
14
14
|
const { target, filesScanned, linesScanned, findings, score, duration } = result;
|
|
15
|
+
const divider = chalk.dim("โ".repeat(60));
|
|
15
16
|
console.log();
|
|
17
|
+
console.log(divider);
|
|
16
18
|
console.log(chalk.bold("๐ก๏ธ AgentShield Scan Report"));
|
|
17
|
-
console.log(
|
|
19
|
+
console.log(divider);
|
|
20
|
+
console.log(chalk.dim(`๐ Target: ${target}`));
|
|
21
|
+
console.log(chalk.dim(`๐ Files: ${filesScanned} files, ${formatLines(linesScanned)}`));
|
|
22
|
+
console.log(chalk.dim(`โฑ Time: ${duration}ms`));
|
|
23
|
+
console.log(divider);
|
|
18
24
|
console.log();
|
|
19
25
|
// Summary line first
|
|
20
26
|
const high = findings.filter(f => f.severity === "high" && !f.possibleFalsePositive).length;
|
|
21
27
|
const medium = findings.filter(f => f.severity === "medium" && !f.possibleFalsePositive).length;
|
|
22
28
|
const low = findings.filter(f => f.severity === "low" && !f.possibleFalsePositive).length;
|
|
23
29
|
const scoreColor = score >= 90 ? chalk.green : score >= 70 ? chalk.yellow : score >= 40 ? chalk.hex("#FF8800") : chalk.red;
|
|
24
|
-
|
|
30
|
+
const scoreBar = generateScoreBar(score);
|
|
31
|
+
console.log(scoreColor.bold(`Score: ${score}/100`) + " " + scoreBar + " " + scoreColor(`(${riskLabel(score)})`));
|
|
25
32
|
console.log();
|
|
26
33
|
if (high > 0)
|
|
27
34
|
console.log(chalk.red(`๐ด High Risk: ${high} finding${high > 1 ? "s" : ""}`));
|
|
@@ -57,7 +64,11 @@ export function printReport(result) {
|
|
|
57
64
|
console.log(chalk.dim(`โน๏ธ ${fpFindings.length} possible false positive${fpFindings.length > 1 ? "s" : ""} suppressed (use --show-fp to display)`));
|
|
58
65
|
console.log();
|
|
59
66
|
}
|
|
60
|
-
|
|
67
|
+
if (findings.filter(f => !f.possibleFalsePositive).length === 0) {
|
|
68
|
+
console.log(chalk.green.bold("โ
No security issues found!"));
|
|
69
|
+
console.log();
|
|
70
|
+
}
|
|
71
|
+
console.log(divider);
|
|
61
72
|
console.log();
|
|
62
73
|
}
|
|
63
74
|
function formatLines(n) {
|
|
@@ -65,6 +76,13 @@ function formatLines(n) {
|
|
|
65
76
|
return `${(n / 1000).toFixed(1)}K lines`;
|
|
66
77
|
return `${n} lines`;
|
|
67
78
|
}
|
|
79
|
+
function generateScoreBar(score) {
|
|
80
|
+
const width = 20;
|
|
81
|
+
const filled = Math.round((score / 100) * width);
|
|
82
|
+
const empty = width - filled;
|
|
83
|
+
const color = score >= 90 ? chalk.green : score >= 70 ? chalk.yellow : score >= 40 ? chalk.hex("#FF8800") : chalk.red;
|
|
84
|
+
return color("โ".repeat(filled)) + chalk.dim("โ".repeat(empty));
|
|
85
|
+
}
|
|
68
86
|
function groupBy(arr, fn) {
|
|
69
87
|
const result = {};
|
|
70
88
|
for (const item of arr) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/reporter/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,aAAa,GAA2B;IAC5C,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;IAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACtC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;CAChC,CAAC;AAEF,MAAM,aAAa,GAA0C;IAC3D,IAAI,EAAE,KAAK,CAAC,GAAG;IACf,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,GAAG,EAAE,KAAK,CAAC,KAAK;CACjB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEjF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,KAAK,YAAY,WAAW,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/reporter/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const GO_PATTERNS = [
|
|
2
|
+
// Command injection
|
|
3
|
+
{ pattern: /\bexec\.Command\s*\(\s*(?:user|input|req|r\.|args|param|query|cmd)/m, desc: "Command injection โ user input in exec.Command()", severity: "high", category: "cmd-injection" },
|
|
4
|
+
{ pattern: /\bexec\.CommandContext\s*\(/m, desc: "Command execution via exec.CommandContext()", severity: "medium", category: "cmd-exec" },
|
|
5
|
+
// SQL injection
|
|
6
|
+
{ pattern: /\bdb\.(?:Query|Exec|QueryRow)\s*\(\s*(?:ctx\s*,\s*)?(?:fmt\.Sprintf|"[^"]*"\s*\+|\w+\s*\+)/m, desc: "SQL injection โ string concatenation in query", severity: "high", category: "sql-injection" },
|
|
7
|
+
// Path traversal
|
|
8
|
+
{ pattern: /\bos\.(?:Open|ReadFile|WriteFile|Create)\s*\(\s*(?:r\.|req\.|user|input|param|filepath\.Join\([^)]*r\.)/m, desc: "Path traversal โ user input in file operations", severity: "high", category: "path-traversal" },
|
|
9
|
+
// SSRF
|
|
10
|
+
{ pattern: /\bhttp\.(?:Get|Post|NewRequest)\s*\(\s*(?:user|input|req|r\.|param|query)/m, desc: "SSRF โ user-controlled URL in HTTP request", severity: "medium", category: "ssrf" },
|
|
11
|
+
// Unsafe deserialization
|
|
12
|
+
{ pattern: /\bgob\.NewDecoder\s*\(\s*(?:r\.Body|req|conn|net)/m, desc: "Unsafe deserialization โ gob decode from network", severity: "medium", category: "deser" },
|
|
13
|
+
{ pattern: /\bjson\.NewDecoder\s*\(\s*(?:r\.Body|req\.Body)/m, desc: "JSON decode from request body (review input validation)", severity: "low", category: "input-validation" },
|
|
14
|
+
// Crypto issues
|
|
15
|
+
{ pattern: /\bcrypto\/md5\b/m, desc: "Weak hash: MD5 is not collision-resistant", severity: "low", category: "weak-crypto" },
|
|
16
|
+
{ pattern: /\bcrypto\/des\b/m, desc: "Weak cipher: DES is insecure", severity: "medium", category: "weak-crypto" },
|
|
17
|
+
// Template injection
|
|
18
|
+
{ pattern: /\btemplate\.(?:New|Must)\s*\([^)]*\)\.Parse\s*\(\s*(?:user|input|req|r\.|param)/m, desc: "Template injection โ user input in template.Parse()", severity: "high", category: "template-injection" },
|
|
19
|
+
// Hardcoded secrets
|
|
20
|
+
{ pattern: /(?:password|secret|token|apiKey|api_key)\s*(?::=|=)\s*"[^"]{8,}"/m, desc: "Hardcoded secret in Go source", severity: "medium", category: "hardcoded-secret" },
|
|
21
|
+
];
|
|
22
|
+
const RUST_PATTERNS = [
|
|
23
|
+
// Command injection
|
|
24
|
+
{ pattern: /\bCommand::new\s*\(\s*(?:user|input|req|param|args|query|&\w*input)/m, desc: "Command injection โ user input in Command::new()", severity: "high", category: "cmd-injection" },
|
|
25
|
+
{ pattern: /\bCommand::new\s*\(\s*"(?:sh|bash|cmd|powershell)"\s*\)/m, desc: "Shell command execution", severity: "medium", category: "cmd-exec" },
|
|
26
|
+
// SQL injection
|
|
27
|
+
{ pattern: /\bquery\s*\(\s*&?format!\s*\(/m, desc: "SQL injection โ format! in query", severity: "high", category: "sql-injection" },
|
|
28
|
+
{ pattern: /\bexecute\s*\(\s*&?format!\s*\(/m, desc: "SQL injection โ format! in execute", severity: "high", category: "sql-injection" },
|
|
29
|
+
// Unsafe blocks
|
|
30
|
+
{ pattern: /\bunsafe\s*\{[^}]*\bptr\b[^}]*\}/m, desc: "Unsafe pointer manipulation", severity: "medium", category: "unsafe" },
|
|
31
|
+
{ pattern: /\bunsafe\s*\{[^}]*\btransmute\b/m, desc: "Unsafe transmute โ type safety bypass", severity: "high", category: "unsafe" },
|
|
32
|
+
// Path traversal
|
|
33
|
+
{ pattern: /\bstd::fs::(?:read_to_string|write|read|remove)\s*\(\s*(?:user|input|req|param|&\w*path)/m, desc: "Path traversal โ user input in file operations", severity: "high", category: "path-traversal" },
|
|
34
|
+
// Deserialization
|
|
35
|
+
{ pattern: /\bserde_(?:json|yaml)::from_(?:str|reader|slice)\s*\(\s*(?:body|input|req|data)/m, desc: "Deserialization from untrusted input", severity: "medium", category: "deser" },
|
|
36
|
+
// Crypto
|
|
37
|
+
{ pattern: /\bmd5::(?:compute|Md5::)/m, desc: "Weak hash: MD5", severity: "low", category: "weak-crypto" },
|
|
38
|
+
];
|
|
39
|
+
function runGoRustSecurity(files) {
|
|
40
|
+
const findings = [];
|
|
41
|
+
for (const file of files) {
|
|
42
|
+
const isGo = file.ext === ".go";
|
|
43
|
+
const isRust = file.ext === ".rs";
|
|
44
|
+
if (!isGo && !isRust)
|
|
45
|
+
continue;
|
|
46
|
+
const content = file.lines.join("\n");
|
|
47
|
+
const patterns = isGo ? GO_PATTERNS : RUST_PATTERNS;
|
|
48
|
+
for (const { pattern, desc, severity, category } of patterns) {
|
|
49
|
+
pattern.lastIndex = 0;
|
|
50
|
+
const match = pattern.exec(content);
|
|
51
|
+
if (match) {
|
|
52
|
+
const lineNum = content.substring(0, match.index).split("\n").length;
|
|
53
|
+
findings.push({
|
|
54
|
+
rule: "go-rust-security",
|
|
55
|
+
severity,
|
|
56
|
+
file: file.relativePath,
|
|
57
|
+
line: lineNum,
|
|
58
|
+
message: `[${isGo ? "go" : "rust"}] [${category}] ${desc}`,
|
|
59
|
+
evidence: file.lines[lineNum - 1]?.trim().substring(0, 120) || "",
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return findings;
|
|
65
|
+
}
|
|
66
|
+
export const goRustSecurityRule = {
|
|
67
|
+
id: "go-rust-security",
|
|
68
|
+
name: "Go/Rust Security",
|
|
69
|
+
description: "Detects command injection, SQL injection, path traversal, unsafe blocks, and crypto issues in Go and Rust code",
|
|
70
|
+
run: runGoRustSecurity,
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=go-rust-security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go-rust-security.js","sourceRoot":"","sources":["../../src/rules/go-rust-security.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/index.js
CHANGED
|
@@ -25,6 +25,7 @@ import { multilangInjectionRule } from "./multilang-injection.js";
|
|
|
25
25
|
import { descriptionIntegrityRule } from "./description-integrity.js";
|
|
26
26
|
import { pythonAstRule } from "./python-ast.js";
|
|
27
27
|
import { mcpRuntimeRule } from "./mcp-runtime.js";
|
|
28
|
+
import { goRustSecurityRule } from "./go-rust-security.js";
|
|
28
29
|
/** All registered rules */
|
|
29
30
|
export const rules = [
|
|
30
31
|
// Original 5
|
|
@@ -66,6 +67,8 @@ export const rules = [
|
|
|
66
67
|
pythonAstRule,
|
|
67
68
|
// MCP runtime security
|
|
68
69
|
mcpRuntimeRule,
|
|
70
|
+
// Go/Rust security
|
|
71
|
+
goRustSecurityRule,
|
|
69
72
|
];
|
|
70
73
|
/** Get a rule by ID */
|
|
71
74
|
export function getRule(id) {
|
package/dist/rules/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,2BAA2B;AAC3B,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,aAAa;IACb,aAAa;IACb,YAAY;IACZ,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,SAAS;IACT,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,sBAAsB;IACtB,eAAe;IACf,eAAe;IACf,oCAAoC;IACpC,eAAe;IACf,aAAa;IACb,wBAAwB;IACxB,UAAU;IACV,sBAAsB;IACtB,SAAS;IACT,2BAA2B;IAC3B,kBAAkB;IAClB,kCAAkC;IAClC,aAAa;IACb,oCAAoC;IACpC,eAAe;IACf,gDAAgD;IAChD,sBAAsB;IACtB,sCAAsC;IACtC,wBAAwB;IACxB,2BAA2B;IAC3B,aAAa;IACb,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,kBAAkB;CACnB,CAAC;AAEF,uBAAuB;AACvB,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -229,7 +229,9 @@ export const promptInjection = {
|
|
|
229
229
|
for (const { pattern, description, severity } of INJECTION_PATTERNS) {
|
|
230
230
|
// Skip zero-width/Unicode checks unless it's a skill definition file
|
|
231
231
|
// Editor artifacts (BOM, ZWNJ, ZWS) are common in multilingual markdown/code
|
|
232
|
-
|
|
232
|
+
// Zero-width chars: check in .md and .py files (skill definitions, tool descriptions)
|
|
233
|
+
// Skip in .json/.yaml config files where ZWNJ (U+200C) is common editor artifact
|
|
234
|
+
if (!isSkillMd && !isMarkdown && !isPython && (description.includes("Zero-width") || description.includes("Unicode formatting")))
|
|
233
235
|
continue;
|
|
234
236
|
pattern.lastIndex = 0;
|
|
235
237
|
if (pattern.test(line)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-injection.js","sourceRoot":"","sources":["../../src/rules/prompt-injection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-injection.js","sourceRoot":"","sources":["../../src/rules/prompt-injection.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,8 @@ const PYTHON_PATTERNS = [
|
|
|
47
47
|
{ pattern: /\bsha1\s*\(|hashlib\.sha1/m, desc: "SHA1 hash โ cryptographically weak", severity: "low", category: "weak-crypto" },
|
|
48
48
|
{ pattern: /\brandom\b(?!\.SystemRandom).*(?:password|secret|token|key|salt)/im, desc: "random module for security-sensitive value (use secrets module)", severity: "medium", category: "weak-crypto" },
|
|
49
49
|
// === MEDIUM RISK: Dangerous patterns ===
|
|
50
|
-
{ pattern: /\
|
|
50
|
+
{ pattern: /\bTemplate\s*\(\s*(?:user|input|request|data|query|param|args|body|payload|content|text|msg|message|template_str|user_input)/m, desc: "Server-side template injection (SSTI) โ user input in Template()", severity: "high", category: "ssti" },
|
|
51
|
+
{ pattern: /\bTemplate\s*\(\s*["'].*['"]\s*\+\s*\w+/m, desc: "Server-side template injection (SSTI) โ string concat in Template()", severity: "medium", category: "ssti" },
|
|
51
52
|
{ pattern: /\bMarkup\s*\(\s*f["']/m, desc: "Jinja2 Markup with f-string โ XSS risk", severity: "medium", category: "xss" },
|
|
52
53
|
{ pattern: /\bHTMLParser\s*\(/m, desc: "HTMLParser โ ensure proper sanitization", severity: "low", category: "xss" },
|
|
53
54
|
// === LOW RISK: Debug/info ===
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python-security.js","sourceRoot":"","sources":["../../src/rules/python-security.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"python-security.js","sourceRoot":"","sources":["../../src/rules/python-security.ts"],"names":[],"mappings":"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"}
|
package/dist/scanner/files.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/scanner/files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/scanner/files.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliotllliu/agent-shield",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Security scanner for AI agents, MCP servers & plugins โ 30 rules, AST taint tracking, cross-file analysis, kill chain detection. Free, offline, open source.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|