nayan-ai 1.0.0-beta.4 → 1.0.0-beta.5
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 +100 -14
- package/dist/cli.js +21 -157
- package/dist/cli.js.map +1 -1
- package/dist/common/claude.d.ts +6 -0
- package/dist/common/claude.js +180 -0
- package/dist/common/claude.js.map +1 -0
- package/dist/common/codex.d.ts +6 -0
- package/dist/common/codex.js +169 -0
- package/dist/common/codex.js.map +1 -0
- package/dist/common/github.d.ts +22 -0
- package/dist/common/github.js +153 -0
- package/dist/common/github.js.map +1 -0
- package/dist/common/logs.d.ts +15 -0
- package/dist/common/logs.js +154 -0
- package/dist/common/logs.js.map +1 -0
- package/dist/{types.d.ts → common/types.d.ts} +36 -1
- package/dist/common/types.js.map +1 -0
- package/dist/common/utils.d.ts +3 -0
- package/dist/common/utils.js +11 -0
- package/dist/common/utils.js.map +1 -0
- package/dist/index.d.ts +7 -6
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/{analyzer.d.ts → review/analyzer.d.ts} +1 -1
- package/dist/review/analyzer.js.map +1 -0
- package/dist/review/command.d.ts +2 -0
- package/dist/review/command.js +111 -0
- package/dist/review/command.js.map +1 -0
- package/dist/review/prompt.js.map +1 -0
- package/dist/scan/command.d.ts +2 -0
- package/dist/scan/command.js +700 -0
- package/dist/scan/command.js.map +1 -0
- package/dist/scan/fixer.d.ts +30 -0
- package/dist/scan/fixer.js +264 -0
- package/dist/scan/fixer.js.map +1 -0
- package/dist/scan/prompt.d.ts +4 -0
- package/dist/scan/prompt.js +175 -0
- package/dist/scan/prompt.js.map +1 -0
- package/package.json +1 -1
- package/dist/analyzer.js.map +0 -1
- package/dist/claude.d.ts +0 -5
- package/dist/claude.js +0 -128
- package/dist/claude.js.map +0 -1
- package/dist/codex.d.ts +0 -5
- package/dist/codex.js +0 -129
- package/dist/codex.js.map +0 -1
- package/dist/github.d.ts +0 -15
- package/dist/github.js +0 -88
- package/dist/github.js.map +0 -1
- package/dist/logs.d.ts +0 -34
- package/dist/logs.js +0 -219
- package/dist/logs.js.map +0 -1
- package/dist/prompt.js.map +0 -1
- package/dist/repo.d.ts +0 -8
- package/dist/repo.js +0 -61
- package/dist/repo.js.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{types.js → common/types.js} +0 -0
- /package/dist/{analyzer.js → review/analyzer.js} +0 -0
- /package/dist/{prompt.d.ts → review/prompt.d.ts} +0 -0
- /package/dist/{prompt.js → review/prompt.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/scan/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Vulnerability, DetectedProject, RepoInfo, ScanOptions } from '../common/types.js';
|
|
2
|
+
export interface FixResult {
|
|
3
|
+
project: DetectedProject;
|
|
4
|
+
fixes: Fix[];
|
|
5
|
+
updatedFiles: UpdatedFile[];
|
|
6
|
+
summary: string;
|
|
7
|
+
breakingChanges: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface Fix {
|
|
10
|
+
type: 'update' | 'remove' | 'add';
|
|
11
|
+
package: string;
|
|
12
|
+
from?: string;
|
|
13
|
+
to?: string;
|
|
14
|
+
version?: string;
|
|
15
|
+
reason: string;
|
|
16
|
+
}
|
|
17
|
+
export interface UpdatedFile {
|
|
18
|
+
path: string;
|
|
19
|
+
content: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const fixVulnerabilities: (project: DetectedProject, vulnerabilities: Vulnerability[], options: ScanOptions) => Promise<FixResult | null>;
|
|
22
|
+
export declare const applyFixes: (repoPath: string, fixResults: FixResult[]) => void;
|
|
23
|
+
export declare const createFixBranch: (repoPath: string, branchName: string) => void;
|
|
24
|
+
export declare const commitFixes: (repoPath: string, fixResults: FixResult[]) => void;
|
|
25
|
+
export declare const pushBranch: (repoPath: string, branchName: string, token: string, repoInfo: RepoInfo) => void;
|
|
26
|
+
export declare const createPullRequest: (token: string, repoInfo: RepoInfo, branchName: string, fixResults: FixResult[]) => Promise<{
|
|
27
|
+
number: number;
|
|
28
|
+
url: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare const runFixWorkflow: (repoPath: string, repoInfo: RepoInfo, fixResults: FixResult[], options: ScanOptions) => Promise<void>;
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import ora from 'ora';
|
|
3
|
+
import * as fs from 'fs';
|
|
4
|
+
import * as path from 'path';
|
|
5
|
+
import { execSync } from 'child_process';
|
|
6
|
+
import { analyzeWithCodex } from '../common/codex.js';
|
|
7
|
+
import { analyzeWithClaude } from '../common/claude.js';
|
|
8
|
+
import { getFixPrompt } from './prompt.js';
|
|
9
|
+
const MANIFEST_FILES = {
|
|
10
|
+
npm: 'package.json',
|
|
11
|
+
python: 'requirements.txt',
|
|
12
|
+
go: 'go.mod',
|
|
13
|
+
rust: 'Cargo.toml',
|
|
14
|
+
ruby: 'Gemfile',
|
|
15
|
+
php: 'composer.json',
|
|
16
|
+
java: 'pom.xml',
|
|
17
|
+
dotnet: '*.csproj',
|
|
18
|
+
};
|
|
19
|
+
const getManifestPath = (project) => {
|
|
20
|
+
const manifestName = MANIFEST_FILES[project.type];
|
|
21
|
+
if (manifestName.includes('*')) {
|
|
22
|
+
const ext = manifestName.replace('*', '');
|
|
23
|
+
const files = fs.readdirSync(project.path);
|
|
24
|
+
const match = files.find(f => f.endsWith(ext));
|
|
25
|
+
if (match)
|
|
26
|
+
return path.join(project.path, match);
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const manifestPath = path.join(project.path, manifestName);
|
|
30
|
+
return fs.existsSync(manifestPath) ? manifestPath : null;
|
|
31
|
+
};
|
|
32
|
+
export const fixVulnerabilities = async (project, vulnerabilities, options) => {
|
|
33
|
+
if (vulnerabilities.length === 0)
|
|
34
|
+
return null;
|
|
35
|
+
const manifestPath = getManifestPath(project);
|
|
36
|
+
if (!manifestPath) {
|
|
37
|
+
console.log(chalk.yellow(` No manifest file found for ${project.type} project`));
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const manifestContent = fs.readFileSync(manifestPath, 'utf-8');
|
|
41
|
+
const prompt = getFixPrompt(project.type, manifestContent, vulnerabilities);
|
|
42
|
+
const llmOptions = { verbose: options.verbose };
|
|
43
|
+
try {
|
|
44
|
+
const response = options.llm === 'claude'
|
|
45
|
+
? await analyzeWithClaude(project.path, prompt, llmOptions)
|
|
46
|
+
: await analyzeWithCodex(project.path, prompt, llmOptions);
|
|
47
|
+
// Parse the fix response - it comes back as CodeIssue[] but we need the raw JSON
|
|
48
|
+
// The response should contain the fix JSON in the message field
|
|
49
|
+
const fixData = parseFixResponse(response);
|
|
50
|
+
if (!fixData || !fixData.updatedManifest) {
|
|
51
|
+
console.log(chalk.yellow(` Could not parse fix response`));
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
project,
|
|
56
|
+
fixes: fixData.fixes || [],
|
|
57
|
+
updatedFiles: [{
|
|
58
|
+
path: manifestPath,
|
|
59
|
+
content: fixData.updatedManifest,
|
|
60
|
+
}],
|
|
61
|
+
summary: fixData.summary || 'Security fixes applied',
|
|
62
|
+
breakingChanges: fixData.breakingChanges || [],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.log(chalk.red(` Fix generation failed: ${error instanceof Error ? error.message : String(error)}`));
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const parseFixResponse = (response) => {
|
|
71
|
+
// Response comes as CodeIssue[] with extra fields
|
|
72
|
+
// Try to find the fix data in the response
|
|
73
|
+
if (Array.isArray(response) && response.length > 0) {
|
|
74
|
+
// Check each item for fix data
|
|
75
|
+
for (const item of response) {
|
|
76
|
+
// Check for _rawFixData field (added by Codex/Claude parser)
|
|
77
|
+
if (item._rawFixData)
|
|
78
|
+
return item._rawFixData;
|
|
79
|
+
if (item.updatedManifest)
|
|
80
|
+
return item;
|
|
81
|
+
// Try to parse message field as JSON
|
|
82
|
+
if (item.message) {
|
|
83
|
+
try {
|
|
84
|
+
const parsed = JSON.parse(item.message);
|
|
85
|
+
if (parsed.updatedManifest || parsed.fixes)
|
|
86
|
+
return parsed;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Try to extract JSON from message text
|
|
90
|
+
const jsonMatch = item.message.match(/\{[\s\S]*"(?:fixes|updatedManifest)"[\s\S]*\}/);
|
|
91
|
+
if (jsonMatch) {
|
|
92
|
+
try {
|
|
93
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
94
|
+
if (parsed.updatedManifest || parsed.fixes)
|
|
95
|
+
return parsed;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Not valid JSON
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Check description field too
|
|
104
|
+
if (item.description) {
|
|
105
|
+
try {
|
|
106
|
+
const parsed = JSON.parse(item.description);
|
|
107
|
+
if (parsed.updatedManifest || parsed.fixes)
|
|
108
|
+
return parsed;
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
const jsonMatch = item.description.match(/\{[\s\S]*"(?:fixes|updatedManifest)"[\s\S]*\}/);
|
|
112
|
+
if (jsonMatch) {
|
|
113
|
+
try {
|
|
114
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
115
|
+
if (parsed.updatedManifest || parsed.fixes)
|
|
116
|
+
return parsed;
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// Not valid JSON
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Try parsing as direct object
|
|
127
|
+
if (response && typeof response === 'object' && response.updatedManifest) {
|
|
128
|
+
return response;
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
};
|
|
132
|
+
export const applyFixes = (repoPath, fixResults) => {
|
|
133
|
+
for (const result of fixResults) {
|
|
134
|
+
for (const file of result.updatedFiles) {
|
|
135
|
+
const relativePath = path.relative(repoPath, file.path);
|
|
136
|
+
console.log(chalk.cyan(` Writing: ${relativePath}`));
|
|
137
|
+
fs.writeFileSync(file.path, file.content, 'utf-8');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
export const createFixBranch = (repoPath, branchName) => {
|
|
142
|
+
execSync(`git checkout -b ${branchName}`, { cwd: repoPath, stdio: 'pipe' });
|
|
143
|
+
};
|
|
144
|
+
export const commitFixes = (repoPath, fixResults) => {
|
|
145
|
+
// Stage all changed files
|
|
146
|
+
for (const result of fixResults) {
|
|
147
|
+
for (const file of result.updatedFiles) {
|
|
148
|
+
execSync(`git add "${file.path}"`, { cwd: repoPath, stdio: 'pipe' });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// Create commit message
|
|
152
|
+
const totalFixes = fixResults.reduce((sum, r) => sum + r.fixes.length, 0);
|
|
153
|
+
const commitMsg = `fix(security): apply ${totalFixes} vulnerability fixes
|
|
154
|
+
|
|
155
|
+
${fixResults.map(r => `## ${r.project.type} (${path.basename(r.project.path)})
|
|
156
|
+
${r.summary}
|
|
157
|
+
|
|
158
|
+
Changes:
|
|
159
|
+
${r.fixes.map(f => `- ${f.type}: ${f.package}${f.from ? ` ${f.from}` : ''}${f.to ? ` → ${f.to}` : ''}`).join('\n')}
|
|
160
|
+
`).join('\n')}
|
|
161
|
+
|
|
162
|
+
Generated by Nayan AI`;
|
|
163
|
+
execSync(`git commit -m "${commitMsg.replace(/"/g, '\\"')}"`, { cwd: repoPath, stdio: 'pipe' });
|
|
164
|
+
};
|
|
165
|
+
export const pushBranch = (repoPath, branchName, token, repoInfo) => {
|
|
166
|
+
const remoteUrl = repoInfo.githubUrl
|
|
167
|
+
? `https://${token}@${repoInfo.githubUrl.replace('https://', '')}/${repoInfo.owner}/${repoInfo.repo}.git`
|
|
168
|
+
: `https://${token}@github.com/${repoInfo.owner}/${repoInfo.repo}.git`;
|
|
169
|
+
execSync(`git push "${remoteUrl}" ${branchName}`, { cwd: repoPath, stdio: 'pipe' });
|
|
170
|
+
};
|
|
171
|
+
export const createPullRequest = async (token, repoInfo, branchName, fixResults) => {
|
|
172
|
+
const baseUrl = repoInfo.githubUrl || 'https://api.github.com';
|
|
173
|
+
const apiUrl = baseUrl.includes('api.github.com')
|
|
174
|
+
? baseUrl
|
|
175
|
+
: `${baseUrl}/api/v3`;
|
|
176
|
+
const totalVulns = fixResults.reduce((sum, r) => sum + r.fixes.length, 0);
|
|
177
|
+
const criticalCount = fixResults.reduce((sum, r) => sum + r.fixes.filter(f => f.reason.toLowerCase().includes('critical')).length, 0);
|
|
178
|
+
const title = `🔒 Security: Fix ${totalVulns} vulnerabilities`;
|
|
179
|
+
const body = `## 🤖 Automated Security Fixes by Nayan AI
|
|
180
|
+
|
|
181
|
+
This PR contains automated fixes for security vulnerabilities detected in your dependencies.
|
|
182
|
+
|
|
183
|
+
### Summary
|
|
184
|
+
- **Total fixes:** ${totalVulns}
|
|
185
|
+
- **Projects affected:** ${fixResults.length}
|
|
186
|
+
|
|
187
|
+
### Changes by Project
|
|
188
|
+
|
|
189
|
+
${fixResults.map(r => `
|
|
190
|
+
#### 📦 ${r.project.type.toUpperCase()} - ${path.basename(r.project.path)}
|
|
191
|
+
|
|
192
|
+
${r.summary}
|
|
193
|
+
|
|
194
|
+
| Type | Package | Change | Reason |
|
|
195
|
+
|------|---------|--------|--------|
|
|
196
|
+
${r.fixes.map(f => `| ${f.type} | \`${f.package}\` | ${f.from ? `${f.from} → ${f.to || 'removed'}` : f.version || '-'} | ${f.reason} |`).join('\n')}
|
|
197
|
+
|
|
198
|
+
${r.breakingChanges.length > 0 ? `
|
|
199
|
+
⚠️ **Potential Breaking Changes:**
|
|
200
|
+
${r.breakingChanges.map(c => `- ${c}`).join('\n')}
|
|
201
|
+
` : ''}
|
|
202
|
+
`).join('\n')}
|
|
203
|
+
|
|
204
|
+
### Recommended Actions
|
|
205
|
+
1. Review the changes carefully
|
|
206
|
+
2. Run your test suite to ensure nothing is broken
|
|
207
|
+
3. Check for any breaking changes mentioned above
|
|
208
|
+
4. Merge when ready
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
*Generated automatically by [Nayan AI](https://github.com/nayan-ai/nayan-ai)*
|
|
212
|
+
`;
|
|
213
|
+
const response = await fetch(`${apiUrl}/repos/${repoInfo.owner}/${repoInfo.repo}/pulls`, {
|
|
214
|
+
method: 'POST',
|
|
215
|
+
headers: {
|
|
216
|
+
'Authorization': `Bearer ${token}`,
|
|
217
|
+
'Accept': 'application/vnd.github+json',
|
|
218
|
+
'Content-Type': 'application/json',
|
|
219
|
+
},
|
|
220
|
+
body: JSON.stringify({
|
|
221
|
+
title,
|
|
222
|
+
body,
|
|
223
|
+
head: branchName,
|
|
224
|
+
base: 'main',
|
|
225
|
+
}),
|
|
226
|
+
});
|
|
227
|
+
if (!response.ok) {
|
|
228
|
+
const error = await response.text();
|
|
229
|
+
throw new Error(`Failed to create PR: ${response.status} ${error}`);
|
|
230
|
+
}
|
|
231
|
+
const pr = await response.json();
|
|
232
|
+
return { number: pr.number, url: pr.html_url };
|
|
233
|
+
};
|
|
234
|
+
export const runFixWorkflow = async (repoPath, repoInfo, fixResults, options) => {
|
|
235
|
+
if (fixResults.length === 0) {
|
|
236
|
+
console.log(chalk.yellow('\n No fixes to apply'));
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
const branchName = options.branch || 'nayan-ai/security-fixes';
|
|
240
|
+
let spinner = ora('Creating fix branch...').start();
|
|
241
|
+
try {
|
|
242
|
+
createFixBranch(repoPath, branchName);
|
|
243
|
+
spinner.succeed(`Created branch: ${branchName}`);
|
|
244
|
+
spinner = ora('Applying fixes...').start();
|
|
245
|
+
applyFixes(repoPath, fixResults);
|
|
246
|
+
spinner.succeed('Fixes applied');
|
|
247
|
+
spinner = ora('Committing changes...').start();
|
|
248
|
+
commitFixes(repoPath, fixResults);
|
|
249
|
+
spinner.succeed('Changes committed');
|
|
250
|
+
spinner = ora('Pushing to remote...').start();
|
|
251
|
+
pushBranch(repoPath, branchName, options.token, repoInfo);
|
|
252
|
+
spinner.succeed('Pushed to remote');
|
|
253
|
+
spinner = ora('Creating Pull Request...').start();
|
|
254
|
+
const pr = await createPullRequest(options.token, repoInfo, branchName, fixResults);
|
|
255
|
+
spinner.succeed(`Pull Request created: #${pr.number}`);
|
|
256
|
+
console.log(chalk.green(`\n✅ Fix PR created successfully!`));
|
|
257
|
+
console.log(chalk.cyan(` ${pr.url}`));
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
spinner.fail('Fix workflow failed');
|
|
261
|
+
throw error;
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
//# sourceMappingURL=fixer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixer.js","sourceRoot":"","sources":["../../src/scan/fixer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Vulnerability, ProjectType } from '../common/types.js';
|
|
2
|
+
export declare const getScanPrompt: (projectType: string, manifestContent: string, nativeVulns?: Vulnerability[]) => string;
|
|
3
|
+
export declare const getFixPrompt: (projectType: ProjectType, manifestContent: string, vulnerabilities: Vulnerability[]) => string;
|
|
4
|
+
export declare const getCodeFixPrompt: (projectType: ProjectType, filePath: string, fileContent: string, vulnerability: Vulnerability) => string;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
export const getScanPrompt = (projectType, manifestContent, nativeVulns = []) => {
|
|
2
|
+
const nativeVulnSection = nativeVulns.length > 0
|
|
3
|
+
? `
|
|
4
|
+
CONFIRMED VULNERABILITIES (MUST INCLUDE ALL):
|
|
5
|
+
${nativeVulns.map(v => `- ${v.package}@${v.version}: ${v.title}${v.cve ? ` [${v.cve}]` : ''}${v.fixedIn ? ` (fix: ${v.fixedIn})` : ''} [SEVERITY: ${v.severity}]`).join('\n')}
|
|
6
|
+
|
|
7
|
+
You MUST include ALL the above in your response. Then find additional CVEs.
|
|
8
|
+
`
|
|
9
|
+
: '';
|
|
10
|
+
return `
|
|
11
|
+
You are a security vulnerability scanner. Analyze EVERY package in the manifest and check for known CVEs.
|
|
12
|
+
|
|
13
|
+
CRITICAL INSTRUCTIONS:
|
|
14
|
+
1. Check EACH package against known vulnerability databases (NVD, GitHub Advisory, Snyk, etc.)
|
|
15
|
+
2. For npm packages, check: lodash, axios, express, typeorm, @nestjs/*, sequelize, mongoose, etc.
|
|
16
|
+
3. Report ALL known CVEs - do not skip any
|
|
17
|
+
4. Be thorough and consistent - same packages should always report same CVEs
|
|
18
|
+
${nativeVulnSection}
|
|
19
|
+
Project type: ${projectType}
|
|
20
|
+
Manifest content:
|
|
21
|
+
\`\`\`
|
|
22
|
+
${manifestContent}
|
|
23
|
+
\`\`\`
|
|
24
|
+
|
|
25
|
+
IMPORTANT CONTEXT FOR SEVERITY ASSESSMENT:
|
|
26
|
+
Before reporting a vulnerability, evaluate the project type and deployment context:
|
|
27
|
+
|
|
28
|
+
1. **Bundled/Static Projects** (React, Vue, Angular, static websites, SPAs):
|
|
29
|
+
- DevDependencies vulnerabilities are LOW impact (not in production bundle)
|
|
30
|
+
- Build-time only tools (webpack, babel, eslint, prettier, jest, etc.) are LOW impact
|
|
31
|
+
- Only runtime dependencies that end up in the client bundle are HIGH impact
|
|
32
|
+
- Prototype pollution in dev tools = LOW (doesn't affect end users)
|
|
33
|
+
|
|
34
|
+
2. **Server-side Projects** (Node.js APIs, Express, backend services):
|
|
35
|
+
- All runtime dependencies are potentially HIGH impact
|
|
36
|
+
- DevDependencies are still LOW impact
|
|
37
|
+
|
|
38
|
+
3. **Libraries/Packages** (published to npm/pypi):
|
|
39
|
+
- Runtime dependencies are HIGH impact (affects consumers)
|
|
40
|
+
- DevDependencies are LOW impact
|
|
41
|
+
|
|
42
|
+
SEVERITY GUIDELINES:
|
|
43
|
+
- Mark as LOW if: devDependency, build-tool only, test framework, linter, formatter
|
|
44
|
+
- Mark as MEDIUM if: runtime dep but requires specific conditions to exploit
|
|
45
|
+
- Mark as HIGH/CRITICAL only if: runtime dependency with real attack vector in production
|
|
46
|
+
|
|
47
|
+
For each vulnerability found, provide:
|
|
48
|
+
- Package name
|
|
49
|
+
- Current version (if identifiable)
|
|
50
|
+
- Severity (critical, high, medium, low) - adjusted based on context above
|
|
51
|
+
- Brief description of the vulnerability
|
|
52
|
+
- Recommended fix (upgrade version or alternative package)
|
|
53
|
+
|
|
54
|
+
Return your findings as JSON in this exact format:
|
|
55
|
+
{
|
|
56
|
+
"vulnerabilities": [
|
|
57
|
+
{
|
|
58
|
+
"package": "package-name",
|
|
59
|
+
"version": "current-version",
|
|
60
|
+
"severity": "high",
|
|
61
|
+
"title": "Brief vulnerability title",
|
|
62
|
+
"description": "Description of the security issue",
|
|
63
|
+
"fixedIn": "version-that-fixes-it",
|
|
64
|
+
"cve": "CVE-XXXX-XXXXX"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
IMPORTANT:
|
|
70
|
+
- Check EVERY package in the manifest against the list above
|
|
71
|
+
- Include CVE IDs for all known vulnerabilities
|
|
72
|
+
- Only return the JSON object, no other text
|
|
73
|
+
`;
|
|
74
|
+
};
|
|
75
|
+
export const getFixPrompt = (projectType, manifestContent, vulnerabilities) => {
|
|
76
|
+
const vulnList = vulnerabilities
|
|
77
|
+
.map(v => `- ${v.package}@${v.version}: ${v.title}${v.fixedIn ? ` (fix: ${v.fixedIn})` : ''}${v.cve ? ` [${v.cve}]` : ''}`)
|
|
78
|
+
.join('\n');
|
|
79
|
+
return `
|
|
80
|
+
You are a security expert fixing vulnerabilities in a ${projectType} project.
|
|
81
|
+
|
|
82
|
+
Current manifest file content:
|
|
83
|
+
\`\`\`
|
|
84
|
+
${manifestContent}
|
|
85
|
+
\`\`\`
|
|
86
|
+
|
|
87
|
+
Vulnerabilities to fix:
|
|
88
|
+
${vulnList}
|
|
89
|
+
|
|
90
|
+
Your task:
|
|
91
|
+
1. Analyze each vulnerability and determine the best fix
|
|
92
|
+
2. Update package versions to secure versions
|
|
93
|
+
3. Remove packages if they are unnecessary or have no secure alternative
|
|
94
|
+
4. Add any missing security-related packages if needed
|
|
95
|
+
5. Ensure compatibility - don't break the project
|
|
96
|
+
|
|
97
|
+
For each fix, consider:
|
|
98
|
+
- Use the exact fixed version if provided
|
|
99
|
+
- If no fixed version, use the latest secure version
|
|
100
|
+
- Check for breaking changes between versions
|
|
101
|
+
- Consider alternative packages if the original is abandoned
|
|
102
|
+
|
|
103
|
+
Return your fixes as JSON in this exact format:
|
|
104
|
+
{
|
|
105
|
+
"fixes": [
|
|
106
|
+
{
|
|
107
|
+
"type": "update",
|
|
108
|
+
"package": "package-name",
|
|
109
|
+
"from": "old-version",
|
|
110
|
+
"to": "new-version",
|
|
111
|
+
"reason": "Brief explanation"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"type": "remove",
|
|
115
|
+
"package": "package-name",
|
|
116
|
+
"reason": "Brief explanation"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "add",
|
|
120
|
+
"package": "package-name",
|
|
121
|
+
"version": "version",
|
|
122
|
+
"reason": "Brief explanation"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"updatedManifest": "The complete updated manifest file content",
|
|
126
|
+
"summary": "Brief summary of all changes made",
|
|
127
|
+
"breakingChanges": ["List of potential breaking changes to watch for"]
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
IMPORTANT:
|
|
131
|
+
- The updatedManifest must be the COMPLETE file content, not a diff
|
|
132
|
+
- Preserve all formatting and structure of the original file
|
|
133
|
+
- Only return the JSON object, no other text
|
|
134
|
+
`;
|
|
135
|
+
};
|
|
136
|
+
export const getCodeFixPrompt = (projectType, filePath, fileContent, vulnerability) => `
|
|
137
|
+
You are a security expert fixing a vulnerability in code.
|
|
138
|
+
|
|
139
|
+
File: ${filePath}
|
|
140
|
+
Project type: ${projectType}
|
|
141
|
+
|
|
142
|
+
Current file content:
|
|
143
|
+
\`\`\`
|
|
144
|
+
${fileContent}
|
|
145
|
+
\`\`\`
|
|
146
|
+
|
|
147
|
+
Vulnerability to fix:
|
|
148
|
+
- Package: ${vulnerability.package}
|
|
149
|
+
- Issue: ${vulnerability.title}
|
|
150
|
+
- Description: ${vulnerability.description || 'N/A'}
|
|
151
|
+
${vulnerability.cve ? `- CVE: ${vulnerability.cve}` : ''}
|
|
152
|
+
|
|
153
|
+
Your task:
|
|
154
|
+
1. Analyze the code for usage of the vulnerable package/pattern
|
|
155
|
+
2. Fix the vulnerability while maintaining functionality
|
|
156
|
+
3. Add any necessary imports or dependencies
|
|
157
|
+
4. Follow best security practices
|
|
158
|
+
|
|
159
|
+
Return your fix as JSON:
|
|
160
|
+
{
|
|
161
|
+
"fixed": true,
|
|
162
|
+
"updatedContent": "The complete updated file content",
|
|
163
|
+
"changes": ["List of changes made"],
|
|
164
|
+
"notes": "Any important notes about the fix"
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
If the file doesn't need changes:
|
|
168
|
+
{
|
|
169
|
+
"fixed": false,
|
|
170
|
+
"reason": "Why no changes are needed"
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
IMPORTANT: Only return the JSON object, no other text.
|
|
174
|
+
`;
|
|
175
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/scan/prompt.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,WAAmB,EACnB,eAAuB,EACvB,cAA+B,EAAE,EACzB,EAAE;IACV,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC;;EAEJ,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;CAG5K;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;EAQP,iBAAiB;gBACH,WAAW;;;EAGzB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDhB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAwB,EACxB,eAAuB,EACvB,eAAgC,EACxB,EAAE;IACV,MAAM,QAAQ,GAAG,eAAe;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC1H,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;wDAC+C,WAAW;;;;EAIjE,eAAe;;;;EAIf,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CT,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,WAAwB,EACxB,QAAgB,EAChB,WAAmB,EACnB,aAA4B,EACpB,EAAE,CAAC;;;QAGL,QAAQ;gBACA,WAAW;;;;EAIzB,WAAW;;;;aAIA,aAAa,CAAC,OAAO;WACvB,aAAa,CAAC,KAAK;iBACb,aAAa,CAAC,WAAW,IAAI,KAAK;EACjD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBvD,CAAC"}
|
package/package.json
CHANGED
package/dist/analyzer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/claude.d.ts
DELETED