Versioned security assessment

Report ID: SA-A8E77BFD

7/5/2026, 3:09:43 AM

sast-bandit security assessment v8

Skill Security Certification Report

Audit History
Audit model: codex Historical report
Skill name
sast-bandit
Version
v8
Maintainer
AgentSecOps
Coverage
5 Files scanned · 1,517 Lines analyzed
Policy version
Unavailable

Confirmed finding summary

No confirmed security findings

The completed audit recorded no confirmed security findings. This is not proof that the Skill has no side effects.

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.

Reviewed all 150 static detections in context. Nearly all are false positives from Markdown formatting, Bandit configuration data, public dependency references, or explicitly labeled vulnerable examples in remediation docs. One changed-file xargs pipeline remains a medium-confidence operational risk because unusual repository filenames can affect command invocation.

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

5 Files scanned · 1,517 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 2 evidence locations

Network access

May connect to external services.

Observed in 26 evidence locations

Filesystem access

May read or write local files.

Observed in 15 evidence locations

Env variables

May read values from the process environment.

Observed in 14 evidence locations

External commands

May invoke commands or programs outside the Skill.

Observed in 60 evidence locations

Capability review items (1)
Medium
xargs command (can execute arbitrary commands)
3. Scan only changed files in CI/CD: `git diff --name-only origin/main | grep '.py$' | xargs bandit`
The troubleshooting command pipes repository-controlled filenames into xargs bandit without NUL delimiters or an option separator. It is intended for local scanning, but unusual filenames could be handled incorrectly, so this remains a medium operational risk.

Risk findings

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

No confirmed security findings were recorded for this completed audit.

Remediation

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

  1. FIX-001
    Medium
    Changed-file scan command uses xargs without robust filename handling.
    Replace the pipeline with a NUL-delimited workflow, add an option separator before file paths, or use a small wrapper that validates Python paths before invoking Bandit.

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 (4)
Critical
Python pickle deserialization (RCE risk)
user_data = pickle.loads(request.body)
Force-confirmed obfuscation/critical static finding; AI dismissal overridden.
Critical
Python pickle deserialization (RCE risk)
return pickle.loads(pickled)
Force-confirmed obfuscation/critical 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
- **Weak Cryptography (B303, B304)**: Replace MD5/SHA1 with SHA256/SHA512 or bcrypt for passwords
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