Skip to main content

Documentation Index

Initiatives

NameDescription
NIST Application Container Security InitiativeThis initiative enforces container security controls as outlined in NIST SP 800-190. It ensures that containerized applications follow security best practices, including vulnerability scanning, trusted image sources, registry security, and proper configuration to minimize risk. The initiative enables policy-driven enforcement of security controls throughout the software development lifecycle (SDLC), providing real-time feedback to developers and enforcement in CI/CD pipelines.
NIST Supply Chain Integrity InitiativeThis initiative enforces key supply chain requirements from NIST SP 800-53. It mandates that container builds include: - A Software Bill of Materials (SBOM) to ensure component inventory and traceability, addressing requirements from SR-4 and CM-8. - Provenance data to support architectural traceability, as outlined in SA-8. Both the SBOM and the provenance artifacts must be cryptographically signed to meet integrity requirements specified in SA-12.
SLSA L1 FrameworkEvaluate SLSA Level 1
SLSA L2 FrameworkEvaluate SLSA Level 2
SSDF Client InitiativeEvaluate PS rules from the SSDF initiative
Secure Software Pipeline BlueprintBlueprint for secure pipelines - Gitlab

Rules

SBOM

Evidence Type: SBOM

Rule NameDescription
Apply Scribe Template PolicyVerify XX using the Scribe API template rule.
Scribe Published PolicyVerify image Scribe Publish flag is set for container image.
NTIA SBOM Compliance CheckValidates that SBOM metadata meets basic NTIA requirements for authors and supplier.
Enforce SBOM FreshnessVerify the SBOM is not older than the specified duration.
Require SBOM ExistenceVerify the SBOM exists as evidence.
Require SBOM SignatureVerify the SBOM is signed.
Require SBOM ExistenceVerify the SBOM exists as evidence.

Image SBOM

Evidence Type: Image SBOM

Rule NameDescription
Verify File IntegrityVerify the checksum of each file in one SBOM matches the checksum in a second SBOM.
Verify Image LabelsVerify specified labels key-value pairs exist in the image.
Forbid Large ImagesVerify the image size is below the specified threshold.
Disallow Container Shell EntrypointVerify the container image disallows shell entrypoint.
Fresh Base ImageVerifies that each base image is not older than the specified threshold (max_days) from its creation date.
Banned PortsEnsures that the container image does not expose ports that are disallowed by organizational policy. The rule examines properties in the SBOM metadata and checks each value (expected in the format "port/protocol") against a provided banned ports list. It fails if any banned port is exposed or if no banned ports list is provided.
Disallow Specific Users in SBOMVerify specific users are not allowed in an SBOM.
Restrict Build ScriptsVerify no build scripts commands appear in block list.
Registry Connection HTTPSChecks if the container's registry scheme is HTTPS
Require Image LabelsVerify the image has the specified labels.
Require HealthcheckChecks that the container image includes at least one healthcheck property.
Allowed Base ImageVerifies that every base image is from an approved source. The rule returns a summary including the component names and versions of valid base images, or lists the invalid ones. This rule requires Dockerfile context; for example, run it with: valint my_image --base-image Dockerfile.
Fresh ImageVerify the image is not older than the specified threshold.
Allowed Main Image SourceEnsures the main container image referenced in the SBOM is from an approved source.
Require Signed Container ImageEnforces that container images (target_type=container) are cryptographically signed.
Verify No Critical or High VulnerabilitiesVerify via Scribe API that there are no critical or high severity vulnerabilities in the target artifact (container image, folder, etc.).
Disallow Specific Users in SBOMVerify specific users are not allowed in an SBOM.
Enforce SBOM DependenciesVerify the artifact includes all required dependencies.
Enforce SBOM License CompletenessVerify all dependencies in the artifact have a license.
Restrict Disallowed SBOM LicensesVerify the number of disallowed licenses in SBOM dependencies remains below the specified threshold.
Enforce Allowed SBOM ComponentsVerify the artifact contains only allowed components.
Require Specified SBOM LicensesVerify the artifact includes all specified licenses.
Restrict Disallowed DependenciesVerify the number of disallowed dependencies remains below the specified threshold.

Git SBOM

Evidence Type: Git SBOM

