Claude Code, Skill
Quarkus Agentic Scaffolding
Three-skill flow for building Quarkus + LangChain4j agentic AI applications: setup-agentic-scaffolding (prerequisites: toolchain, Quarkus Agents MCP + context7, conventions file), scaffold-project (create projects and add AI services, agents, RAG, and MCP clients/servers), and au
Compatibility: Not stated.
Grade D
Two or more Medium findings, or a High. Only try it in a sandbox.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
INSTALL_REMOTE_SCRIPT AGENT_IGNORE_INSTRUCTIONS
Why this grade
- INSTALL_REMOTE_SCRIPT Medium
Fetches a script from the network and runs it (a pipe to a shell, or an install hook with a URL).
CHANGELOG.md, line 495
`curl -Ls https://sh.jbang.dev | bash` no longer appears anywhere: the JBang last resort is now - AGENT_IGNORE_INSTRUCTIONS Medium
Text tells the agent to ignore earlier instructions.
evals/effectiveness/results/2026-10-05-round-2/results.json, line 580
"final_message": "The ticket classifier is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes. I did not run the tests, start the app, or call a model, so `POST /classif
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.
If you think this grade is wrong, email [email protected] with the entry link and your evidence. We aim to acknowledge within two working days and decide within seven. If we confirm an error, we aim to correct it within 24 hours of confirming it. These are aims, not guarantees.
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
ci/check_mcp_java_floor.py, line 50
process = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
ci/test_bob_references.py, line 14
subprocess.run(command, check=True, capture_output=True)
ci/test_bob_references.py, line 21
subprocess.run(command, check=True, capture_output=True)
Show more
ci/test_eval_preflight.py, line 40
script = "import subprocess,sys; from pathlib import Path; p=subprocess.Popen([sys.executable,'-c','import time; time.sleep(60)']); Path(sys.argv[1]).write_text(str(p.pid))"
ci/test_eval_preflight.py, line 50
state = subprocess.run(['ps', '-o', 'stat=', '-p', pid], capture_output=True, text=True).stdout.strip()
ci/test_mcp_java_floor.py, line 89
popen = subprocess.Popen
ci/test_mcp_java_floor.py, line 106
with patch("check_mcp_java_floor.subprocess.Popen", side_effect=spawn), \
ci/test_mcp_java_floor.py, line 133
with patch("check_mcp_java_floor.subprocess.Popen", return_value=process), \
Install and update
Serious
install fetches a script from the network.
INSTALL_REMOTE_SCRIPT
CHANGELOG.md, line 495
`curl -Ls https://sh.jbang.dev | bash` no longer appears anywhere: the JBang last resort is now
CHANGELOG.md, line 584
- *Piped installer.* Phase A led with `curl -Ls https://sh.jbang.dev | bash` as a way to install
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
ci/build-from-templates.sh, line 20
# Maven Central. Any URL curl accepts works, file:// included (that is how the test
ci/build-from-templates.sh, line 23
# a JDK 25+, and curl (only when PLATFORM_VERSION is resolved from Maven Central).
ci/build-from-templates.sh, line 58
metadata="$(curl -fsSL "$PLATFORM_METADATA_URL")" || {
Show more
skills/scaffold-project/templates/Agent.java.template, line 275
@WebSocket(path = "/ws/triage")
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_UNCONFIRMED
evals/effectiveness/run.py, line 349
if os.environ.get('ANTHROPIC_API_KEY'):
renovate.json, line 9
"managerFilePatterns": ["/^ci/baseline\\.env$/"],
Agent instructions
Serious
instructions tell the agent to ignore earlier instructions.
AGENT_IGNORE_INSTRUCTIONS
evals/effectiveness/results/2026-10-05-round-2/results.json, line 580
"final_message": "The ticket classifier is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes. I did not run the tests, start the app, or call a model, so `POST /classif
evals/effectiveness/results/2026-10-05-round-2/results.json, line 1204
"final_message": "The project is in `./app` (`org.acme:order-tools`) and `mvn -B -ntp -DskipTests test-compile` passes. I did not run the tests or the app. I also did not run the w
evals/effectiveness/results/2026-10-05-round-2/results.json, line 1620
"final_message": "The project is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes. I haven't run any tests, so the workflow itself is untested. I also haven't run the
Show more
evals/effectiveness/results/2026-10-05-round-2/results.json, line 3076
"final_message": "The project is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes with BUILD SUCCESS. I did not run the tests or call a model, so `POST /chat` is untes
evals/effectiveness/results/2026-10-05-round-2/runs/classifier-r3-skill.json, line 60
"final_message": "The ticket classifier is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes. I did not run the tests, start the app, or call a model, so `POST /classif
evals/effectiveness/results/2026-10-05-round-2/runs/mcp-server-r3-skill.json, line 60
"final_message": "The project is in `./app` (`org.acme:order-tools`) and `mvn -B -ntp -DskipTests test-compile` passes. I did not run the tests or the app. I also did not run the w
evals/effectiveness/results/2026-10-05-round-2/runs/parallel-r2-skill.json, line 60
"final_message": "The project is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes. I haven't run any tests, so the workflow itself is untested. I also haven't run the
evals/effectiveness/results/2026-10-05-round-2/runs/tools-r3-skill.json, line 60
"final_message": "The project is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes with BUILD SUCCESS. I did not run the tests or call a model, so `POST /chat` is untes
evals/effectiveness/results/2026-10-05-round-3/results.json, line 164
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes (BUILD SUCCESS). I did not run the tests, and nothing was run against a live model.\n\
evals/effectiveness/results/2026-10-05-round-3/results.json, line 372
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes (BUILD SUCCESS). I did not run any tests, so the endpoint and the smoke test have not
evals/effectiveness/results/2026-10-05-round-3/results.json, line 580
"final_message": "The ticket classifier is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes. I did not run the tests, start the app or call a model, so `POST /classify
evals/effectiveness/results/2026-10-05-round-3/runs/classifier-r1-skill.json, line 60
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes (BUILD SUCCESS). I did not run the tests, and nothing was run against a live model.\n\
evals/effectiveness/results/2026-10-05-round-3/runs/classifier-r2-skill.json, line 60
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes (BUILD SUCCESS). I did not run any tests, so the endpoint and the smoke test have not
evals/effectiveness/results/2026-10-05-round-3/runs/classifier-r3-skill.json, line 60
"final_message": "The ticket classifier is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes. I did not run the tests, start the app or call a model, so `POST /classify
evals/effectiveness/results/2026-10-05/results.json, line 355
"final_message": "The ticket classifier is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes there. I did not run the tests or call a live model, so `POST /classify` ha
evals/effectiveness/results/2026-10-05/results.json, line 1755
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes (BUILD SUCCESS). I did not run the tests, and nothing was run against Ollama or a live
evals/effectiveness/results/2026-10-05/results.json, line 2155
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes. I didn't run the app or the test, call a model, or commit anything, so none of the ru
evals/effectiveness/results/2026-10-05/runs/classifier-r2-skill.json, line 55
"final_message": "The ticket classifier is in `./app`, and `mvn -B -ntp -DskipTests test-compile` passes there. I did not run the tests or call a live model, so `POST /classify` ha
evals/effectiveness/results/2026-10-05/runs/parallel-r3-skill.json, line 55
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes (BUILD SUCCESS). I did not run the tests, and nothing was run against Ollama or a live
evals/effectiveness/results/2026-10-05/runs/rag-r2-skill.json, line 55
"final_message": "The project is in `./app` and `mvn -B -ntp -DskipTests test-compile` passes. I didn't run the app or the test, call a model, or commit anything, so none of the ru
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 296c4314dded. requests shell access. The manifest names this permission. install fetches a script from the network. can reach a host that is not written as a fixed address. reads a credential or environment file. instructions tell the agent to ignore earlier instructions.
Date and source
Date checked:
github.com
Commit graded: 296c4314dded2628d6e45243d41eaed25d00f8c3
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.