! Security: Review · 75 75/100 · grade B scanned 17d ago
✓ no compromise signals 10 risk-surface · 6/20 OWASP controls flagged
Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface , expected for some capabilities. Every finding is mapped to its OWASP control below.
What this capability can do · med confidence (static)
⚑ filesystem ⚑ shell ⚑ network ⚑ secrets
egress → www.contributor-covenant.org, docs.github.com, semver.org, pre-commit.ci, l.bentoml.com, git-scm.com, www.python.org, docs.bentoml.com +12
auth: api_key www.contributor-covenant.org github.com docs.github.com semver.org pre-commit.ci l.bentoml.com git-scm.com www.python.org
Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10 . Expand any flagged control for the exact findings — compromise reduces the score; expected /risk-surface do not, except a known CVE , which carries a small bounded penalty (high/critical → Review).
OWASP Top 10 for LLM Applications
⚠ LLM03 Supply Chain critical Vulnerable/compromised dependencies, models or archives in the artifact.
• Vulnerable dependencies — 125 known vulnerabilities in: aiohttp@3.11.12, bentoml@1.4.8, dulwich@0.22.7, filelock@3.17.0, h11@0.14.0, idna@3.10, jinja2@3.1.5, pygments@2.19.1 (CWE-1395)known CVE · -25 pts
⚠ LLM05 Improper Output Handling medium Code that pipes model/user output into shell, eval, SQL or paths unsafely.
• Suspicious code patterns — OS command execution · bentoml-OpenLLM-ec2355c/gen_readme.py (CWE-78)expected
⚠ LLM06 Excessive Agency medium Over-broad tool/permission surface or unrestricted egress.
• External endpoints declared — 2 distinct host(s) · bentoml-OpenLLM-ec2355c/.github/CODE_OF_CONDUCT.md expected
• External endpoints declared — 1 distinct host(s) · bentoml-OpenLLM-ec2355c/.github/ISSUE_TEMPLATE/bug_report.yml expected
• External endpoints declared — 3 distinct host(s) · bentoml-OpenLLM-ec2355c/.gitignore expected
• External endpoints declared — 6 distinct host(s) · bentoml-OpenLLM-ec2355c/DEVELOPMENT.md expected
• External endpoints declared — 11 distinct host(s) · bentoml-OpenLLM-ec2355c/README.md expected
• External endpoints declared — 4 distinct host(s) · bentoml-OpenLLM-ec2355c/pyproject.toml expected
• Broad capability surface — 3 high-impact capability categories referenced — verify least-privilege · bentoml-OpenLLM-ec2355c/src/openllm/cloud.py (CWE-272)risk surface
⚠ LLM10 Unbounded Consumption medium Unbounded loops/recursion causing DoS or runaway cost.
Enforced at runtime by the gateway (rate limits + spend caps + size caps); static check flags unbounded loops.
• Potentially unbounded loop — an infinite loop (while True / while(1) / for(;;)) may cause runaway consumption · bentoml-OpenLLM-ec2355c/src/openllm/local.py (CWE-835)risk surface
§ LLM09 Misinformation Governance Artifacts designed to produce false/deceptive output.
Detectable only by runtime behavioral evaluation; addressed via responsible-use attestation.
✓ LLM01 Prompt Injection Passed
✓ LLM02 Sensitive Information Disclosure Passed
✓ LLM04 Data and Model Poisoning Passed Backdoors/poisoning in training data or serialized models.
Behavioral poisoning needs model execution; static check covers unsafe serialization + dataset skew only.
✓ LLM07 System Prompt Leakage Passed
✓ LLM08 Vector and Embedding Weaknesses Passed PII or plaintext source leakage in embedding/vector exports.
Embedding inversion/poisoning is largely runtime; static check covers PII in vector exports.
OWASP Machine Learning Security Top 10
⚠ ML06 AI Supply Chain critical Compromised PyPI/npm packages, typosquats, unsafe serialized models.
• Vulnerable dependencies — 125 known vulnerabilities in: aiohttp@3.11.12, bentoml@1.4.8, dulwich@0.22.7, filelock@3.17.0, h11@0.14.0, idna@3.10, jinja2@3.1.5, pygments@2.19.1 (CWE-1395)known CVE · -25 pts
⚠ ML09 Output Integrity medium Middleware tampering with model outputs in transit.
Gateway enforces TLS + response integrity; static check flags output-rewriting code.
• Suspicious code patterns — OS command execution · bentoml-OpenLLM-ec2355c/gen_readme.py (CWE-78)expected
§ ML01 Input Manipulation (Adversarial) Governance Models vulnerable to adversarial perturbations.
Requires runtime robustness evaluation; addressed via publisher robustness attestation.
§ ML03 Model Inversion Governance Training data reconstructable from a model's outputs.
Runtime/evaluation property; addressed via model-card data-provenance + DP attestation.
§ ML04 Membership Inference Governance Determining whether a record was in the training set.
Runtime/evaluation property; addressed via overfitting disclosure + DP attestation.
§ ML08 Model Skewing Governance Models trained on skewed data producing biased output.
Requires fairness evaluation; addressed via model-card bias/limitations disclosure.
✓ ML02 Data Poisoning Passed Poisoned training datasets with triggers or anomalous distributions.
Static check covers trigger phrasing, PII and label skew; full poisoning detection is runtime.
✓ ML05 Model Theft Passed Unlicensed re-distribution / license-incompatible derivatives.
Static check verifies license declaration; extraction throttling is runtime.
✓ ML07 Transfer Learning Attack Passed Backdoored base models / LoRA adapters propagating to derivatives.
Backdoor detection needs behavioral probing; static check covers unsafe serialization + provenance.
✓ ML10 Model Poisoning (Weights) Passed Tampered model weight files; integrity must be verifiable.
Static check enforces safe formats + records a content hash for downstream verification.
Other findings (9) · hygiene / uncategorized • Unrecognized file type — '.editorconfig' is not on the allowlist · bentoml-OpenLLM-ec2355c/.editorconfig risk surface
• Unrecognized file type — '.template' is not on the allowlist · bentoml-OpenLLM-ec2355c/.envrc.template risk surface
• Unrecognized file type — '.git-blame-ignore-revs' is not on the allowlist · bentoml-OpenLLM-ec2355c/.git-blame-ignore-revs risk surface
• Unrecognized file type — '.gitattributes' is not on the allowlist · bentoml-OpenLLM-ec2355c/.gitattributes risk surface
• Unrecognized file type — '.?' is not on the allowlist · bentoml-OpenLLM-ec2355c/.github/CODEOWNERS risk surface
• Unrecognized file type — '.gitignore' is not on the allowlist · bentoml-OpenLLM-ec2355c/.gitignore risk surface
• Unrecognized file type — '.python-version-default' is not on the allowlist · bentoml-OpenLLM-ec2355c/.python-version-default risk surface
• Unrecognized file type — '.cff' is not on the allowlist · bentoml-OpenLLM-ec2355c/CITATION.cff risk surface
• Unrecognized file type — '.tpl' is not on the allowlist · bentoml-OpenLLM-ec2355c/README.md.tpl risk surface
✔ verified source · pinned bentoml-OpenLLM-ec2355c
Check against a policy
The same gate an agent runs before installing (POST /api/v1/trust/openllm-model-serving-platform/check). Click a policy:
No shell/exec No unknown egress Grade B or better No secrets access No install hooks Strict (B+ · no shell · no egress)