Claude Code, Skill
apollyon
Evidence-first source security scan workflow for human-written and AI-generated code
Compatibility: Not stated.
Grade C
One Medium finding. Read the report before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
NETWORK_HOST_FROM_INPUT
Why this grade
- NETWORK_HOST_FROM_INPUT Medium
A file takes a URL or endpoint as input and has no fixed host list.
benchmarks/fetch_benchmarks.py, line 27
with urllib.request.urlopen(request, timeout=60) as response, destination.open("xb") as output:
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Concern
can delete files.
PERMISSION_DELETE_FILES
benchmarks/run_benchmarks.py, line 28
subprocess.run(
benchmarks/run_benchmarks.py, line 35
subprocess.run(
distribution/npm/bin.test.cjs, line 25
} finally { fs.rmSync(root,{recursive:true,force:true}); }
Show more
scripts/case_worker.py, line 127
completed = subprocess.run(
scripts/case_worker.py, line 208
completed = subprocess.run(
scripts/run_case_sandbox.py, line 30
return subprocess.run(command, check=True, **kwargs)
scripts/run_case_sandbox.py, line 196
subprocess.run([docker, "rm", "--force", name], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=False)
scripts/validate_audit_corpus.py, line 24
scan = subprocess.run([str(binary),'scan',str(fixture),'--json','--only',item['rule'],'--no-auto-baseline'], capture_output=True, timeout=15, check=True)
scripts/validate_audit_corpus.py, line 33
upstream = subprocess.run([str(binary),'scan',str(ROOT/'benchmarks/upstream'),'--json','--only','APO007,APO012','--no-auto-baseline'],capture_output=True,timeout=30,check=True)
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Serious
accepts a host from input, with no fixed list in this file.
NETWORK_HOST_FROM_INPUT
benchmarks/fetch_benchmarks.py, line 27
with urllib.request.urlopen(request, timeout=60) as response, destination.open("xb") as output:
src/workflow.rs, line 137
"requests.get(url, verify=False)",
src/workflow.rs, line 138
"requests.get(url, verify=True)",
Show more
src/workflow.rs, line 161
"requests.get(request.args['url'])",
benchmarks/audit-corpus.json, line 114
"source": "requests.get(url, verify=False)\n"
benchmarks/audit-corpus.json, line 120
"source": "requests.get(url, verify=True)\n"
benchmarks/audit-corpus.json, line 192
"source": "requests.get('https://fixed.example')\n"
src/ast.rs, line 234
"requests.get",
src/ast.rs, line 235
"requests.post",
src/ast.rs, line 236
"requests.put",
src/ast.rs, line 237
"requests.patch",
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
src/lexer.rs, line 32
if name == ".env" || name.starts_with(".env.") || name == "Dockerfile" {
src/selection.rs, line 38
.env("PATH", std::env::var_os("PATH").unwrap_or_default())
src/selection.rs, line 39
.env("GIT_CONFIG_NOSYSTEM", "1")
Show more
src/selection.rs, line 40
.env("GIT_CONFIG_GLOBAL", null)
src/selection.rs, line 41
.env("GIT_OPTIONAL_LOCKS", "0")
src/selection.rs, line 42
.env("LC_ALL", "C")
.gitignore, line 3
*.py[cod]
.gitignore, line 4
.env
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 30b58cb6d007. can delete files. accepts a host from input, with no fixed list in this file. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 30b58cb6d007c3aee07550bd171d7e34069e30f8
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.