Claude Code, Skill
Magnet---Skills
六个用于编程练习、批改、写作反馈和备课的 Agent Skills。
Compatibility: Not stated.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 635b444ca1cf, unchanged since the check below.
PERMISSION_DELETE_FILES SECRETS_PATH_DOTENV
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
coding-drill/scripts/judge.py, line 136
r = subprocess.run(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=timeout) - SECRETS_PATH_DOTENV Low
Mentions a .env file.
.gitignore, line 45
.env
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
coding-drill/scripts/judge.py, line 136
r = subprocess.run(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=timeout)
coding-drill/scripts/judge.py, line 242
r = subprocess.run(["pgrep", "-P", str(pid)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, timeout=5)
coding-drill/scripts/judge.py, line 249
r = subprocess.run(["ps", "-o", "pid=", "--ppid", str(pid)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, timeout=5)
Show more
coding-drill/scripts/judge.py, line 256
r = subprocess.run(["ps", "-axo", "pid=,ppid="], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, timeout=5)
coding-drill/scripts/judge.py, line 271
subprocess.run(["taskkill", "/F", "/T", "/PID", str(proc.pid)],
coding-drill/scripts/judge.py, line 375
proc = subprocess.Popen(argv, cwd=cwd, env=env, stdin=subprocess.PIPE,
coding-drill/scripts/judge.py, line 469
shutil.rmtree(self.dir, ignore_errors=True)
coding-drill/scripts/selftest.py, line 257
out = subprocess.run(['lsof', '-a', '-p', str(ppid), '-d', 'cwd', '-Fn'], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, timeout=8).stdout.decode()
coding-drill/scripts/selftest.py, line 351
r = subprocess.run([PY, JUDGE] + list(args), stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd, env=full_env, stdin=subprocess.DEVNULL)
coding-drill/scripts/selftest.py, line 977
shutil.rmtree(root, ignore_errors=True)
essay-sections/scripts/essayctl.py, line 386
os.remove(full)
essay-sections/scripts/selftest.py, line 872
os.remove(chains_path)
essay-sections/scripts/selftest.py, line 961
os.remove(path)
essay-sections/scripts/selftest.py, line 1148
shutil.rmtree(os.path.join(ws, "versions", "v2"))
essay-sections/scripts/selftest.py, line 1175
os.remove(os.path.join(ws, "inbox", "leftover.json"))
essay-sections/scripts/selftest.py, line 1177
os.remove(os.path.join(ws, "sections", "body-03.md"))
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Pass
No network call found.
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_DOTENV
.gitignore, line 44
.idea/
.gitignore, line 45
.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 635b444ca1cf. can delete files. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 635b444ca1cf687cc65a1461236e812ae0ae943f
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.