MCP server · trust report

io.github.anthony-chaudhary/dos-kernel

2 checks that ran failed — supply chain and permission scope — so this release can’t be trusted as-is.

Publisher
io.github.anthony-chaudhary
Repository
github.com/anthony-chaudhary/dos-kernel
Install
pypi:dos-kernel, pypi:dos-kernel, pypi:dos-kernel, pypi:dos-kernel, pypi:dos-kernel, pypi:dos-kernel
Versions
6
Inspected
4 of 6 checks · 65%
Scored
2026-07-21 · rubric 1.0.0

What we checked

Six static checks, weighted by risk. Every result reflects only what could be observed in the published package and repository — never intent.

6 checks0 clean4 flagged2 not inspected
  • Injection surface

    unscannable25% of grade

    Tool descriptions/manifest scanned for instruction-injection patterns (imperatives at the model, hidden text, 'ignore previous', data-exfil URLs).

    No tool descriptions, server instructions, prompts, or resources were fetched; nothing to scan for injection.

  • Supply chain

    fail25% of grade

    Package provenance: namespace verification, repo linkage, maintainer count, account age, postinstall scripts, typosquat distance.

    Python build script executes at build time: subprocess in build script, network call in build script

  • Credential hygiene

    warn15% of grade

    How the server takes secrets (env vs plaintext config vs hardcoded); secrets appearing in tool schemas.

    src/dos/reasons.py: assigns a literal to token (LANE…ED (len 12)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (LANE…ES (len 33)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (LANE…OP (len 37)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (LANE…ED (len 29)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (LANE…MP (len 40)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (LANE…MP (len 31)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (LANE…ON (len 33)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (SCHE…LE (len 17)) — non-provider secret literal; prefer environment intake. src/dos/reasons.py: assigns a literal to token (UNKN…NE (len 12)) — non-provider secret literal; prefer environment intake. tests/test_decisions.py: assigns a literal to token (LANE…ES (len 33)) — non-provider secret literal; prefer environment intake. tests/test_decisions.py: assigns a literal to token (LANE…ED (len 29)) — non-provider secret literal; prefer environment intake. tests/test_decisions.py: assigns a literal to token (MIS_…NG (len 18)) — non-provider secret literal; prefer environment intake. tests/test_refusal_and_tokens.py: assigns a literal to token (LANE…ET (len 22)) — non-provider secret literal; prefer environment intake. tests/test_refusal_and_tokens.py: assigns a literal to token (LANE…OW (len 18)) — non-provider secret literal; prefer environment intake. tests/test_refusal_and_tokens.py: assigns a literal to token (LANE…ED (len 12)) — non-provider secret literal; prefer environment intake. Reads secrets from the environment (e.g. src/dos/archive_lock.py) — the recommended intake shape.

  • Permission scope

    fail15% of grade

    Declared tools vs. breadth (filesystem, network, exec); flags shell-exec and unbounded filesystem access.

    HIGH: tests/test_init_hooks_crossvendor.py: references a sensitive credential path (/mcp.json) — the tool-poisoning exfiltration target. HIGH: shell/exec capability AND network egress together — download-and-execute risk (src/dos/cli.py: subprocess.* call; src/dos/drivers/citation_resolve.py: outbound HTTP/socket call). HIGH: shell/exec capability AND destructive filesystem writes together (src/dos/cli.py: subprocess.* call; src/dos/_demo_story.py: path traversal ('../') combined with file access). discloses shell/exec capability: src/dos/cli.py: subprocess.* call discloses shell/exec capability: src/dos/cli.py: os.system/os.popen/os.exec* call discloses shell/exec capability: src/dos/commit_audit.py: subprocess.* call discloses shell/exec capability: src/dos/decisions_tui.py: subprocess.* call discloses shell/exec capability: src/dos/drivers/ci_status.py: subprocess.* call discloses shell/exec capability: src/dos/drivers/llm_judge.py: subprocess.* call with shell=True (command-injection prone) discloses shell/exec capability: src/dos/drivers/memory_recall.py: subprocess.* call discloses shell/exec capability: src/dos/drivers/os_acceptance.py: subprocess.* call discloses shell/exec capability: src/dos/drivers/similarity_judge.py: subprocess.* call with shell=True (command-injection prone) discloses shell/exec capability: src/dos/env_print.py: subprocess.* call discloses shell/exec capability: src/dos/git_delta.py: subprocess.* call discloses shell/exec capability: src/dos/health.py: subprocess.* call discloses shell/exec capability: src/dos/hook_binary.py: subprocess.* call discloses shell/exec capability: src/dos/oracle.py: subprocess.* call discloses shell/exec capability: src/dos/phase_shipped.py: subprocess.* call discloses shell/exec capability: src/dos/preflight.py: subprocess.* call discloses shell/exec capability: src/dos/resume_evidence.py: subprocess.* call discloses shell/exec capability: src/dos/timeline.py: subprocess.* call discloses shell/exec capability: src/dos/verdict_cli.py: subprocess.* call discloses shell/exec capability: tests/test_agent_surface.py: subprocess.* call discloses shell/exec capability: tests/test_answer_shape.py: subprocess.* call discloses shell/exec capability: tests/test_breaker.py: subprocess.* call discloses shell/exec capability: tests/test_build_wheels_binary_format.py: subprocess.* call discloses shell/exec capability: tests/test_canonical_example_lockstep.py: subprocess.* call discloses shell/exec capability: tests/test_central_index.py: subprocess.* call discloses shell/exec capability: tests/test_cli_ergonomics.py: subprocess.* call discloses shell/exec capability: tests/test_cli_loop.py: subprocess.* call discloses shell/exec capability: tests/test_cli_pickable_enumerate.py: subprocess.* call discloses shell/exec capability: tests/test_cmd_status.py: subprocess.* call discloses shell/exec capability: tests/test_commit_audit.py: subprocess.* call discloses shell/exec capability: tests/test_config_lint.py: subprocess.* call discloses shell/exec capability: tests/test_coverage.py: subprocess.* call discloses shell/exec capability: tests/test_dispatch_top.py: subprocess.* call discloses shell/exec capability: tests/test_doctor_json.py: subprocess.* call discloses shell/exec capability: tests/test_drivers_workshop.py: subprocess.* call discloses shell/exec capability: tests/test_efficiency.py: subprocess.* call discloses shell/exec capability: tests/test_ensure_home.py: subprocess.* call discloses shell/exec capability: tests/test_exec_capability.py: subprocess.* call discloses shell/exec capability: tests/test_filepath_backstop_batch.py: subprocess.* call discloses shell/exec capability: tests/test_gate_cli.py: subprocess.* call discloses shell/exec capability: tests/test_git_hygiene.py: subprocess.* call discloses shell/exec capability: tests/test_gitignore_hygiene.py: subprocess.* call discloses shell/exec capability: tests/test_go_hook_parity.py: subprocess.* call discloses shell/exec capability: tests/test_hook_binaries_bundled.py: subprocess.* call discloses shell/exec capability: tests/test_hook_binary_locator.py: subprocess.* call discloses shell/exec capability: tests/test_hook_exit.py: subprocess.* call discloses shell/exec capability: tests/test_hook_stop.py: subprocess.* call discloses shell/exec capability: tests/test_init_hooks.py: subprocess.* call discloses shell/exec capability: tests/test_init_hooks_crossvendor.py: subprocess.* call discloses shell/exec capability: tests/test_init_skills.py: subprocess.* call discloses shell/exec capability: tests/test_install_levels.py: subprocess.* call discloses shell/exec capability: tests/test_interpret_parity.py: subprocess.* call discloses shell/exec capability: tests/test_lane_journal.py: subprocess.* call discloses shell/exec capability: tests/test_leak_scan.py: subprocess.* call discloses shell/exec capability: tests/test_liveness.py: subprocess.* call discloses shell/exec capability: tests/test_mcp_server.py: subprocess.* call discloses shell/exec capability: tests/test_memory_recall.py: subprocess.* call discloses shell/exec capability: tests/test_oracle_grep_in_process.py: subprocess.* call discloses shell/exec capability: tests/test_pick_priority.py: subprocess.* call discloses shell/exec capability: tests/test_plan_board.py: subprocess.* call discloses shell/exec capability: tests/test_plugin_manifest.py: subprocess.* call discloses shell/exec capability: tests/test_productivity.py: subprocess.* call discloses shell/exec capability: tests/test_release_bump.py: subprocess.* call discloses shell/exec capability: tests/test_render.py: subprocess.* call discloses shell/exec capability: tests/test_resume_cli.py: subprocess.* call discloses shell/exec capability: tests/test_resume_evidence.py: subprocess.* call discloses shell/exec capability: tests/test_retention.py: subprocess.* call discloses shell/exec capability: tests/test_scope_gate_cli.py: subprocess.* call discloses shell/exec capability: tests/test_skill_pack_dispatch.py: subprocess.* call discloses shell/exec capability: tests/test_skill_pack_generic.py: subprocess.* call discloses shell/exec capability: tests/test_skill_pack_operator_tier.py: subprocess.* call discloses shell/exec capability: tests/test_skill_pack_replan.py: subprocess.* call discloses shell/exec capability: tests/test_stamp_convention.py: subprocess.* call discloses shell/exec capability: tests/test_stamp_doctor.py: subprocess.* call discloses shell/exec capability: tests/test_stamp_filepath_rung.py: subprocess.* call discloses shell/exec capability: tests/test_stamp_trailer.py: subprocess.* call discloses shell/exec capability: tests/test_state_health_doctor.py: subprocess.* call discloses shell/exec capability: tests/test_subprocess_stdin_hygiene.py: subprocess.* call discloses shell/exec capability: tests/test_testwitness.py: subprocess.* call discloses shell/exec capability: tests/test_verdict_cli.py: subprocess.* call discloses dynamic code execution: src/dos/cli.py: uses eval/exec/__import__ discloses dynamic code execution: src/dos/guard.py: uses eval/exec/__import__ discloses dynamic code execution: src/dos/intervention_eval.py: uses eval/exec/__import__ discloses dynamic code execution: tests/test_cli_ergonomics.py: uses eval/exec/__import__ discloses dynamic code execution: tests/test_coverage.py: uses eval/exec/__import__ discloses dynamic code execution: tests/test_hook_stop.py: uses eval/exec/__import__ discloses dynamic code execution: tests/test_precursor_gate_eval.py: uses eval/exec/__import__ discloses dynamic code execution: tests/test_tool_stream.py: uses eval/exec/__import__ discloses broad/destructive filesystem access: src/dos/_demo_story.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: src/dos/_filelock.py: destructive filesystem call (shutil.rmtree/os.remove/etc.) discloses broad/destructive filesystem access: src/dos/cli.py: destructive filesystem call (shutil.rmtree/os.remove/etc.) discloses broad/destructive filesystem access: src/dos/cli.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: src/dos/drivers/ci_status.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: src/dos/home.py: destructive filesystem call (shutil.rmtree/os.remove/etc.) discloses broad/destructive filesystem access: src/dos/retention.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: src/dos/stamp.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: tests/test_answer_shape.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: tests/test_build_wheels_binary_format.py: destructive filesystem call (shutil.rmtree/os.remove/etc.) discloses broad/destructive filesystem access: tests/test_hook_binary_locator.py: open(…, 'w'/'a'/'x') write-mode file access discloses broad/destructive filesystem access: tests/test_hook_stop.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: tests/test_marker_sensor.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: tests/test_plugin_manifest.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: tests/test_posttool_sensor.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: tests/test_reindex.py: destructive filesystem call (shutil.rmtree/os.remove/etc.) discloses broad/destructive filesystem access: tests/test_stamp_filepath_rung.py: path traversal ('../') combined with file access discloses broad/destructive filesystem access: tests/test_toolathlon_replay.py: destructive filesystem call (shutil.rmtree/os.remove/etc.) Capability DISCLOSURE, not a verdict: static analysis sees the primitive is present and reachable, not whether its use is attacker-controlled.

  • Version behavior

    unscannable10% of grade

    Diff of tool definitions between versions; new permissions or changed descriptions in a patch release (the postmark-mcp class).

    no prior version to diff (first sight of io.github.anthony-chaudhary/[email protected]); version-drift / rug-pull cannot be evaluated. Cold-start risk is covered by point-in-time checks (injection_surface, supply_chain, credential_hygiene), not here.

  • Transport config

    warn10% of grade

    Remote servers: TLS and auth mode (none/token/OAuth). Local servers: whether the manifest indicates it phones home.

    sends telemetry to third-party SDK (Datadog) — disclosure, verify opt-in; manifest/source references telemetry behavior — disclosure

Version history

Each release plotted by grade against the safe line at B. A version that sinks below the line has lost its trusted standing — the shape of a rug-pull.

VersionPublishedGradeScoreInspectedChange
v0.30.0 · current2026-07-17 D47.54/6 · 65%