Rule NameDescription
Restrict Coding PermissionsVerify only allowed users committed to the repository.
Required Git Evidence ExistsVerify required Git evidence exists.
Git Artifact SignedVerify the Git artifact is signed.
Disallow Commits to Main BranchVerify commits made directly to the main branch are disallowed.
Disallow Unsigned CommitsVerify all commits are signed.

SARIF Evidence

Evidence Type: SARIF Evidence

Rule NameDescription
Verify Attack Vector Exists in SARIFVerify required evidence validates attack vectors in the SARIF report.
Verify IaC Misconfiguration Threshold in SARIFVerify the number of infrastructure-as-code (IaC) errors in the SARIF report remains below the specified threshold.
Verify Required Evidence in SARIFVerify all required evidence exists as defined by the SARIF policy.
Verify Artifact Signature in SARIFVerify the artifact referenced in the SARIF report is signed to confirm its integrity.
Verify Rule Compliance in SARIFVerify the SARIF report complies with defined generic rules for compliance and security. vulnerability profiles.
Verify Tool Evidence in SARIFVerify required tools were used to generate the SARIF report.
Verify Semgrep Rule in SARIFVerify the Semgrep SARIF report complies with predefined rules to ensure compliance and detect issues.
Verify Trivy SARIF Report ComplianceVerify the Trivy SARIF report complies with predefined rules to ensure compliance and detect issues.
Verify IaC Misconfiguration Threshold in Trivy SARIFVerify the number of infrastructure-as-code (IaC) errors in the Trivy SARIF report remains below the specified threshold.
Trivy Blocklist CVE CheckVerify a CVE Blocklist against a SARIF report
Trivy Vulnerability Findings CheckVerifies that vulnerability findings in the SARIF evidence from Trivy do not exceed the defined severity threshold.
Verify Attack Vector Threshold in Trivy SARIFVerify no attack vector in the Trivy SARIF report exceeds the specified threshold.
SARIF Update NeededVerify no security packages require updates.
K8s JailbreakVerify no misconfigurations from the prohibited ids list in the Kuberentes scan is below specified threshold

Generic Statement

Evidence Type: Generic Statement

Rule NameDescription
Required Trivy Evidence ExistsVerify required Trivy evidence exists
Required Generic Evidence ExistsVerify required evidence exists.
Generic Artifact SignedVerify required evidence is signed.

Github Organization Discovery Evidence

Evidence Type: Github Organization Discovery Evidence

Rule NameDescription
Verify members_can_create_repositories settingVerify only allowed users can create repositories in the GitHub organization.
Verify secret_scanning_push_protection SettingVerify secret scanning push protection is configured in the GitHub repository.
Verify secret_scanning_validity_checks_enabled SettingVerify validity checks for secrets are configured for the GitHub repository.
Verify dependabot_security_updates_enabled_for_new_repositories settingVerify Dependabot security updates for new repositories are configured in the GitHub organization.
Verify secret_scanning Setting in security_and_analysisVerify secret scanning is configured in the GitHub repository.
Limit Admin Number in GitHub OrganizationVerify the maximum number of GitHub organization admins is restricted.
Verify advanced_security_enabled_for_new_repositories settingVerify Advanced Security is enabled for new repositories in the GitHub organization.
Verify dependency_graph_enabled_for_new_repositories settingVerify dependency graph is enabled for new repositories in the GitHub organization.
Verify GitHub Organization Requires Signoff on Web CommitsVerify contributors sign commits through the GitHub web interface.
Verify Two-Factor Authentication (2FA) Requirement EnabledVerify Two-factor Authentication is required in the GitHub organization.
Verify GitHub Organization Secrets Are Not Too OldVerify secrets in the GitHub organization are not older than the specified threshold.
Allowed GitHub Organization AdminsVerify only users in the Allowed List have admin privileges in the GitHub organization.
Verify secret_scanning_enabled_for_new_repositories settingVerify secret scanning is configured for new repositories in the GitHub organization.
Allowed GitHub Organization UsersVerify only users in the Allowed List have user access to the GitHub organization.
Verify secret_scanning_push_protection_custom_link_enabled SettingVerify secret scanning push protection custom link is enabled in the GitHub organization.
Verify dependabot_security_updates setting in security_and_analysisVerify Dependabot security updates are configured in the GitHub organization.
Verify that members can create private repositories setting is configuredVerify only allowed users can create private repositories in the GitHub organization.
Verify Repo Visibility SettingVerify only repositories in the Allowed List are public in the GitHub organization.
Verify secret_scanning_validity_checks Setting in security_and_analysisVerify validity checks for secrets are configured for the GitHub organization.
Verify secret_scanning_push_protection_enabled_for_new_repositories SettingVerify secret scanning push protection is enabled for new repositories in the GitHub organization.
Verify dependabot_alerts_enabled_for_new_repositories settingVerify Dependabot alerts for new repositories are enabled in the GitHub organization.

