Versioned security assessment

Report ID: SA-14648A68

7/5/2026, 3:14:45 AM

sast-semgrep security assessment v8

Skill Security Certification Report

Audit History
Audit model: codex Historical report
Skill name
sast-semgrep
Version
v8
Maintainer
AgentSecOps
Coverage
9 Files scanned · 2,126 Lines analyzed
Policy version
Unavailable

Highest confirmed finding severity

Medium

1 confirmed security finding requires attention.

Installation context

Historical evidence

This report may not describe the currently installable artifact. Open the current Skill page for install guidance.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

The static findings are false positives from documentation, sample rules, and CI snippets rather than executable skill code. No prompt injection, credential exfiltration, or covert network behavior was found. One medium supply chain issue remains because example CI workflows use unpinned Semgrep dependencies.

Report position

Historical report

Open audit history before using this report to install.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

9 Files scanned · 2,126 Lines analyzed

1 item shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Binding unavailable

  2. Artifact

    Identity incomplete

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Observed in 9 evidence locations

Network access

May connect to external services.

Observed in 16 evidence locations

Filesystem access

May read or write local files.

Observed in 2 evidence locations

Env variables

May read values from the process environment.

Observed in 2 evidence locations

External commands

May invoke commands or programs outside the Skill.

Observed in 59 evidence locations

Risk findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (1)

RISK-001 Medium
Unpinned CI Dependencies in Examples
The CI examples use mutable or broad dependency references, including a latest container image and unpinned package installs. Users who copy these examples could receive unexpected Semgrep versions in security pipelines.
The cited CI examples explicitly use semgrep/semgrep:latest and pip install semgrep without a version pin. This is a supply chain reliability risk if users copy the templates directly.

Remediation

Suggested fixes recorded by this audit. Applying them is the maintainer’s responsibility.

  1. FIX-001
    Medium
    Unpinned CI dependencies in example workflows
    Pin Semgrep container images, action versions, and pip package versions before recommending production CI use.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Static false positives ignored (6)
Critical
Python pickle deserialization (RCE risk)
- pattern: pickle.loads($DATA)
Force-confirmed obfuscation/critical static finding; AI dismissal overridden.
Critical
Python pickle deserialization (RCE risk)
data = pickle.loads(user_data)
Force-confirmed obfuscation/critical static finding; AI dismissal overridden.
High
Weak cryptographic algorithm
- Weak encryption algorithms (DES, RC4)
Force-confirmed blocker/high static finding; AI dismissal overridden.
High
Weak cryptographic algorithm
password_hash = hashlib.md5(password.encode()).hexdigest()
Force-confirmed blocker/high static finding; AI dismissal overridden.
High
Weak cryptographic algorithm
from Crypto.Cipher import DES
Force-confirmed blocker/high static finding; AI dismissal overridden.
High
Weak cryptographic algorithm
cipher = DES.new(key, DES.MODE_ECB)
Force-confirmed blocker/high static finding; AI dismissal overridden.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable