AbsaOSS / AbsaOSS/organizational-workflows

AquaSec issue bodies are regenerated on every commit to the scanned branch

未关闭
#99 0 条评论 0 个 reaction 已指派 1 人 已被 @tmikula-dev 认领 在 GitHub 查看
bug
主要语言
Python
星标
0
派生
0
平均合并
5 天 3 小时
30 天内合并 PR
3

描述

### Describe the bug

The AquaSec security automation rewrites the body of existing security issues on every nightly run, even when the underlying finding has not changed at all.

The cause is the `scm_file` field returned by the AquaSec API. It is a **commit-pinned** blob URL:

```
https://github.com///blob/<40-char-commit-sha>/#L
```

That SHA reflects the tip of the scanned branch at scan time, so **any** commit to the branch changes it — including commits that touch completely unrelated files.

The rendered issue body embeds that URL under **Location → File**. When the sync compares the freshly built body against the stored one, the differing SHA makes every issue look changed, so it issues an update. On a large repository this means tens (or hundreds) of issues are edited every night, producing notification spam for subscribers, pointless GitHub API traffic, and a misleading "updated N minutes ago" signal that hides genuine changes.

### Expected state

An issue body is only updated when the finding itself changes (severity, line, description, resolution state). A commit to an unrelated file must not cause any issue body to be rewritten, so "updated" reliably signals a real change to the finding.

### Impact / Severity

Medium

### Attachments / Evidence

Body fragment from an affected issue (`absa/project`, rule `AVD-22`):

```markdown
## Location
- **Repository:** absa/project
- **File:** playwright-run.yaml <-- link target differs only by commit SHA
- **Start Line:** 54
- **End Line:** 54
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。