secubox-openwrt/package/secubox/luci-app-cve-triage/htdocs/luci-static/resources/cve-triage/api.js
CyberMind-FR 44493ebfe3 feat: Add CVE Triage Agent and Vortex DNS, fix webmail login
New Packages:
- secubox-cve-triage: AI-powered CVE analysis and vulnerability management
  - NVD API integration for CVE data
  - CrowdSec CVE alert correlation
  - LocalAI-powered impact analysis
  - Approval workflow for patch recommendations
  - Multi-source monitoring (opkg, LXC, Docker)

- luci-app-cve-triage: Dashboard with alerts, pending queue, risk score

- secubox-vortex-dns: Meshed multi-dynamic subdomain delegation
  - Master/slave hierarchical DNS delegation
  - Wildcard domain management
  - First Peek auto-registration
  - Gossip-based exposure config sync
  - Submastering for nested hierarchies

Fixes:
- Webmail 401 login: config.docker.inc.php was overriding IMAP host
  to ssl://mail.secubox.in:993 which Docker couldn't reach
- Fixed mailctl webmail configure to use socat proxy (172.17.0.1:10143)

Documentation:
- Added LXC cgroup:mixed fix to FAQ-TROUBLESHOOTING.md
- Updated CLAUDE.md to include FAQ consultation at startup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 12:19:54 +01:00

102 lines
1.8 KiB
JavaScript

'use strict';
'require rpc';
'require baseclass';
return baseclass.extend({
callStatus: rpc.declare({
object: 'luci.cve-triage',
method: 'status',
expect: {}
}),
callGetPending: rpc.declare({
object: 'luci.cve-triage',
method: 'get_pending',
expect: {}
}),
callGetAlerts: rpc.declare({
object: 'luci.cve-triage',
method: 'get_alerts',
expect: {}
}),
callGetRecommendations: rpc.declare({
object: 'luci.cve-triage',
method: 'get_recommendations',
params: ['limit'],
expect: {}
}),
callGetSummary: rpc.declare({
object: 'luci.cve-triage',
method: 'get_summary',
expect: {}
}),
callRun: rpc.declare({
object: 'luci.cve-triage',
method: 'run',
expect: {}
}),
callApprove: rpc.declare({
object: 'luci.cve-triage',
method: 'approve',
params: ['id'],
expect: {}
}),
callReject: rpc.declare({
object: 'luci.cve-triage',
method: 'reject',
params: ['id', 'reason'],
expect: {}
}),
callApproveAll: rpc.declare({
object: 'luci.cve-triage',
method: 'approve_all',
expect: {}
}),
callClearPending: rpc.declare({
object: 'luci.cve-triage',
method: 'clear_pending',
expect: {}
}),
callAckAlert: rpc.declare({
object: 'luci.cve-triage',
method: 'ack_alert',
params: ['id'],
expect: {}
}),
getSeverityClass: function(severity) {
switch (severity) {
case 'critical': return 'danger';
case 'high': return 'warning';
case 'medium': return 'primary';
default: return 'secondary';
}
},
getSeverityIcon: function(severity) {
switch (severity) {
case 'critical': return '\u26A0';
case 'high': return '\u2757';
case 'medium': return '\u2139';
default: return '\u2022';
}
},
formatCVE: function(cve) {
return E('a', {
'href': 'https://nvd.nist.gov/vuln/detail/' + cve,
'target': '_blank',
'class': 'cve-link'
}, cve);
}
});