@reliabilityworks/core 0.1.0 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../src/frameworks.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAkF9D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA6DrF;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBlF;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA4BhG"}
1
+ {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../src/frameworks.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAkF9D,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA6ErF;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBlF;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA4BhG"}
@@ -112,6 +112,18 @@ async function detectFrameworks(rootDir) {
112
112
  pushIf('file: svelte.config.js', await hasFile(rootDir, 'svelte.config.js'), kitEvidence);
113
113
  pushIf('file: svelte.config.ts', await hasFile(rootDir, 'svelte.config.ts'), kitEvidence);
114
114
  pushIf('dir: src/routes/', await hasDir(rootDir, node_path_1.default.join('src', 'routes')), kitEvidence);
115
+ const astroEvidence = [];
116
+ pushIf('dependency: astro', packageHasDep(pkg, 'astro'), astroEvidence);
117
+ pushIf('dir: src/pages/', await hasDir(rootDir, node_path_1.default.join('src', 'pages')), astroEvidence);
118
+ const astroConfigFiles = [
119
+ 'astro.config.mjs',
120
+ 'astro.config.js',
121
+ 'astro.config.cjs',
122
+ 'astro.config.ts',
123
+ ];
124
+ for (const f of astroConfigFiles) {
125
+ pushIf(`file: ${f}`, await hasFile(rootDir, f), astroEvidence);
126
+ }
115
127
  const frameworks = [];
116
128
  if (hasNextDep || hasNextEnv)
117
129
  frameworks.push(makeDetection('nextjs', nextEvidence));
@@ -125,6 +137,8 @@ async function detectFrameworks(rootDir) {
125
137
  frameworks.push(makeDetection('express', expressEvidence));
126
138
  if (hasSvelteKitDep)
127
139
  frameworks.push(makeDetection('sveltekit', kitEvidence));
140
+ if (astroEvidence.length > 0)
141
+ frameworks.push(makeDetection('astro', astroEvidence));
128
142
  sortFrameworks(frameworks);
129
143
  return frameworks;
130
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../src/frameworks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../src/frameworks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAIV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EAEb,MAAM,SAAS,CAAA;AAiBhB,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAA;AAE5C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,QAAQ,CAWpE;AAsOD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkG3E"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAIV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EAEb,MAAM,SAAS,CAAA;AAiBhB,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAA;AAE5C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,QAAQ,CAWpE;AAwPD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuG3E"}
package/dist/scan.js CHANGED
@@ -93,24 +93,39 @@ const ignoreEntrySchema = zod_1.z.union([
93
93
  const configSchema = zod_1.z.object({
94
94
  ignore: zod_1.z.array(ignoreEntrySchema).optional(),
95
95
  });
96
+ function resolveConfigPath(rootDir, candidate) {
97
+ if (!candidate)
98
+ return candidate;
99
+ return node_path_1.default.isAbsolute(candidate) ? candidate : node_path_1.default.join(rootDir, candidate);
100
+ }
101
+ async function loadConfigFromCandidates(candidates) {
102
+ for (const candidate of candidates) {
103
+ if (!(await fileExists(candidate)))
104
+ continue;
105
+ const raw = await promises_1.default.readFile(candidate, 'utf8');
106
+ const parsed = yaml_1.default.parse(raw);
107
+ const validated = configSchema.safeParse(parsed);
108
+ if (!validated.success) {
109
+ throw new Error(`Invalid config at ${candidate}`);
110
+ }
111
+ return validated.data;
112
+ }
113
+ return {};
114
+ }
96
115
  function loadConfig(configRootDir, configPath) {
97
116
  const candidates = configPath
98
- ? [configPath]
117
+ ? [resolveConfigPath(configRootDir, configPath)]
99
118
  : [node_path_1.default.join(configRootDir, '.vibesec.yaml'), node_path_1.default.join(configRootDir, '.vibesec.yml')];
100
- return (async () => {
101
- for (const candidate of candidates) {
102
- if (!(await fileExists(candidate)))
103
- continue;
104
- const raw = await promises_1.default.readFile(candidate, 'utf8');
105
- const parsed = yaml_1.default.parse(raw);
106
- const validated = configSchema.safeParse(parsed);
107
- if (!validated.success) {
108
- throw new Error(`Invalid config at ${candidate}`);
109
- }
110
- return validated.data;
111
- }
112
- return {};
113
- })();
119
+ return loadConfigFromCandidates(candidates);
120
+ }
121
+ function loadBaseline(configRootDir, baselinePath) {
122
+ const candidates = baselinePath
123
+ ? [resolveConfigPath(configRootDir, baselinePath)]
124
+ : [
125
+ node_path_1.default.join(configRootDir, '.vibesec.baseline.yaml'),
126
+ node_path_1.default.join(configRootDir, '.vibesec.baseline.yml'),
127
+ ];
128
+ return loadConfigFromCandidates(candidates);
114
129
  }
115
130
  const ruleSchema = zod_1.z.object({
116
131
  id: zod_1.z.string().min(1),
@@ -232,6 +247,10 @@ async function scanProject(options) {
232
247
  const pathBaseDir = node_path_1.default.resolve(options.pathBaseDir ?? scanDir);
233
248
  const maxFileSizeBytes = options.maxFileSizeBytes ?? DEFAULT_MAX_FILE_SIZE_BYTES;
234
249
  const config = await loadConfig(configRootDir, options.configPath);
250
+ const baseline = await loadBaseline(configRootDir, options.baselinePath);
251
+ const mergedConfig = {
252
+ ignore: [...(config.ignore ?? []), ...(baseline.ignore ?? [])],
253
+ };
235
254
  const additionalRules = options.additionalRules ?? [];
236
255
  const rules = [
237
256
  ...builtinRules_1.BUILTIN_RULES,
@@ -256,7 +275,7 @@ async function scanProject(options) {
256
275
  location: { path: toBasePath(relativePath), startLine: 1, startColumn: 1 },
257
276
  message: rule.matcher.message,
258
277
  });
259
- if (isIgnored(config, finding)) {
278
+ if (isIgnored(mergedConfig, finding)) {
260
279
  ignoredFindings += 1;
261
280
  continue;
262
281
  }
@@ -296,7 +315,7 @@ async function scanProject(options) {
296
315
  matchText: match[0],
297
316
  lineText,
298
317
  });
299
- if (isIgnored(config, finding)) {
318
+ if (isIgnored(mergedConfig, finding)) {
300
319
  ignoredFindings += 1;
301
320
  continue;
302
321
  }
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -19,7 +19,7 @@ export type Finding = {
19
19
  fingerprint: string;
20
20
  excerpt?: string;
21
21
  };
22
- export type FrameworkId = 'nextjs' | 'react-native' | 'expo' | 'express' | 'sveltekit';
22
+ export type FrameworkId = 'nextjs' | 'react-native' | 'expo' | 'express' | 'sveltekit' | 'astro';
23
23
  export type FrameworkDetection = {
24
24
  id: FrameworkId;
25
25
  confidence: 'high' | 'medium' | 'low';
@@ -37,6 +37,7 @@ export type ScanOptions = {
37
37
  pathBaseDir?: string;
38
38
  configRootDir?: string;
39
39
  configPath?: string;
40
+ baselinePath?: string;
40
41
  customRulesDir?: string;
41
42
  frameworks?: FrameworkDetection[];
42
43
  additionalRules?: Rule[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reliabilityworks/core",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
package/src/frameworks.ts CHANGED
@@ -129,6 +129,20 @@ export async function detectFrameworks(rootDir: string): Promise<FrameworkDetect
129
129
  pushIf('file: svelte.config.ts', await hasFile(rootDir, 'svelte.config.ts'), kitEvidence)
130
130
  pushIf('dir: src/routes/', await hasDir(rootDir, path.join('src', 'routes')), kitEvidence)
131
131
 
132
+ const astroEvidence: string[] = []
133
+ pushIf('dependency: astro', packageHasDep(pkg, 'astro'), astroEvidence)
134
+ pushIf('dir: src/pages/', await hasDir(rootDir, path.join('src', 'pages')), astroEvidence)
135
+
136
+ const astroConfigFiles = [
137
+ 'astro.config.mjs',
138
+ 'astro.config.js',
139
+ 'astro.config.cjs',
140
+ 'astro.config.ts',
141
+ ]
142
+ for (const f of astroConfigFiles) {
143
+ pushIf(`file: ${f}`, await hasFile(rootDir, f), astroEvidence)
144
+ }
145
+
132
146
  const frameworks: FrameworkDetection[] = []
133
147
 
134
148
  if (hasNextDep || hasNextEnv) frameworks.push(makeDetection('nextjs', nextEvidence))
@@ -144,6 +158,8 @@ export async function detectFrameworks(rootDir: string): Promise<FrameworkDetect
144
158
 
145
159
  if (hasSvelteKitDep) frameworks.push(makeDetection('sveltekit', kitEvidence))
146
160
 
161
+ if (astroEvidence.length > 0) frameworks.push(makeDetection('astro', astroEvidence))
162
+
147
163
  sortFrameworks(frameworks)
148
164
 
149
165
  return frameworks
package/src/scan.ts CHANGED
@@ -125,25 +125,43 @@ const configSchema = z.object({
125
125
  ignore: z.array(ignoreEntrySchema).optional(),
126
126
  })
127
127
 
128
+ function resolveConfigPath(rootDir: string, candidate: string): string {
129
+ if (!candidate) return candidate
130
+ return path.isAbsolute(candidate) ? candidate : path.join(rootDir, candidate)
131
+ }
132
+
133
+ async function loadConfigFromCandidates(candidates: string[]): Promise<VibeSecConfig> {
134
+ for (const candidate of candidates) {
135
+ if (!(await fileExists(candidate))) continue
136
+ const raw = await fs.readFile(candidate, 'utf8')
137
+ const parsed = YAML.parse(raw)
138
+ const validated = configSchema.safeParse(parsed)
139
+ if (!validated.success) {
140
+ throw new Error(`Invalid config at ${candidate}`)
141
+ }
142
+ return validated.data
143
+ }
144
+
145
+ return {}
146
+ }
147
+
128
148
  function loadConfig(configRootDir: string, configPath?: string): Promise<VibeSecConfig> {
129
149
  const candidates = configPath
130
- ? [configPath]
150
+ ? [resolveConfigPath(configRootDir, configPath)]
131
151
  : [path.join(configRootDir, '.vibesec.yaml'), path.join(configRootDir, '.vibesec.yml')]
132
152
 
133
- return (async () => {
134
- for (const candidate of candidates) {
135
- if (!(await fileExists(candidate))) continue
136
- const raw = await fs.readFile(candidate, 'utf8')
137
- const parsed = YAML.parse(raw)
138
- const validated = configSchema.safeParse(parsed)
139
- if (!validated.success) {
140
- throw new Error(`Invalid config at ${candidate}`)
141
- }
142
- return validated.data
143
- }
153
+ return loadConfigFromCandidates(candidates)
154
+ }
144
155
 
145
- return {}
146
- })()
156
+ function loadBaseline(configRootDir: string, baselinePath?: string): Promise<VibeSecConfig> {
157
+ const candidates = baselinePath
158
+ ? [resolveConfigPath(configRootDir, baselinePath)]
159
+ : [
160
+ path.join(configRootDir, '.vibesec.baseline.yaml'),
161
+ path.join(configRootDir, '.vibesec.baseline.yml'),
162
+ ]
163
+
164
+ return loadConfigFromCandidates(candidates)
147
165
  }
148
166
 
149
167
  const ruleSchema: z.ZodType<Rule> = z.object({
@@ -285,6 +303,11 @@ export async function scanProject(options: ScanOptions): Promise<ScanResult> {
285
303
  const maxFileSizeBytes = options.maxFileSizeBytes ?? DEFAULT_MAX_FILE_SIZE_BYTES
286
304
 
287
305
  const config = await loadConfig(configRootDir, options.configPath)
306
+ const baseline = await loadBaseline(configRootDir, options.baselinePath)
307
+ const mergedConfig: VibeSecConfig = {
308
+ ignore: [...(config.ignore ?? []), ...(baseline.ignore ?? [])],
309
+ }
310
+
288
311
  const additionalRules = options.additionalRules ?? []
289
312
  const rules = [
290
313
  ...BUILTIN_RULES,
@@ -314,7 +337,7 @@ export async function scanProject(options: ScanOptions): Promise<ScanResult> {
314
337
  message: rule.matcher.message,
315
338
  })
316
339
 
317
- if (isIgnored(config, finding)) {
340
+ if (isIgnored(mergedConfig, finding)) {
318
341
  ignoredFindings += 1
319
342
  continue
320
343
  }
@@ -358,7 +381,7 @@ export async function scanProject(options: ScanOptions): Promise<ScanResult> {
358
381
  lineText,
359
382
  })
360
383
 
361
- if (isIgnored(config, finding)) {
384
+ if (isIgnored(mergedConfig, finding)) {
362
385
  ignoredFindings += 1
363
386
  continue
364
387
  }
package/src/types.ts CHANGED
@@ -23,7 +23,7 @@ export type Finding = {
23
23
  excerpt?: string
24
24
  }
25
25
 
26
- export type FrameworkId = 'nextjs' | 'react-native' | 'expo' | 'express' | 'sveltekit'
26
+ export type FrameworkId = 'nextjs' | 'react-native' | 'expo' | 'express' | 'sveltekit' | 'astro'
27
27
 
28
28
  export type FrameworkDetection = {
29
29
  id: FrameworkId
@@ -44,6 +44,7 @@ export type ScanOptions = {
44
44
  pathBaseDir?: string
45
45
  configRootDir?: string
46
46
  configPath?: string
47
+ baselinePath?: string
47
48
  customRulesDir?: string
48
49
  frameworks?: FrameworkDetection[]
49
50
  additionalRules?: Rule[]
@@ -0,0 +1,9 @@
1
+ export const expressRulesFixture = {
2
+ origin: '*',
3
+ headerExample: "Access-Control-Allow-Origin', '*'",
4
+ session: {
5
+ cookie: {
6
+ secure: false,
7
+ },
8
+ },
9
+ }
@@ -0,0 +1 @@
1
+ export default {}
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "astro",
3
+ "private": true,
4
+ "dependencies": {
5
+ "astro": "4.0.0"
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ ---
2
+ const html = '<img src=x onerror=alert(1) />'
3
+ ---
4
+
5
+ <div set:html={html}></div>
6
+
7
+ <script is:inline>
8
+ console.log('inline')
9
+ </script>
@@ -0,0 +1,5 @@
1
+ {
2
+ "expo": {
3
+ "name": "Expo App"
4
+ }
5
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "expo",
3
+ "private": true,
4
+ "dependencies": {
5
+ "expo": "50.0.0"
6
+ }
7
+ }
@@ -0,0 +1 @@
1
+ export const fixture = "AsyncStorage.setItem('auth_token', 'not-a-real-token')"
@@ -0,0 +1,5 @@
1
+ module.exports = {
2
+ server: {
3
+ host: '0.0.0.0',
4
+ },
5
+ }
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <plist version="1.0">
3
+ <dict>
4
+ <key>NSAppTransportSecurity</key>
5
+ <dict>
6
+ <key>NSAllowsArbitraryLoads</key>
7
+ <true />
8
+ </dict>
9
+ </dict>
10
+ </plist>
@@ -0,0 +1,3 @@
1
+ <manifest>
2
+ <application android:usesCleartextTraffic="true"></application>
3
+ </manifest>
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "rn",
3
+ "private": true,
4
+ "dependencies": {
5
+ "react-native": "0.73.0"
6
+ }
7
+ }
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <plist version="1.0">
3
+ <dict>
4
+ <key>NSAppTransportSecurity</key>
5
+ <dict>
6
+ <key>NSAllowsArbitraryLoads</key>
7
+ <true />
8
+ </dict>
9
+ </dict>
10
+ </plist>
@@ -0,0 +1,3 @@
1
+ <manifest>
2
+ <application android:usesCleartextTraffic="true"></application>
3
+ </manifest>
@@ -0,0 +1,5 @@
1
+ ---
2
+ const html = '<img src=x onerror=alert(1) />'
3
+ ---
4
+
5
+ <div set:html={html}></div>
@@ -0,0 +1 @@
1
+ export const fixture = "AsyncStorage.setItem('auth_token', 'not-a-real-token')"
@@ -0,0 +1,5 @@
1
+ export const nextRulesFixture = {
2
+ revalidate: 0,
3
+ publicSecret: process.env.NEXT_PUBLIC_API_SECRET,
4
+ publicToken: process.env.NEXT_PUBLIC_SESSION_TOKEN,
5
+ }
@@ -12,4 +12,7 @@ test('detectFrameworksInWorkspace finds nested frameworks', async () => {
12
12
  assert.ok(ids.includes('nextjs'))
13
13
  assert.ok(ids.includes('express'))
14
14
  assert.ok(ids.includes('sveltekit'))
15
+ assert.ok(ids.includes('astro'))
16
+ assert.ok(ids.includes('react-native'))
17
+ assert.ok(ids.includes('expo'))
15
18
  })