Claude Code, Skill
Generative Ai Explained
An animated, client-side slide deck that teaches how large language models and AI agents work — from raw text to sampled token, and from a single forward pass to a full agent loop.
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.
SECRETS_PATH_CREDENTIAL
Why this grade
- SECRETS_PATH_CREDENTIAL Medium
Mentions a credential store path (~/.ssh, id_rsa, .npmrc, .aws/credentials, credentials.json, .netrc).
bridge/bridge.mjs, line 41
// "read any file the user can read" (~/.ssh/id_rsa, .env, …). Every read target is resolved and
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
Note
requests shell access. The manifest names this permission.
PERMISSION_SHELL_DECLARED
start.py, line 97
if python and subprocess.run([python, "-c", IMPORTS],
start.py, line 105
return subprocess.run([python, "-m", "pip", "install", "-q", "-r", REQUIREMENTS],
start.py, line 126
if subprocess.run([sys.executable, "-m", "venv", VENV]).returncode == 0:
Show more
start.py, line 171
running.append(subprocess.Popen(argv, cwd=cwd))
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
agentic-ai-explained/src/bridge.js, line 41
const res = await fetch(`${BASE_URL}/health`, { signal: AbortSignal.any([panelSignal(), ctrl.signal]) });
agentic-ai-explained/src/ollama.js, line 86
const res = await fetch(`${BASE_URL}${path}`, {
agentic-ai-explained/src/data/gpt2-bpe.js, line 127
fetch(VOCAB_URL).then((r) => { if (!r.ok) throw new Error("vocab.json"); return r.json(); }),
Show more
agentic-ai-explained/src/data/gpt2-bpe.js, line 128
fetch(MERGES_URL).then((r) => { if (!r.ok) throw new Error("merges.txt"); return r.text(); }),
agentic-ai-explained/src/data/gpt2-bpe.test.mjs, line 9
// The browser loads the vendored data via fetch(); Node reads the same files off disk.
agentic-ai-explained/src/practice/agent-bridge.js, line 56
await fetch(`${bridge.BASE_URL}/permission`, {
agentic-ai-explained/src/practice/agent-bridge.js, line 121
res = await fetch(`${bridge.BASE_URL}/agent`, {
agentic-ai-explained/src/stations/agent-context.js, line 37
const res = await fetch(CLAUDE_MD_URL);
agentic-ai-explained/src/data/claude-md-snapshot.txt, line 58
- **Live local-model calls** (e.g. Ollama at `http://localhost:11434`) are a `fetch()`. From a `file://` page (null origin) this is fragile: the origin isn't in Ollama's default `O
agentic-ai-explained/src/data/claude-md-snapshot.txt, line 80
- **No `OLLAMA_ORIGINS` setup is required.** Verified against Ollama v0.31.x: for a `http://localhost:<port>` page origin the server already returns `Access-Control-Allow-Origin`,
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV
bridge/bridge.mjs, line 41
// "read any file the user can read" (~/.ssh/id_rsa, .env, …). Every read target is resolved and
bridge/bridge.mjs, line 146
assert(!insideWorkdir("../../.ssh/id_rsa"), ".. escape denied");
bridge/bridge.mjs, line 151
assert(readEscapesWorkdir({ pattern: "../**/*.env" }), ".. glob denied");
Show more
.gitignore, line 24
# Env
.gitignore, line 25
.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.md).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 1deee29ebff5. requests shell access. The manifest names this permission. can reach a host that is not written as a fixed address. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 1deee29ebff5606cfa77b08523fe252adbdde99c
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.