Skip to content

ci: baseline one skillspector false positive - #80

Merged
svyatov merged 1 commit into
mainfrom
ci/skillspector-baseline
Aug 11, 2026
Merged

ci: baseline one skillspector false positive#80
svyatov merged 1 commit into
mainfrom
ci/skillspector-baseline

Conversation

@svyatov

@svyatov svyatov commented Aug 11, 2026

Copy link
Copy Markdown
Owner

What changed

.skillspector-baseline.yaml holds one suppression, and the scan in CI and in the CONTRIBUTING.md check sequence passes --baseline to read it.

Why this way

oss-harden cites GitLab's personal access tokens page as the source for the read_api and api scopes an audit run needs. Skillspector matches the phrase in the link title, reports PE3 Credential Access at HIGH with confidence 0.7, and the score moves from 34 MEDIUM to 52 HIGH, which exits 1. The skill reads no credential file. Rewording the citation would clear the scan by misnaming the source the claim rests on, so the suppression is the honest fix.

The entry is a glob rule scoped to that rule id, that file, and that phrase, not a fingerprint. A fingerprint hashes the line span and the message, so it expires on the next edit to the file and returns the finding with nobody having re-read it. Its reason says what would make the suppression wrong: oss-harden telling a reader to read a token from disk.

Baselining every current finding was the alternative. It was rejected because it would suppress all 18 findings scoring today, including two untriaged HIGH ones in oss-skill/references/hosts.md.

Verification

bun test at 327 pass and skills/oss-writing/scripts/prose.mjs clean on the files touched. The suppression itself is not verified here. The finding it suppresses comes from #78, which is not in this branch, so this branch scores 34 with or without the rule. Re-running #78 against this baseline is the first run that tests it.

Known gaps

The 18 findings that score today are untriaged, and two of them are HIGH. This change leaves every one of them scoring exactly as it does now.

Affects

Rule or skill Change
oss-harden none, the skill is unchanged

`oss-harden` cites GitLab's personal access tokens page as the source for
the `read_api` and `api` scopes an audit run needs. Skillspector reads the
page title as credential access and reports PE3 at HIGH, which carries the
score from 34 to 52 and fails the scan.

The suppression is a glob rule scoped to that rule, that file, and that
phrase. A fingerprint would hash the line span and expire on the next edit
to the file, returning the finding with nobody having re-read it. Every
other finding still scores, so a new one still fails the build.
@svyatov
svyatov force-pushed the ci/skillspector-baseline branch from b2ff52f to 519ea2a Compare August 11, 2026 16:02
@svyatov
svyatov merged commit c5799fe into main Aug 11, 2026
12 checks passed
@svyatov
svyatov deleted the ci/skillspector-baseline branch August 11, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant