agentaudit 3.9.13 โ 3.9.15
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 +14 -7
- package/cli.mjs +52 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
+
<img src="https://www.agentaudit.dev/banner-chameleon.png" alt="AgentAudit -- Security scanner for AI packages" width="100%">
|
|
4
|
+
|
|
5
|
+
<br>
|
|
6
|
+
|
|
3
7
|
# ๐ก๏ธ AgentAudit
|
|
4
8
|
|
|
5
9
|
**Security scanner for AI packages โ MCP server + CLI**
|
|
@@ -7,6 +11,7 @@
|
|
|
7
11
|
Scan MCP servers, AI skills, and packages for vulnerabilities, prompt injection,
|
|
8
12
|
and supply chain attacks. Powered by regex static analysis and deep LLM audits.
|
|
9
13
|
|
|
14
|
+
[](https://www.agentaudit.dev/skills/agentaudit-mcp)
|
|
10
15
|
[](https://www.npmjs.com/package/agentaudit)
|
|
11
16
|
[](https://agentaudit.dev)
|
|
12
17
|
[](LICENSE)
|
|
@@ -501,13 +506,15 @@ It checks standard config file locations for Claude Desktop, Cursor, VS Code, an
|
|
|
501
506
|
|
|
502
507
|
---
|
|
503
508
|
|
|
504
|
-
## ๐ Related
|
|
509
|
+
## ๐ Related
|
|
505
510
|
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
+
| | Project | Description |
|
|
512
|
+
|---|---------|-------------|
|
|
513
|
+
| ๐ | [agentaudit.dev](https://agentaudit.dev) | Trust Registry -- browse packages, findings, leaderboard |
|
|
514
|
+
| ๐ก๏ธ | [agentaudit-skill](https://github.com/starbuck100/agentaudit-skill) | Agent Skill -- pre-install security gate for Claude Code, Cursor, Windsurf |
|
|
515
|
+
| โก | [agentaudit-github-action](https://github.com/ecap0-ai/agentaudit-github-action) | GitHub Action -- CI/CD security scanning |
|
|
516
|
+
| ๐ | [agentaudit-mcp](https://github.com/ecap0-ai/agentaudit-mcp) | This repo -- CLI + MCP server source |
|
|
517
|
+
| ๐ | [Report Issues](https://github.com/ecap0-ai/agentaudit-mcp/issues) | Bug reports and feature requests |
|
|
511
518
|
|
|
512
519
|
---
|
|
513
520
|
|
|
@@ -521,6 +528,6 @@ It checks standard config file locations for Claude Desktop, Cursor, VS Code, an
|
|
|
521
528
|
|
|
522
529
|
**Protect your AI stack. Scan before you trust.**
|
|
523
530
|
|
|
524
|
-
[Trust Registry](https://agentaudit.dev) ยท [Leaderboard](https://agentaudit.dev/leaderboard) ยท [Report Issues](https://github.com/
|
|
531
|
+
[Trust Registry](https://agentaudit.dev) ยท [Leaderboard](https://agentaudit.dev/leaderboard) ยท [Report Issues](https://github.com/ecap0-ai/agentaudit-mcp/issues)
|
|
525
532
|
|
|
526
533
|
</div>
|
package/cli.mjs
CHANGED
|
@@ -1543,11 +1543,59 @@ async function checkPackage(name) {
|
|
|
1543
1543
|
|
|
1544
1544
|
if (!jsonMode) {
|
|
1545
1545
|
const riskScore = data.risk_score ?? data.latest_risk_score ?? 0;
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1546
|
+
const trustScore = data.trust_score ?? (100 - riskScore);
|
|
1547
|
+
const totalFindings = data.total_findings ?? 0;
|
|
1548
|
+
const totalReports = data.total_reports ?? 0;
|
|
1549
|
+
|
|
1550
|
+
// Package name + verdict
|
|
1551
|
+
console.log(` ${c.bold}${data.display_name || name}${c.reset} ${riskBadge(riskScore)}`);
|
|
1552
|
+
if (data.description) console.log(` ${c.dim}${data.description}${c.reset}`);
|
|
1553
|
+
console.log();
|
|
1554
|
+
|
|
1555
|
+
// Trust Score (the main metric)
|
|
1556
|
+
const trustColor = trustScore >= 70 ? c.green : trustScore >= 40 ? c.yellow : c.red;
|
|
1557
|
+
const trustLabel = trustScore >= 70 ? 'SAFE' : trustScore >= 40 ? 'CAUTION' : 'UNSAFE';
|
|
1558
|
+
console.log(` ${trustColor}${c.bold}${trustLabel}${c.reset} ${trustColor}Trust Score: ${trustScore}/100${c.reset} ${c.dim}(Risk: ${riskScore}/100)${c.reset}`);
|
|
1559
|
+
|
|
1560
|
+
// Findings summary
|
|
1561
|
+
if (totalFindings > 0) {
|
|
1562
|
+
const maxSev = data.latest_max_severity;
|
|
1563
|
+
const sevStr = maxSev ? `max severity: ${severityColor(maxSev)}${maxSev}${c.reset}` : '';
|
|
1564
|
+
console.log(` ${c.dim}Findings: ${totalFindings}${sevStr ? ` (${sevStr}${c.dim})` : ''}${c.reset}`);
|
|
1565
|
+
} else {
|
|
1566
|
+
console.log(` ${c.dim}Findings: 0 (clean)${c.reset}`);
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1569
|
+
// Consensus / Confidence
|
|
1570
|
+
const uniqueAgents = data.unique_agents ?? 0;
|
|
1571
|
+
const confidence = data.confidence ?? 'unverified';
|
|
1572
|
+
const confidenceDisplay = {
|
|
1573
|
+
consensus: { icon: '๐ข', label: 'Consensus Certified', color: c.green, desc: `${totalReports} reports from ${uniqueAgents} independent auditors agree` },
|
|
1574
|
+
verified: { icon: '๐ข', label: 'Verified', color: c.green, desc: `${totalReports} reports from ${uniqueAgents} auditors` },
|
|
1575
|
+
low: { icon: '๐ก', label: 'Low Confidence', color: c.yellow, desc: `${totalReports} reports but ${uniqueAgents <= 1 ? 'only 1 auditor' : `only ${uniqueAgents} auditors`}` },
|
|
1576
|
+
unverified: { icon: '๐ด', label: 'Unverified', color: c.yellow, desc: 'Single audit, no independent confirmation' },
|
|
1577
|
+
}[confidence] || { icon: 'โช', label: confidence, color: c.dim, desc: '' };
|
|
1578
|
+
console.log(` ${confidenceDisplay.icon} ${confidenceDisplay.color}${confidenceDisplay.label}${c.reset} ${c.dim}${confidenceDisplay.desc}${c.reset}`);
|
|
1579
|
+
|
|
1580
|
+
// Audit info
|
|
1581
|
+
console.log(` ${c.dim}Reports: ${totalReports} | Auditors: ${uniqueAgents} | Last: ${data.last_audited_at ? new Date(data.last_audited_at).toLocaleDateString() : 'unknown'}${c.reset}`);
|
|
1550
1582
|
if (data.has_official_audit) console.log(` ${c.green}โ Officially audited${c.reset}`);
|
|
1583
|
+
|
|
1584
|
+
// Recommendation
|
|
1585
|
+
if (confidence === 'unverified' && trustScore >= 70) {
|
|
1586
|
+
console.log();
|
|
1587
|
+
console.log(` ${c.yellow}โ Score looks good but only 1 audit exists.${c.reset}`);
|
|
1588
|
+
console.log(` ${c.dim} Consider running your own audit: agentaudit audit ${data.source_url || name}${c.reset}`);
|
|
1589
|
+
} else if (confidence === 'low') {
|
|
1590
|
+
console.log();
|
|
1591
|
+
console.log(` ${c.yellow}โ Limited independent verification.${c.reset}`);
|
|
1592
|
+
console.log(` ${c.dim} More auditors needed for consensus. Run: agentaudit audit ${data.source_url || name}${c.reset}`);
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
// Links
|
|
1596
|
+
console.log();
|
|
1597
|
+
if (data.source_url) console.log(` ${c.dim}Source: ${data.source_url}${c.reset}`);
|
|
1598
|
+
console.log(` ${c.dim}Registry: ${REGISTRY_URL}/skills/${encodeURIComponent(name)}${c.reset}`);
|
|
1551
1599
|
console.log();
|
|
1552
1600
|
}
|
|
1553
1601
|
return data;
|