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.
Files changed (3) hide show
  1. package/README.md +14 -7
  2. package/cli.mjs +52 -4
  3. 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
+ [![AgentAudit](https://www.agentaudit.dev/api/badge/agentaudit-mcp)](https://www.agentaudit.dev/skills/agentaudit-mcp)
10
15
  [![npm version](https://img.shields.io/npm/v/agentaudit?style=for-the-badge&color=CB3837&logo=npm)](https://www.npmjs.com/package/agentaudit)
11
16
  [![Trust Registry](https://img.shields.io/badge/Trust_Registry-Live-00C853?style=for-the-badge)](https://agentaudit.dev)
12
17
  [![License](https://img.shields.io/badge/License-AGPL_3.0-F9A825?style=for-the-badge)](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 Links
509
+ ## ๐Ÿ”— Related
505
510
 
506
- - **Trust Registry**: [agentaudit.dev](https://agentaudit.dev)
507
- - **Leaderboard**: [agentaudit.dev/leaderboard](https://agentaudit.dev/leaderboard)
508
- - **Agent Skill**: [github.com/starbuck100/agentaudit-skill](https://github.com/starbuck100/agentaudit-skill) โ€” Full agent skill with pre-install security gate, detection patterns & peer review system
509
- - **MCP Server Repository**: [github.com/starbuck100/agentaudit-mcp](https://github.com/starbuck100/agentaudit-mcp)
510
- - **Report Issues**: [GitHub Issues](https://github.com/starbuck100/agentaudit-mcp/issues)
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/starbuck100/agentaudit-mcp/issues)
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
- console.log(` ${c.bold}${name}${c.reset} ${riskBadge(riskScore)}`);
1547
- console.log(` ${c.dim}Risk Score: ${riskScore}/100${c.reset}`);
1548
- if (data.source_url) console.log(` ${c.dim}Source: ${data.source_url}${c.reset}`);
1549
- console.log(` ${c.dim}Registry: ${REGISTRY_URL}/skills/${name}${c.reset}`);
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentaudit",
3
- "version": "3.9.13",
3
+ "version": "3.9.15",
4
4
  "description": "Security scanner for AI packages โ€” MCP server + CLI",
5
5
  "type": "module",
6
6
  "bin": {