Grades are a hygiene check, not a security guarantee.

MCP, MCP server

Orca Skills

Skills and plugins to accelerate security workflows with the Orca Cloud Platform

Compatibility: Not stated.

Grade C

One Medium finding. Read the report before installing.

Graded by PlugVetRubric v2

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).

    plugins/security-engineer/HARNESS.md, line 425 change outside git's config (a `~/.ssh/config` edit, say), and anything a

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/security-engineer/skills/lib/orca_client.py, line 569

    result = subprocess.run(

    plugins/security-engineer/skills/run/agent_env.py, line 196

    out = subprocess.run(["git", "--version"], capture_output=True, text=True).stdout

    plugins/security-engineer/skills/run/agent_env.py, line 202

    r = subprocess.run(["git", "config", scope, "--list", "-z", "--includes"],

    Show more

    plugins/security-engineer/skills/run/agent_env.py, line 236

    subprocess.run(["git", "config", "--file", path, "--add", key, value],

    plugins/security-engineer/skills/run/agent_env.py, line 367

    r = subprocess.run(["git", "config", "--file", git_config_snapshot(), "--list", "-z"],

    plugins/security-engineer/skills/run/agent_env.py, line 485

    """subprocess.run for the processes that run repository code - the fix

    plugins/security-engineer/skills/run/agent_env.py, line 498

    proc = subprocess.Popen(cmd, stdin=subprocess.PIPE if input is not None else

    plugins/security-engineer/skills/run/impact_agent.py, line 163

    result = subprocess.run(

    plugins/security-engineer/skills/run/orchestrator.py, line 269

    shutil.rmtree(path, ignore_errors=True)

    plugins/security-engineer/skills/run/orchestrator.py, line 1275

    shutil.rmtree(path, ignore_errors=True)

    plugins/security-engineer/skills/run/orchestrator.py, line 2018

    shutil.rmtree(path)

    plugins/security-engineer/skills/run/orchestrator.py, line 2092

    shutil.rmtree(repo.clone_path, ignore_errors=True)

    scripts/smoke-test-codex.mjs, line 61

    fs.rmSync(temporary, { recursive: true, force: true });

    scripts/validate-packaging.test.mjs, line 13

    t.after(() => fs.rmSync(directory, { recursive: true, force: true }));

    scripts/validate-packaging.test.mjs, line 77

    fs.rmSync(path.join(directory, "skills"), { recursive: true });

    scripts/validate-packaging.test.mjs, line 83

    fs.unlinkSync(path.join(directory, "skills/orca-alert-triage/SKILL.md"));

  • 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. can reach api.orcasecurity.io. The description does not name that host.

    NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST

    plugins/security-engineer/skills/lib/orca_client.py, line 77

    with urllib.request.urlopen(req) as r:

    plugins/security-engineer/skills/lib/version_data.py, line 535

    payload = fetch()

    plugins/security-engineer/skills/lib/version_data.py, line 591

    with urllib.request.urlopen(req, timeout=self.timeout_sec) as r:

    Show more

    plugins/security-engineer/skills/run/notifier.py, line 130

    urllib.request.urlopen(req, timeout=5)

    plugins/security-engineer/skills/run/fix-agents/iac.md, line 61

    CMD curl -f http://localhost:8080/health || exit 1

    skills/orca-custom-framework/SKILL.md, line 193

    curl -X POST "https://api.orcasecurity.io/api/compliance/frameworks" \

  • Secrets

    Concern

    reads a credential or environment file.

    SECRETS_ENV_READ SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV

    plugins/security-engineer/skills/lib/orca_client.py, line 48

    token = os.environ.get("ORCA_API_TOKEN") or os.environ.get("ORCA_AUTH_TOKEN")

    plugins/security-engineer/skills/run/redact.py, line 79

    # Unquoted `KEY=value`, the .env and Dockerfile `ENV` form, where there are no

    plugins/security-engineer/HARNESS.md, line 425

    change outside git's config (a `~/.ssh/config` edit, say), and anything a

    Show more

    plugins/security-engineer/skills/run/redact.py, line 136

    # `KEY=<hex>` in a .env file, at any length - entropy cannot judge a short one.

    plugins/security-engineer/skills/run/redact.py, line 139

    # `process.env.KEY` and `getKey()` on the right are code, not values.

    plugins/security-engineer/skills/run/fix-agents/secret.md, line 44

    apiKey := os.Getenv("API_KEY")

    plugins/security-engineer/skills/run/fix-agents/secret.md, line 49

    dbPass := os.Getenv("DB_PASSWORD")

    plugins/security-engineer/HARNESS.md, line 720

    - change things outside git config, such as `~/.ssh/config`.

  • 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 98cb3af6a62e. can delete files. can reach a host that is not written as a fixed address. can reach api.orcasecurity.io. The description does not name that host. reads a credential or environment file.

Date and source

Date checked:

View source

github.com

Commit graded: 98cb3af6a62efcd67f1636633a089efda9ca46d0

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.

Read how this letter is chosen