@aiclude/security-skill 2.0.0 → 2.0.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 +88 -0
- package/SKILL.md +15 -51
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# @aiclude/security-skill
|
|
2
|
+
|
|
3
|
+
Security vulnerability scanner for MCP Servers and AI Agent Skills. Provides the `/security-scan` slash command for Claude Code.
|
|
4
|
+
|
|
5
|
+
## What It Does
|
|
6
|
+
|
|
7
|
+
- **Name-based lookup**: Query the [AIclude scan database](https://vs.aiclude.com) for existing vulnerability reports. If none exists, the target is automatically registered and scanned.
|
|
8
|
+
- **Local scan**: Run 7 scan engines directly on a local directory — fully offline, no data sent anywhere.
|
|
9
|
+
|
|
10
|
+
## Scan Engines
|
|
11
|
+
|
|
12
|
+
| Engine | What It Detects |
|
|
13
|
+
|--------|----------------|
|
|
14
|
+
| SAST | Code vulnerabilities via pattern matching |
|
|
15
|
+
| SCA | Known CVEs in dependencies (OSV.dev) |
|
|
16
|
+
| Tool Analyzer | MCP tool poisoning, shadowing, rug-pull |
|
|
17
|
+
| DAST | SQL/Command/XSS injection via fuzzing |
|
|
18
|
+
| Permission Checker | Excessive filesystem/network/process access |
|
|
19
|
+
| Behavior Monitor | Suspicious runtime behavior patterns |
|
|
20
|
+
| Malware Detector | Backdoors, cryptominers, ransomware, data stealers |
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install @aiclude/security-skill
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
### As a Claude Code Skill
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
# Look up scan results by package name
|
|
34
|
+
/security-scan --name @anthropic/mcp-server-fetch
|
|
35
|
+
|
|
36
|
+
# Scan a local directory
|
|
37
|
+
/security-scan ./my-mcp-server
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Programmatic API
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
import { SkillHandler } from "@aiclude/security-skill";
|
|
44
|
+
|
|
45
|
+
const handler = new SkillHandler();
|
|
46
|
+
|
|
47
|
+
// Remote lookup — queries AIclude scan database
|
|
48
|
+
const report = await handler.lookup({
|
|
49
|
+
name: "@some/mcp-server",
|
|
50
|
+
type: "mcp-server",
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// Local scan — runs 7 engines offline
|
|
54
|
+
const result = await handler.handle({
|
|
55
|
+
targetPath: "./my-project",
|
|
56
|
+
type: "mcp-server",
|
|
57
|
+
format: "markdown",
|
|
58
|
+
});
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Parameters
|
|
62
|
+
|
|
63
|
+
| Parameter | Description |
|
|
64
|
+
|-----------|-------------|
|
|
65
|
+
| `--name` | Package name to search (npm, GitHub, etc.) |
|
|
66
|
+
| `target-path` | Local directory to scan |
|
|
67
|
+
| `--type` | `mcp-server` or `skill` (auto-detected) |
|
|
68
|
+
| `--profile` | Sandbox profile: `strict`, `standard`, `permissive` |
|
|
69
|
+
| `--format` | Output: `markdown` or `json` |
|
|
70
|
+
| `--engines` | Comma-separated engine list |
|
|
71
|
+
|
|
72
|
+
## Output
|
|
73
|
+
|
|
74
|
+
Reports include:
|
|
75
|
+
|
|
76
|
+
1. **Risk Level** — CRITICAL / HIGH / MEDIUM / LOW / INFO
|
|
77
|
+
2. **Vulnerability List** — code location, description, severity
|
|
78
|
+
3. **Risk Assessment** — impact and likelihood analysis
|
|
79
|
+
4. **Remediation** — how to fix each finding
|
|
80
|
+
|
|
81
|
+
## Related Packages
|
|
82
|
+
|
|
83
|
+
- [`@aiclude/security-mcp`](https://www.npmjs.com/package/@aiclude/security-mcp) — MCP Server interface
|
|
84
|
+
- [vs.aiclude.com](https://vs.aiclude.com) — Web dashboard
|
|
85
|
+
|
|
86
|
+
## License
|
|
87
|
+
|
|
88
|
+
MIT — [AICLUDE Inc.](https://aiclude.com)
|
package/SKILL.md
CHANGED
|
@@ -1,91 +1,55 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: aiclude-vulns-scan
|
|
3
|
-
description:
|
|
4
|
-
tags: [security, vulnerability, scanner, mcp, ai-agent
|
|
3
|
+
description: Search security vulnerability scan results for MCP Servers and AI Agent Skills from the AIclude scan database.
|
|
4
|
+
tags: [security, vulnerability, scanner, mcp, ai-agent]
|
|
5
5
|
homepage: https://vs.aiclude.com
|
|
6
6
|
repository: https://github.com/aiclude/asvs
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# /security-scan - AIclude
|
|
9
|
+
# /security-scan - AIclude Vulnerability Scanner
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Search the AIclude security scan database for vulnerability reports on MCP Servers and AI Agent Skills. If no report exists, the target is registered and scanned automatically.
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
15
15
|
```
|
|
16
|
-
|
|
17
|
-
/security-scan --name <package-name> [options]
|
|
18
|
-
|
|
19
|
-
# Scan a local directory (offline, no network)
|
|
20
|
-
/security-scan <target-path> [options]
|
|
16
|
+
/security-scan --name <package-name> [--type mcp-server|skill]
|
|
21
17
|
```
|
|
22
18
|
|
|
23
19
|
## Parameters
|
|
24
20
|
|
|
25
21
|
- `--name`: Package name to search (npm package, GitHub repo, etc.)
|
|
26
|
-
- `target-path`: Local directory path to scan directly
|
|
27
22
|
- `--type`: Target type (`mcp-server` | `skill`) - auto-detected if omitted
|
|
28
|
-
- `--profile`: Sandbox profile (`strict` | `standard` | `permissive`)
|
|
29
|
-
- `--format`: Output format (`markdown` | `json`)
|
|
30
|
-
- `--engines`: Scan engines to use (comma-separated)
|
|
31
23
|
|
|
32
24
|
## Examples
|
|
33
25
|
|
|
34
26
|
```
|
|
35
|
-
# Look up scan results for an MCP server
|
|
36
27
|
/security-scan --name @anthropic/mcp-server-fetch
|
|
37
|
-
|
|
38
|
-
# Look up scan results for a Skill
|
|
39
28
|
/security-scan --name my-awesome-skill --type skill
|
|
40
|
-
|
|
41
|
-
# Scan local source code (fully offline)
|
|
42
|
-
/security-scan ./my-mcp-server
|
|
43
29
|
```
|
|
44
30
|
|
|
45
31
|
## How It Works
|
|
46
32
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
## What It Checks
|
|
33
|
+
1. Sends the package name to the AIclude scan API
|
|
34
|
+
2. If a scan report exists, returns it immediately
|
|
35
|
+
3. If not, registers the target for scanning
|
|
36
|
+
4. Waits for the scan to complete and returns the results
|
|
37
|
+
5. Results are also viewable at https://vs.aiclude.com
|
|
53
38
|
|
|
54
|
-
|
|
55
|
-
- **Tool Poisoning**: Malicious instructions in tool descriptions
|
|
56
|
-
- **Command Injection**: Unvalidated input passed to exec/spawn
|
|
57
|
-
- **Supply Chain**: Known CVEs, typosquatting
|
|
58
|
-
- **Malware**: Backdoors, cryptominers, ransomware, data stealers
|
|
59
|
-
- **Permission Abuse**: Excessive filesystem/network/process permissions
|
|
60
|
-
|
|
61
|
-
## Scan Engines
|
|
62
|
-
|
|
63
|
-
7 engines run in parallel:
|
|
64
|
-
|
|
65
|
-
| Engine | Description |
|
|
66
|
-
|--------|-------------|
|
|
67
|
-
| SAST | Static code pattern matching |
|
|
68
|
-
| SCA | Dependency CVE lookup via OSV.dev |
|
|
69
|
-
| Tool Analyzer | MCP tool definition analysis |
|
|
70
|
-
| DAST | Parameter fuzzing |
|
|
71
|
-
| Permission Checker | Permission analysis |
|
|
72
|
-
| Behavior Monitor | Runtime behavior detection |
|
|
73
|
-
| Malware Detector | Signature scanning, entropy analysis |
|
|
39
|
+
Only the package name and type are sent. No source code or credentials are transmitted.
|
|
74
40
|
|
|
75
41
|
## Output
|
|
76
42
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
4. **Remediation Recommendations**
|
|
43
|
+
- **Risk Level** (CRITICAL / HIGH / MEDIUM / LOW / INFO)
|
|
44
|
+
- **Vulnerability List** with locations and descriptions
|
|
45
|
+
- **Risk Assessment** and remediation recommendations
|
|
81
46
|
|
|
82
47
|
## Links
|
|
83
48
|
|
|
49
|
+
- **Web Dashboard**: https://vs.aiclude.com
|
|
84
50
|
- **npm**: [`@aiclude/security-skill`](https://www.npmjs.com/package/@aiclude/security-skill)
|
|
85
51
|
- **MCP Server**: [`@aiclude/security-mcp`](https://www.npmjs.com/package/@aiclude/security-mcp)
|
|
86
|
-
- **Web Dashboard**: https://vs.aiclude.com
|
|
87
52
|
|
|
88
53
|
## License
|
|
89
54
|
|
|
90
55
|
MIT - AICLUDE Inc.
|
|
91
|
-
Inc.
|
package/package.json
CHANGED