opena2a-cli 0.2.0 → 0.3.0

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.
@@ -0,0 +1,110 @@
1
+ /**
2
+ * opena2a review -- One-command unified security review.
3
+ *
4
+ * Runs all meaningful security checks (init scan, credential scan,
5
+ * config integrity, shield analysis, optional HMA scan), aggregates
6
+ * results into a composite score, generates a self-contained HTML
7
+ * dashboard, and auto-opens it in the browser.
8
+ */
9
+ import { type CredentialMatch } from '../util/credential-patterns.js';
10
+ import { type ClassifiedFinding } from '../shield/findings.js';
11
+ import { type ARPStats } from '../shield/arp-bridge.js';
12
+ import type { RiskLevel } from '../shield/types.js';
13
+ export interface ReviewOptions {
14
+ targetDir?: string;
15
+ reportPath?: string;
16
+ autoOpen?: boolean;
17
+ skipHma?: boolean;
18
+ ci?: boolean;
19
+ format?: 'text' | 'json';
20
+ verbose?: boolean;
21
+ }
22
+ export interface PhaseResult {
23
+ name: string;
24
+ status: 'pass' | 'warn' | 'fail' | 'skip';
25
+ score: number;
26
+ durationMs: number;
27
+ detail: string;
28
+ }
29
+ interface HygieneCheck {
30
+ label: string;
31
+ status: 'pass' | 'warn' | 'fail' | 'info';
32
+ detail: string;
33
+ }
34
+ export interface ReviewReport {
35
+ timestamp: string;
36
+ directory: string;
37
+ projectName: string | null;
38
+ projectType: string;
39
+ phases: PhaseResult[];
40
+ compositeScore: number;
41
+ grade: string;
42
+ findings: ReviewFinding[];
43
+ actionItems: ActionItem[];
44
+ initData: InitPhaseData;
45
+ credentialData: CredentialPhaseData;
46
+ guardData: GuardPhaseData;
47
+ shieldData: ShieldPhaseData;
48
+ hmaData: HmaPhaseData | null;
49
+ }
50
+ export interface ReviewFinding {
51
+ id: string;
52
+ title: string;
53
+ severity: string;
54
+ source: string;
55
+ detail: string;
56
+ remediation: string;
57
+ }
58
+ export interface ActionItem {
59
+ priority: number;
60
+ severity: string;
61
+ description: string;
62
+ command: string;
63
+ tab: string;
64
+ }
65
+ export interface InitPhaseData {
66
+ projectName: string | null;
67
+ projectVersion: string | null;
68
+ projectType: string;
69
+ trustScore: number;
70
+ grade: string;
71
+ postureScore: number;
72
+ riskLevel: RiskLevel;
73
+ activeProducts: number;
74
+ totalProducts: number;
75
+ hygieneChecks: HygieneCheck[];
76
+ advisoryCount: number;
77
+ matchedPackages: string[];
78
+ }
79
+ export interface CredentialPhaseData {
80
+ matches: CredentialMatch[];
81
+ totalFindings: number;
82
+ bySeverity: Record<string, number>;
83
+ driftFindings: CredentialMatch[];
84
+ envVarSuggestions: {
85
+ finding: string;
86
+ envVar: string;
87
+ }[];
88
+ }
89
+ export interface GuardPhaseData {
90
+ filesMonitored: number;
91
+ tamperedFiles: string[];
92
+ signatureStatus: 'valid' | 'tampered' | 'unsigned';
93
+ }
94
+ export interface ShieldPhaseData {
95
+ eventCount: number;
96
+ classifiedFindings: ClassifiedFinding[];
97
+ arpStats: ARPStats;
98
+ postureScore: number;
99
+ policyLoaded: boolean;
100
+ policyMode: string | null;
101
+ integrityStatus: string;
102
+ }
103
+ export interface HmaPhaseData {
104
+ available: boolean;
105
+ results: Record<string, unknown> | null;
106
+ score: number;
107
+ }
108
+ export declare function review(options: ReviewOptions): Promise<number>;
109
+ export {};
110
+ //# sourceMappingURL=review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}