Commit 05a4dab
feat: Add enterprise-grade suppression system and OSV provider v0.8.0
## New Features
### Suppression Engine
- Add SuppressionEngine for comprehensive finding suppression
- Support global path ignores via rules.ignore_paths config
- Support per-rule path ignores via rules.ignore_paths_by_rule
- Built-in default presets for test/example directories
- Security rules (command-injection, hardcoded-secret, etc.) can only
be suppressed via inline comments with reason
- Default presets automatically enabled in --mode pr and --mode ci
- Suppression metadata added to Finding.properties for traceability
- SARIF output includes suppression information
### OSV Provider (Stage 2 lite)
- Add reachability confidence layer based on import detection
- Detect imports for npm (JS/TS), Go, and Rust ecosystems
- Normalize imports to package names
- Set finding.properties.reachability = "imported" or "present"
- Add import_hits count and import_files_sample (up to 3)
- Add caching with configurable TTL and offline mode
- Add cache management command: rma cache
### Other Changes
- Bump version to 0.8.0
- Update doctor command to show all providers
- Add 16+ new tests for suppression engine
- Add 5 new tests for import detection
Co-Authored-By: Claude Opus 4.5 <[email protected]>1 parent e243733 commit 05a4dab
File tree
35 files changed
+4175
-291
lines changed- crates
- ai
- src
- analyzer
- src
- providers
- security
- cli
- src
- commands
- output
- diagnostics
- common/src
- daemon
- src
- indexer
- lsp
- src
- parser
- plugins
- src
35 files changed
+4175
-291
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
| 9 | + | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| 152 | + | |
152 | 153 | | |
153 | 154 | | |
154 | 155 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
| 9 | + | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
165 | 185 | | |
166 | 186 | | |
167 | 187 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
| 211 | + | |
211 | 212 | | |
212 | 213 | | |
213 | 214 | | |
| |||
0 commit comments