redhat-et / redhat-et/docsclaw
feat: harden pip supply chain and add OCI labels to security image
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 2
- Forks
- 1
- Avg merge
- 6h 9m
- Merged PRs (30d)
- 1
Description
Summary
Follow-up from PR #86 review (Kimi-2.6). Two improvements for the
security container image before production OpenShift deployment.
1. pip hash verification
semgrep and bandit are version-pinned but installed without hash
verification. Use pip install --require-hashes -r requirements.txt
with a generated lock file to close the supply chain gap.
This requires hashing all transitive dependencies (~50 packages for
semgrep), so it was deferred from the initial PR.
2. OCI labels and HEALTHCHECK
Add standard OCI metadata labels (org.opencontainers.image.source,
.version, .description) and a HEALTHCHECK instruction for
production runtime visibility.
Note: Kubernetes deployments typically configure liveness/readiness
probes in the deployment manifest, so HEALTHCHECK is lower priority
than OCI labels for image inventory and SBOM generation.
Related
- #86 — initial security image PR
- #85 — security image issue
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the security image build definition and requirements.txt, then review PR #86 and the related issue #85 for the current image setup. Determine how the pinned semgrep and bandit dependencies are locked and where image metadata is defined. Done means reproducible hash-verified installation plus the requested OCI labels and HEALTHCHECK, with deployment behavior unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- devops, infrastructure, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100