circle-ir-ai 2.7.1 → 2.7.2
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/CHANGELOG.md +21 -0
- package/package.json +2 -2
- package/dist/cli/args.d.ts +0 -86
- package/dist/cli/args.d.ts.map +0 -1
- package/dist/cli/args.js +0 -653
- package/dist/cli/args.js.map +0 -1
- package/dist/cli/colors.d.ts +0 -31
- package/dist/cli/colors.d.ts.map +0 -1
- package/dist/cli/colors.js +0 -80
- package/dist/cli/colors.js.map +0 -1
- package/dist/cli/commands/analyze-skill.d.ts +0 -33
- package/dist/cli/commands/analyze-skill.d.ts.map +0 -1
- package/dist/cli/commands/analyze-skill.js +0 -217
- package/dist/cli/commands/analyze-skill.js.map +0 -1
- package/dist/cli/commands/analyze.d.ts +0 -19
- package/dist/cli/commands/analyze.d.ts.map +0 -1
- package/dist/cli/commands/analyze.js +0 -303
- package/dist/cli/commands/analyze.js.map +0 -1
- package/dist/cli/commands/benchmark-runner.d.ts +0 -42
- package/dist/cli/commands/benchmark-runner.d.ts.map +0 -1
- package/dist/cli/commands/benchmark-runner.js +0 -18
- package/dist/cli/commands/benchmark-runner.js.map +0 -1
- package/dist/cli/commands/benchmark.d.ts +0 -11
- package/dist/cli/commands/benchmark.d.ts.map +0 -1
- package/dist/cli/commands/benchmark.js +0 -90
- package/dist/cli/commands/benchmark.js.map +0 -1
- package/dist/cli/commands/cluster.d.ts +0 -12
- package/dist/cli/commands/cluster.d.ts.map +0 -1
- package/dist/cli/commands/cluster.js +0 -203
- package/dist/cli/commands/cluster.js.map +0 -1
- package/dist/cli/commands/compare.d.ts +0 -13
- package/dist/cli/commands/compare.d.ts.map +0 -1
- package/dist/cli/commands/compare.js +0 -109
- package/dist/cli/commands/compare.js.map +0 -1
- package/dist/cli/commands/dead-code.d.ts +0 -11
- package/dist/cli/commands/dead-code.d.ts.map +0 -1
- package/dist/cli/commands/dead-code.js +0 -75
- package/dist/cli/commands/dead-code.js.map +0 -1
- package/dist/cli/commands/generate-spec.d.ts +0 -11
- package/dist/cli/commands/generate-spec.d.ts.map +0 -1
- package/dist/cli/commands/generate-spec.js +0 -120
- package/dist/cli/commands/generate-spec.js.map +0 -1
- package/dist/cli/commands/health.d.ts +0 -11
- package/dist/cli/commands/health.d.ts.map +0 -1
- package/dist/cli/commands/health.js +0 -76
- package/dist/cli/commands/health.js.map +0 -1
- package/dist/cli/commands/index.d.ts +0 -30
- package/dist/cli/commands/index.d.ts.map +0 -1
- package/dist/cli/commands/index.js +0 -36
- package/dist/cli/commands/index.js.map +0 -1
- package/dist/cli/commands/metrics.d.ts +0 -12
- package/dist/cli/commands/metrics.d.ts.map +0 -1
- package/dist/cli/commands/metrics.js +0 -231
- package/dist/cli/commands/metrics.js.map +0 -1
- package/dist/cli/commands/project.d.ts +0 -21
- package/dist/cli/commands/project.d.ts.map +0 -1
- package/dist/cli/commands/project.js +0 -92
- package/dist/cli/commands/project.js.map +0 -1
- package/dist/cli/commands/quality.d.ts +0 -15
- package/dist/cli/commands/quality.d.ts.map +0 -1
- package/dist/cli/commands/quality.js +0 -86
- package/dist/cli/commands/quality.js.map +0 -1
- package/dist/cli/commands/scan.d.ts +0 -11
- package/dist/cli/commands/scan.d.ts.map +0 -1
- package/dist/cli/commands/scan.js +0 -102
- package/dist/cli/commands/scan.js.map +0 -1
- package/dist/cli/commands/secrets.d.ts +0 -11
- package/dist/cli/commands/secrets.d.ts.map +0 -1
- package/dist/cli/commands/secrets.js +0 -79
- package/dist/cli/commands/secrets.js.map +0 -1
- package/dist/cli/commands/spec-diff.d.ts +0 -12
- package/dist/cli/commands/spec-diff.d.ts.map +0 -1
- package/dist/cli/commands/spec-diff.js +0 -150
- package/dist/cli/commands/spec-diff.js.map +0 -1
- package/dist/cli/commands/swarm.d.ts +0 -21
- package/dist/cli/commands/swarm.d.ts.map +0 -1
- package/dist/cli/commands/swarm.js +0 -175
- package/dist/cli/commands/swarm.js.map +0 -1
- package/dist/cli/commands/trust.d.ts +0 -23
- package/dist/cli/commands/trust.d.ts.map +0 -1
- package/dist/cli/commands/trust.js +0 -397
- package/dist/cli/commands/trust.js.map +0 -1
- package/dist/cli/commands/understand.d.ts +0 -12
- package/dist/cli/commands/understand.d.ts.map +0 -1
- package/dist/cli/commands/understand.js +0 -188
- package/dist/cli/commands/understand.js.map +0 -1
- package/dist/cli/config.d.ts +0 -161
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.js +0 -383
- package/dist/cli/config.js.map +0 -1
- package/dist/cli/discovery.d.ts +0 -31
- package/dist/cli/discovery.d.ts.map +0 -1
- package/dist/cli/discovery.js +0 -212
- package/dist/cli/discovery.js.map +0 -1
- package/dist/cli/effective-options.d.ts +0 -42
- package/dist/cli/effective-options.d.ts.map +0 -1
- package/dist/cli/effective-options.js +0 -80
- package/dist/cli/effective-options.js.map +0 -1
- package/dist/cli/file-collection.d.ts +0 -49
- package/dist/cli/file-collection.d.ts.map +0 -1
- package/dist/cli/file-collection.js +0 -142
- package/dist/cli/file-collection.js.map +0 -1
- package/dist/cli/formatters/index.d.ts +0 -15
- package/dist/cli/formatters/index.d.ts.map +0 -1
- package/dist/cli/formatters/index.js +0 -51
- package/dist/cli/formatters/index.js.map +0 -1
- package/dist/cli/formatters/json.d.ts +0 -11
- package/dist/cli/formatters/json.d.ts.map +0 -1
- package/dist/cli/formatters/json.js +0 -12
- package/dist/cli/formatters/json.js.map +0 -1
- package/dist/cli/formatters/project-json.d.ts +0 -11
- package/dist/cli/formatters/project-json.d.ts.map +0 -1
- package/dist/cli/formatters/project-json.js +0 -12
- package/dist/cli/formatters/project-json.js.map +0 -1
- package/dist/cli/formatters/project-sarif.d.ts +0 -11
- package/dist/cli/formatters/project-sarif.d.ts.map +0 -1
- package/dist/cli/formatters/project-sarif.js +0 -127
- package/dist/cli/formatters/project-sarif.js.map +0 -1
- package/dist/cli/formatters/project-summary.d.ts +0 -11
- package/dist/cli/formatters/project-summary.d.ts.map +0 -1
- package/dist/cli/formatters/project-summary.js +0 -202
- package/dist/cli/formatters/project-summary.js.map +0 -1
- package/dist/cli/formatters/sarif-shared.d.ts +0 -101
- package/dist/cli/formatters/sarif-shared.d.ts.map +0 -1
- package/dist/cli/formatters/sarif-shared.js +0 -57
- package/dist/cli/formatters/sarif-shared.js.map +0 -1
- package/dist/cli/formatters/sarif.d.ts +0 -12
- package/dist/cli/formatters/sarif.d.ts.map +0 -1
- package/dist/cli/formatters/sarif.js +0 -92
- package/dist/cli/formatters/sarif.js.map +0 -1
- package/dist/cli/formatters/summary.d.ts +0 -11
- package/dist/cli/formatters/summary.d.ts.map +0 -1
- package/dist/cli/formatters/summary.js +0 -240
- package/dist/cli/formatters/summary.js.map +0 -1
- package/dist/cli/formatters/two-phase-summary.d.ts +0 -11
- package/dist/cli/formatters/two-phase-summary.d.ts.map +0 -1
- package/dist/cli/formatters/two-phase-summary.js +0 -188
- package/dist/cli/formatters/two-phase-summary.js.map +0 -1
- package/dist/cli/index.d.ts +0 -10
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -72
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/program.d.ts +0 -117
- package/dist/cli/program.d.ts.map +0 -1
- package/dist/cli/program.js +0 -825
- package/dist/cli/program.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.7.2] - 2026-05-08
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **circle-ir dep upgraded `^3.20.0` → `^3.21.0`.** Brings positional-
|
|
13
|
+
argument taint sources for Bash (`$1`–`$9`, `$@`, `$*`, `${1}`,
|
|
14
|
+
etc.) — closes the highest-priority residual from #33. Verified
|
|
15
|
+
end-to-end: `eval "echo $1"` and `cat "/etc/app/$2"` now produce
|
|
16
|
+
CWE-94 / CWE-22 findings on `--no-llm` runs, where 3.20.0 produced
|
|
17
|
+
zero.
|
|
18
|
+
|
|
19
|
+
The release also added detection logic for command substitution
|
|
20
|
+
(`VAR=$(curl ...)`) and untrusted env vars (`USER_INPUT`, `HTTP_*`,
|
|
21
|
+
`REQUEST_*`, etc.) but those sources don't yet reach `eval` /
|
|
22
|
+
code-injection sinks — likely a source-type ↔ sink-type mapping
|
|
23
|
+
in circle-ir's findings generator (`io_input`/`network_input`/
|
|
24
|
+
`env_input` not yet wired to `code_injection`). Refined ask
|
|
25
|
+
posted on #33.
|
|
26
|
+
|
|
27
|
+
No circle-ir-ai source changes — pure dep bump. 478 tests pass.
|
|
28
|
+
|
|
8
29
|
## [2.7.1] - 2026-05-07
|
|
9
30
|
|
|
10
31
|
### Fixed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circle-ir-ai",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.2",
|
|
4
4
|
"description": "LLM-enhanced SAST analysis built on circle-ir",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"dependencies": {
|
|
93
93
|
"@ax-llm/ax": "^20.0.0",
|
|
94
94
|
"@mastra/core": "^1.18.0",
|
|
95
|
-
"circle-ir": "^3.
|
|
95
|
+
"circle-ir": "^3.21.0",
|
|
96
96
|
"minimatch": "^10.2.5",
|
|
97
97
|
"p-queue": "^9.1.0"
|
|
98
98
|
},
|
package/dist/cli/args.d.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Argument Parser
|
|
3
|
-
*/
|
|
4
|
-
export type OutputFormat = 'json' | 'summary' | 'sarif' | 'markdown' | 'csv';
|
|
5
|
-
export type Command = 'analyze' | 'benchmark' | 'scan' | 'health' | 'secrets' | 'dead-code' | 'generate-spec' | 'analyze-skill' | 'metrics' | 'trust' | 'compare' | 'quality' | 'understand' | 'spec-diff' | 'cluster';
|
|
6
|
-
export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
7
|
-
export type BundleType = 'jr-dev' | 'sr-dev' | 'architect' | 'security-review' | 'full-review';
|
|
8
|
-
export interface CliArgs {
|
|
9
|
-
command: Command;
|
|
10
|
-
file: string | null;
|
|
11
|
-
directory: string | null;
|
|
12
|
-
format: OutputFormat;
|
|
13
|
-
output: string | null;
|
|
14
|
-
config: string | null;
|
|
15
|
-
include: string[];
|
|
16
|
-
exclude: string[];
|
|
17
|
-
exitCode: boolean;
|
|
18
|
-
quiet: boolean;
|
|
19
|
-
help: boolean;
|
|
20
|
-
version: boolean;
|
|
21
|
-
logLevel: LogLevel | null;
|
|
22
|
-
discoverPatterns: boolean;
|
|
23
|
-
patternThreshold: number;
|
|
24
|
-
noLlm: boolean;
|
|
25
|
-
llmEnrich: boolean;
|
|
26
|
-
llmVerify: boolean;
|
|
27
|
-
llmBaseUrl: string | null;
|
|
28
|
-
llmApiKey: string | null;
|
|
29
|
-
llmModel: string | null;
|
|
30
|
-
language: string | null;
|
|
31
|
-
threads: number;
|
|
32
|
-
bundle: BundleType | null;
|
|
33
|
-
expectedResults: string | null;
|
|
34
|
-
limit: number | null;
|
|
35
|
-
categories: string[];
|
|
36
|
-
parallel: number | null;
|
|
37
|
-
cache: boolean;
|
|
38
|
-
cacheDir: string | null;
|
|
39
|
-
clearCache: boolean;
|
|
40
|
-
streamOutput: string | null;
|
|
41
|
-
memoryEfficient: boolean;
|
|
42
|
-
specModel: string | null;
|
|
43
|
-
specOverwrite: boolean;
|
|
44
|
-
specSkip: boolean;
|
|
45
|
-
specNoBackup: boolean;
|
|
46
|
-
specDesign: boolean;
|
|
47
|
-
specPrinciples: boolean;
|
|
48
|
-
specTasks: boolean;
|
|
49
|
-
specDesignLLM: boolean;
|
|
50
|
-
specPrinciplesLLM: boolean;
|
|
51
|
-
specTasksLLM: boolean;
|
|
52
|
-
specDir: string | null;
|
|
53
|
-
crossArtifact?: boolean;
|
|
54
|
-
verification?: boolean;
|
|
55
|
-
minConfidence?: number;
|
|
56
|
-
minSeverity?: 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
57
|
-
severity: 'critical' | 'high' | 'medium' | 'low' | null;
|
|
58
|
-
excludeTests: boolean;
|
|
59
|
-
llmDiscovery: boolean;
|
|
60
|
-
disablePass: string[];
|
|
61
|
-
fileTimeout: number;
|
|
62
|
-
maxFiles: number | null;
|
|
63
|
-
pathB: string | null;
|
|
64
|
-
history: boolean;
|
|
65
|
-
maxCommits: number;
|
|
66
|
-
includeCategory: string[];
|
|
67
|
-
excludeCategory: string[];
|
|
68
|
-
includeTests: boolean;
|
|
69
|
-
publicAsEntry: boolean;
|
|
70
|
-
top: number | null;
|
|
71
|
-
full: boolean;
|
|
72
|
-
metricCategory: string[];
|
|
73
|
-
role: string[];
|
|
74
|
-
securityOnly: boolean;
|
|
75
|
-
healthSecurity: boolean;
|
|
76
|
-
healthSecrets: boolean;
|
|
77
|
-
healthDeadCode: boolean;
|
|
78
|
-
healthQuality: boolean;
|
|
79
|
-
healthPerformance: boolean;
|
|
80
|
-
threshold: number;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Parse command-line arguments.
|
|
84
|
-
*/
|
|
85
|
-
export declare function parseArgs(argv: string[]): CliArgs;
|
|
86
|
-
//# sourceMappingURL=args.d.ts.map
|
package/dist/cli/args.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|