Github Repository Discovery Evidence

Evidence Type: Github Repository Discovery Evidence

Rule NameDescription
Verify secret scanning.Verify both secret_scanning_validity_checks and security_and_analysis are set in GitHub organization and all the repositories.
Verify Dependabot security updates settingVerify Dependabot security updates are configured in the GitHub repository.
Verify Repository Is PrivateVerify the GitHub repository is private.
Verify Repository Requires Commit SignoffVerify contributors sign off on commits to the GitHub repository through the GitHub web interface.
Verify Default Branch ProtectionVerify the default branch protection is configured in the GitHub repository.
Verify No Old Secrets Exist in RepositoryVerify secrets in the GitHub repository are not older than the specified threshold.
Verify No Organization Secrets Exist in RepositoryVerify no organization secrets exist in the GitHub repository.
Verify Branch Verification SettingVerify branch verification in the GitHub repository matches the value defined in the configuration file.
Verify Branch Protection SettingVerify branch protection is configured in the GitHub repository.
Verify All Commits Are Signed in RepositoryVerify all commits are signed in a repository attestation.
Verify secret_scanning settingVerify secret_scanning is configured in the GitHub repository.
Verify No Cache Usage Exists in RepositoryVerify the GitHub repository has no cache usage.
Verify All Commits Are Signed in RepositoryVerify all commits in the GitHub repository are signed.
Verify Only Ephemeral Runners Exist in RepositoryVerify self-hosted runners are disallowed in the GitHub repository.
Allowed Public RepositoriesVerify only GitHub repositories in the Allowed List are public.
Verify Push Protection SettingVerify secret_scanning_push_protection is configured in the GitHub repository.

Gitlab Organization Discovery Evidence

Evidence Type: Gitlab Organization Discovery Evidence

Rule NameDescription
Limit Admins in GitLab OrganizationVerify the maximum number of admins for the GitLab project is restricted.
Ensure Active Projects in GitLab OrganizationVerify no GitLab organization projects are inactive.
Restrict Public Visibility in GitLab OrganizationVerify only allowed projects in the GitLab organization have public visibility.
Allowed Admins in GitLab OrganizationVerify only users in the Allowed List have admin privileges in the GitLab organization.
Forbid Long-Lived Tokens in GitLab OrganizationVerify no GitLab organization tokens have an excessively long lifespan.
Forbid Unused Tokens in GitLab OrganizationVerify there are no unused GitLab organization tokens.
Allowed Users in GitLab OrganizationVerify only users in the Allowed List have access to the GitLab organization.
Restrict Token Scopes in GitLabVerify all tokens in the GitLab organization are restricted to allowed scopes to prevent excessive permission.
Block Users in GitLab OrganizationVerify no users in the GitLab organization are on the block list.
Prevent Token Expiration in GitLab OrganizationVerify no GitLab organization tokens are about to expire.
Forbid Token Scopes in GitLab OrganizationVerify no GitLab organization tokens have disallowed scopes.

Gitlab Project Discovery Evidence

Evidence Type: Gitlab Project Discovery Evidence

