Skip to content

Commit f953da3

Browse files
committed
update skill
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
1 parent 5e9a600 commit f953da3

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

  • .claude/skills/vulnerability-remediation

.claude/skills/vulnerability-remediation/SKILL.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ The binary path (e.g. `/atlas`, `/app`) tells you which binary inside the image
8080
**Source file**: `app/controlplane/Dockerfile.migrations`
8181

8282
**Fix procedure**:
83-
1. Check the current atlas version in the comment at the top of the Dockerfile (e.g. `# atlas version v1.1.0`)
84-
2. Find the latest available version:
83+
1. Check the current atlas version in the comment at the top of the Dockerfile (e.g. `# atlas version v1.2.0`)
84+
2. Find the latest available stable version:
8585
```bash
8686
curl -s "https://registry.hub.docker.com/v2/repositories/arigaio/atlas/tags?page_size=20&ordering=last_updated" \
8787
| python3 -c "import json,sys; [print(t['name']) for t in json.load(sys.stdin)['results'] if t['name'][0].isdigit() and '-' not in t['name']]"
@@ -92,18 +92,28 @@ The binary path (e.g. `/atlas`, `/app`) tells you which binary inside the image
9292
grype arigaio/atlas:<new-version> --only-fixed 2>&1
9393
```
9494
A clean run has only the header line and no CVE rows.
95-
4. Once a clean version is confirmed, pull it and get its digest:
95+
4. **If the latest stable tag still has CVEs**, also check the `latest` tag — atlas rebuilds it frequently with updated Go toolchain and dependencies:
96+
```bash
97+
docker pull arigaio/atlas:latest
98+
grype arigaio/atlas:latest --only-fixed 2>&1
99+
docker run --rm arigaio/atlas:latest version
100+
```
101+
If `latest` is clean and the version is a reasonable increment (e.g. canary of the next patch), it is acceptable since the image is pinned by digest.
102+
5. Once a clean version is confirmed, pull it and get its digest:
96103
```bash
97104
docker pull arigaio/atlas:<new-version>
98105
docker inspect --format='{{index .RepoDigests 0}}' arigaio/atlas:<new-version>
99106
```
100-
5. Update `app/controlplane/Dockerfile.migrations`:
107+
6. Update `app/controlplane/Dockerfile.migrations`:
101108
```dockerfile
102109
# from: arigaio/atlas:<NEW_VERSION>
103110
# docker run arigaio/atlas@sha256:<NEW_DIGEST> version
104111
# atlas version v<NEW_VERSION>
105112
FROM arigaio/atlas@sha256:<NEW_DIGEST> as base
106113
```
114+
7. Update `ATLAS_VERSION` in the following files to match the latest **stable** version (used for CLI tool installation, not the Docker image):
115+
- `common.mk` — the `ATLAS_VERSION=vX.X.X` in the `init` target
116+
- `.github/workflows/test.yml` — the `ATLAS_VERSION: vX.X.X` env variable
107117

108118
### 4b. Go stdlib / Go module vulnerabilities (backend)
109119

@@ -184,6 +194,8 @@ Summarise the findings and changes in this format:
184194
185195
### Files Changed
186196
- `app/controlplane/Dockerfile.migrations` — atlas vX.X.X → vX.X.X
197+
- `common.mk` — ATLAS_VERSION vX.X.X → vX.X.X (if upgraded)
198+
- `.github/workflows/test.yml` — ATLAS_VERSION vX.X.X → vX.X.X (if upgraded)
187199
188200
### PR
189201
<GitHub PR URL>
@@ -198,6 +210,8 @@ Summarise the findings and changes in this format:
198210
| chainloop-best-practices framework ID | `0ceef195-6900-4166-8407-77eb84954ed3` |
199211
| Continuous-scanning workflow ID | `c506a425-d307-4a59-9132-659ffd417b57` |
200212
| Migrations Dockerfile | `app/controlplane/Dockerfile.migrations` |
213+
| Atlas CLI version (Makefile) | `common.mk` — `ATLAS_VERSION=vX.X.X` in `init` target |
214+
| Atlas CLI version (CI) | `.github/workflows/test.yml` — `ATLAS_VERSION: vX.X.X` env |
201215
| Backend go.mod | `go.mod` (root) |
202216
203217
## Important Notes

0 commit comments

Comments
 (0)