Cursor, Plugin
Modbus Skills
Read-only Modbus engineering skills and workflows for Codex, Claude Code, Cursor, and other Agent Plugins clients.
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 e490396ec775, unchanged since the check below.
PERMISSION_DELETE_FILES OBFUSCATION_FILE_CAP_REACHED
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
plugins/modbus-skills/runtime/modbus_skills/gavinying_launcher.py, line 85
child = subprocess.Popen(argv, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, - OBFUSCATION_FILE_CAP_REACHED Note
The 400 file cap was reached before every file was read.
tests/test_skill_usability_contracts.py, line 1
from __future__ import annotations
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
plugins/modbus-skills/runtime/modbus_skills/gavinying_launcher.py, line 85
child = subprocess.Popen(argv, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
plugins/modbus-skills/runtime/modbus_skills/gavinying_launcher.py, line 330
shutil.rmtree('.stage', dir_fd=directory_fd)
plugins/modbus-skills/runtime/modbus_skills/pdf_extraction.py, line 1340
process = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False)
Show more
plugins/modbus-skills/runtime/modbus_skills/pdf_table_extraction.py, line 163
process = subprocess.Popen(argv, stdout=stdout, stderr=stderr, shell=False)
scripts/build_plugin_variants.py, line 125
shutil.rmtree(destination)
scripts/check_public_boundary.py, line 34
listing = subprocess.run(
scripts/direct_skill_guard.py, line 59
elif event in {"subprocess.Popen", "os.posix_spawn"}:
scripts/run_compile_workflow_tests.py, line 494
shutil.rmtree(child)
scripts/run_corpus_baseline.py, line 79
"revision": subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=ROOT, text=True).strip(),
scripts/run_direct_skill_acceptance.py, line 359
process = subprocess.Popen(command, stdout=stdout, stderr=stderr, env=environment, cwd=output, start_new_session=os.name == "posix")
scripts/run_direct_skill_acceptance.py, line 419
if output.is_relative_to(ROOT) and subprocess.run(["git", "-C", str(ROOT), "check-ignore", "--quiet", "--", str(output)], check=False).returncode:
scripts/pstack/map_matrix/run_worker.py, line 204
shutil.rmtree(ocr_dir)
scripts/pstack/map_matrix/run_worker.py, line 321
shutil.rmtree(work)
scripts/skill_usability/sessions.py, line 373
shutil.rmtree(workspace)
scripts/skill_usability/sessions.py, line 456
shutil.rmtree(snap)
scripts/skill_usability/sessions.py, line 471
shutil.rmtree(session.workspace, ignore_errors=False)
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Pass
No network call found.
Secrets
Pass
No read of a credential file or secret environment variable found.
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Note
the file cap was reached before every file was read.
OBFUSCATION_FILE_CAP_REACHED
tests/test_skill_usability_contracts.py, line 1
from __future__ import annotations
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 e490396ec775. can delete files. the file cap was reached before every file was read.
Date and source
Date checked:
github.com
Commit graded: e490396ec775d6b12523b4ff25aa8244ac70135c
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.