Rule NameDescription
Merge approval policy check for GitLab projectVerify the project's merge approval policy complies with requirements.
Set Push Rules for GitLab ProjectVerify push rules are set for the GitLab project.
Disable Committers' Approval for Merge Requests in GitLabVerify merge_requests_disable_committers_approval is set for the GitLab project.
Restrict Commit Authors in GitLab ProjectVerify only GitLab project users in the Allowed List have commit author permissions.
Require Minimal Approvers in GitLab ProjectVerify the required number of approvers for the GitLab project is met.
Enforce Medium Severity LimitVerify the maximum allowed medium severity alerts for the GitLab project.
Enforce Merge Access Level Policy for GitLab ProjectVerify the GitLab project's merge access level complies with requirements.
Set Author Email Regex in GitLab ProjectVerify the author_email_regex for the GitLab project is set to the specified value.
Check CWE ComplianceVerify that specified CWEs were not detected in the GitLab project.
Enforce Critical Severity LimitVerify the maximum allowed critical severity alerts for the GitLab project.
Verify Commit Message FormatVerify that commit messages in the GitLab project adhere to the specified format template.
Enable Member Check for GitLab ProjectVerify member_check is enabled for the GitLab project.
Restrict Selective Code Owner Removals in GitLabVerify selective_code_owner_removals is set for the GitLab project.
Run Secrets Scanning in GitLab ProjectVerify secrets scanning is performed for the GitLab project.
Reset Approvals on Push in GitLab ProjectVerify reset_approvals_on_push is set for the GitLab project.
Reject Unsigned Commits in GitLab ProjectVerify reject_unsigned_commits is enabled for the GitLab project.
Enable Commit Committer Check in GitLab ProjectVerify commit_committer_check is enabled for the GitLab project.
Protect CI Secrets in GitLab ProjectVerify secrets in the GitLab project are not shared.
Validate All Commits in GitLab ProjectVerify all commits in the GitLab project are validated.
Disallow Banned ApproversVerify approvers in the GitLab project are not on the banned list.
Allowed Committer Emails in GitLab ProjectVerify only users in the Allowed List use committer email addresses in the GitLab project.
Set Push Access Level in GitLab ProjectVerify the GitLab project's push access level policy complies with requirements.
Disallow Force Push in GitLab ProjectVerify force pushes in the GitLab project are disallowed to maintain repository integrity.
Set Visibility Level in GitLab ProjectVerify the GitLab project's visibility matches the required level.
Restrict Approvers Per Merge RequestVerify the binary field disable_overriding_approvers_per_merge_request is set for the GitLab project.
Allowed Commit Authors in GitLab ProjectVerify only users in the Allowed List author commits in the GitLab project.
Disable Author Approval for Merge Requests in GitLabVerify the binary field merge_requests_author_approval is set for the GitLab project.
Enable Secrets Prevention in GitLab ProjectVerify prevent_secrets is enabled for the GitLab project.
Ensure All Commits Are Signed in GitLab ProjectVerify all commits in the GitLab project are signed.
Check Description SubstringVerify a specific substring is not found in the description attribute of vulnerabilities for the GitLab project.
Verify Project ActivityVerify the GitLab project is active for a specified duration.
Allowed Committer Names in GitLab ProjectVerify only users in the Allowed List commit by name in the GitLab project.
Check Message SubstringVerify a specific substring is not found in the message attribute of vulnerabilities for the GitLab project.
Run SAST Scanning in GitLab ProjectVerify SAST scanning is performed for the GitLab project.
Require Code Owner Approval in GitLab ProjectVerify code owner approval is required for specific branches in the GitLab project.
Ensure SAST Scanning PassesVerify SAST scanning is successful for the GitLab project.
Ensure Secrets Scanning PassesVerify secrets scanning is successful for the GitLab project.
Require Password for Approvals in GitLab ProjectVerify the binary field require_password_to_approve is set for the GitLab project.

K8s Namespace Discovery Evidence

Evidence Type: K8s Namespace Discovery Evidence

Rule NameDescription
Allowed Container ImagesVerify only container images specified in the Allowed List run within the Kubernetes namespace.
Verify Namespace TerminationVerify Kubernetes namespaces are properly terminated to prevent lingering resources and maintain cluster hygiene.
Allowed NamespacesVerify only namespaces specified in the Allowed List are allowed within the cluster.
Verify Namespace Runtime DurationVerify Kubernetes namespaces adhere to a specified runtime duration to enforce lifecycle limits.
Allowed Namespace RegistriesVerify container images in Kubernetes namespaces originate from registries in the Allowed List.
Allowed Pods in NamespaceVerify only pods explicitly listed in the Allowed List run within a Kubernetes namespace.

K8s Pod Discovery Evidence

Evidence Type: K8s Pod Discovery Evidence

