ctrlshiftleft
Version:
AI-powered toolkit for embedding QA and security testing into development workflows
68 lines (67 loc) • 1.71 kB
TypeScript
/**
* Risk impact levels for security issues
*/
export type ImpactLevel = 'critical' | 'high' | 'medium' | 'low' | 'info';
/**
* Likelihood levels for security issues
*/
export type LikelihoodLevel = 'very-high' | 'high' | 'medium' | 'low' | 'very-low';
/**
* Security vulnerability classification using Common Weakness Enumeration
*/
export interface SecurityReference {
cwe?: string;
owasp?: string;
description?: string;
url?: string;
}
/**
* Detailed remediation guidance for security issues
*/
export interface RemediationInfo {
description: string;
codeExample?: string;
effort?: 'high' | 'medium' | 'low';
priority?: 'immediate' | 'high' | 'medium' | 'low';
}
/**
* Risk score calculation using CVSS or similar methodology
*/
export interface RiskScoreInfo {
score: number;
vector?: string;
impact: ImpactLevel;
likelihood: LikelihoodLevel;
calculator?: string;
}
/**
* Checklist item representing a QA or security check
*/
export interface ChecklistItem {
id: string;
title: string;
description: string;
category: string;
severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
verification?: string;
status?: 'pending' | 'passed' | 'failed' | 'na';
comments?: string;
file?: string;
lineNumber?: number;
codeSnippet?: string;
references?: SecurityReference[];
remediation?: RemediationInfo;
riskScore?: RiskScoreInfo;
createdAt?: string;
updatedAt?: string;
}
/**
* Complete checklist with metadata and items
*/
export interface Checklist {
title: string;
description: string;
categories: string[];
items: ChecklistItem[];
markdown?: string;
}