Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .clusterfuzzlite/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
FROM gcr.io/oss-fuzz-base/base-builder-rust
FROM gcr.io/oss-fuzz-base/base-builder-rust@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 2024-11-14

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use a valid OCI digest in fuzzing base image reference

The FROM reference pins base-builder-rust as @8e8c483db84b4bee98b60c0593521ed34d9990e8, which is a 40-character Git SHA and not a valid OCI digest format (@sha256:<64-hex>). Docker/BuildKit cannot resolve this image reference, so the ClusterFuzzLite build steps that consume .clusterfuzzlite/Dockerfile will fail before fuzzers are built.

Useful? React with 👍 / 👎.


RUN apt-get update && apt-get install -y make autoconf automake libtool
COPY . $SRC/anvomidav
WORKDIR $SRC/anvomidav
Expand Down
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# All files in the repository
* @hyperpolymath
32 changes: 32 additions & 0 deletions .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# Semgrep SAST Analysis
name: Semgrep

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
schedule:
- cron: '0 0 * * 1' # Every Monday

permissions: read-all

jobs:
semgrep:
name: Scan
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
container:
image: returntocorp/semgrep@sha256:8e8c483db84b4bee98b60c0593521ed34d9990e8 # v1.100.0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Fix invalid digest length for Semgrep job container

The workflow pins the Semgrep container as returntocorp/semgrep@sha256:8e8c483db84b4bee98b60c0593521ed34d9990e8, but a SHA-256 image digest must be 64 hex characters and this value is only 40. GitHub Actions will fail when trying to start the job container, so the Semgrep scan and SARIF upload steps never run.

Useful? React with 👍 / 👎.

steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4.1.1
- name: Run Semgrep
run: semgrep scan --sarif --config auto > semgrep.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.28.1
with:
sarif_file: semgrep.sarif
if: always()
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# asdf version manager configuration
rust 1.75.0
rust stable
29 changes: 29 additions & 0 deletions CII-BEST-PRACTICES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# OpenSSF Best Practices (CII) Adherence

This document tracks the project's adherence to the [OpenSSF Best Practices Badge](https://best-practices.coreinfrastructure.org/) criteria.

## Summary
The anvomidav project is committed to following open-source security and quality best practices.

## Change Control
- **Public Repository**: All source code is hosted on GitHub and is public.
- **Version Control**: We use Git for version control.
- **Unique Versioning**: All releases use unique version identifiers (SemVer).

## Reporting
- **Bug Reporting Process**: Documented in `CONTRIBUTING.md`.
- **Vulnerability Reporting**: A clear `SECURITY.md` file defines the private reporting process.

## Quality
- **Automated Builds**: We use GitHub Actions for automated builds and CI.
- **Testing**: Automated test suites are integrated into the CI pipeline.
- **New Features**: New functionality is required to have associated tests.

## Security
- **Secure Development**: We use automated security scanners (CodeQL, Trufflehog, ClusterFuzzLite).
- **Dependency Pinning**: GitHub Actions and critical dependencies (including Fuzzing Dockerfiles) are pinned to specific versions/SHAs.
- **No Hardcoded Secrets**: Scanned via `trufflehog` and `gitleaks`.

## Best Practices
- **SPDX Headers**: We use SPDX license identifiers in all source files.
- **Code Review**: All changes require a pull request and code review before merging to `main`.
66 changes: 12 additions & 54 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions SECURITY-ACKNOWLEDGMENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Security Acknowledgments

We would like to thank the following researchers for their contributions to keeping anvomidav safe.

## 2026
- Currently no entries.

## 2025
- Currently no entries.
6 changes: 4 additions & 2 deletions crates/anv-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,7 @@ clap = { workspace = true }
miette = { workspace = true }
thiserror = { workspace = true }
serde_json = { workspace = true }
notify = "7.0"
notify-debouncer-mini = "0.5"
notify = "8.0"
notify-debouncer-mini = "0.7"


Loading