Rule NameDescription
Verify Pod Runtime DurationVerify Kubernetes pods adhere to a specified runtime duration to enforce lifecycle limits.
Verify Pod TerminationVerify Kubernetes pods are properly terminated to prevent lingering resources and maintain cluster hygiene.
Allowed PodsVerify only pods explicitly listed in the Allowed List are allowed to run.

Bitbucket Project Discovery Evidence

Evidence Type: Bitbucket Project Discovery Evidence

Rule NameDescription
Prevent Long-Lived TokensVerify Bitbucket API tokens expire before the maximum time to live.
Allowed Project AdminsVerify only users specified in the Allowed List have admin privileges in the Bitbucket project.
Allowed Project UsersVerify only users specified in the Allowed List have user access to the Bitbucket project.
Prevent Credential ExposureVerify access to the Bitbucket project is blocked if exposed credentials are detected.

Bitbucket Repository Discovery Evidence

Evidence Type: Bitbucket Repository Discovery Evidence

Rule NameDescription
Allowed Repository AdminsVerify only users specified in the Allowed List have admin privileges in the Bitbucket repository.
Verify Default Branch Protection Setting Is ConfiguredVerify the default branch protection is enabled in the Bitbucket repository.
Allowed Repository UsersVerify only users specified in the Allowed List have user access to the Bitbucket repository.

Bitbucket Workspace Discovery Evidence

Evidence Type: Bitbucket Workspace Discovery Evidence

Rule NameDescription
Allowed Workspace AdminsVerify only users specified in the Allowed List have admin privileges in the Bitbucket workspace.
Allowed Workspace UsersVerify only users specified in the Allowed List have user access to the Bitbucket workspace.

Discovery Evidence

Evidence Type: Discovery Evidence

Rule NameDescription
Verify GitLab Pipeline LabelsVerify the pipeline includes all required label keys and values.
GitLab pipeline verify labels existVerify the pipeline has all required label keys and values.
Verify Exposed CredentialsVerify there are no exposed credentials.

Dockerhub Project Discovery Evidence

Evidence Type: Dockerhub Project Discovery Evidence

Rule NameDescription
Verify DockerHub Tokens are ActiveVerify that all discovered Dockerhub tokens are set to Active in Dockerhub.
Verify no unused DockerhubVerify that there are no unused Dockerhub.

Jenkins Instance Discovery Evidence

Evidence Type: Jenkins Instance Discovery Evidence

Rule NameDescription
Disallow Unused UsersVerify there are no users with zero activity.
Verify Inactive UsersVerify there are no inactive users.

SLSA Provenance

Evidence Type: SLSA Provenance

Rule NameDescription
SLSA External Parameters Match in Provenance DocumentVerify the specified external parameters value match in the provenance document.
Verify that provenance is authenticatedVerify the artifact is signed.
SLSA Field Exists in Provenance DocumentVerify the specified field exists in the provenance document.
Verify Provenance Document ExistsVerify that the Provenance document evidence exists.
Disallow dependencies in SLSA Provenance DocumentVerify that dependencies in the block list do not appear in the SLSA Proveance document.
Verify build timeVerify the artifact was created within the specified time window.
Verify that artifact was created by the specified builderVerify the artifact was created by the specified builder.
Verify that artifact has no disallowed builder dependenciesVerify the artifact has no disallowed builder dependencies.
SLSA Field Value Matches in Provenance DocumentVerify the specified field value matches in the provenance document.

Statement

Evidence Type: Statement

Rule NameDescription
Verify Selected Commits Are Signed APIVerify selected commits are signed in the GitHub organization.
Branch protection enabled in GitHub repositoryVerify GitHub branch protection rules
Disallow Unsigned Commits In Time RangeVerify commits in the specified time range are signed.
Sign Selected Commits in GitLabVerify the selected commits are signed in the GitLab organization.
Set Push Rules in GitLabVerify GitLab push rules are configured via the API.
Sign Selected Commit Range in GitLabVerify the selected range of commits is signed via the GitLab API.
Verify No 3rd Party Findings via Scribe APIVerify via Scribe API that there are no findings reported by 3rd party tools in the target product.
Verify No Critical or High Vulnerabilities in ProductVerify via Scribe API that there are no critical or high severity vulnerabilities in any deliverable component of the product.