askill
dependency-vetting

dependency-vettingSafety 95Repository

Evaluate third-party dependencies for trust and security before adoption. Use when installing MCP servers, CLI tools with credentials, packages with network access, or any dependency from an unknown author. Runs a structured 5-phase assessment: author identity, dependency tree, source audit, build pipeline, and risk scoring.

0 stars
1.2k downloads
Updated 2/22/2026

Package Files

Loading files...
SKILL.md

Dependency Vetting

Structured trust evaluation for third-party tools and dependencies before installation.

When to Use

  • Installing an MCP server that receives API keys, passwords, or tokens
  • Adding a CLI tool that runs with elevated access
  • Adopting a dependency that makes network calls on your behalf
  • Any binary or package from an unknown author
  • User asks "is this safe?", "should I trust this?", "vet this dependency"

Process

Run all five phases. Use WebSearch and Bash (gh CLI) to gather evidence — don't guess.

Phase 1: Author Identity

Goal: Establish who made this and whether they have a verifiable track record.

CheckWhat to Look ForRed Flag
Account ageYears on GitHub, not days/weeksAccount < 6 months old
Real identityName, blog, LinkedIn, companyAnonymous with no history
Repo portfolioConsistent pattern of work in the domainSingle repo, no other activity
OSS contributionsMerged PRs to established projectsZero external contributions
Community presenceFollowers, stars on other projectsCompletely isolated

Strongest trust signal: Merged PRs to well-known projects with real code review gates (CNCF, Apache, major frameworks).

How to check:

gh api users/<author> --jq '{login, name, company, bio, created_at, public_repos, followers}'
gh api users/<author>/repos --jq '.[] | {name, stargazers_count, language, updated_at}' | head -20

Phase 2: Dependency Tree

Goal: Verify the dependency count is proportional to scope and nothing suspicious is pulled in.

CheckWhat to Look ForRed Flag
Direct depsExpected libraries for stated purposeAnalytics SDKs, telemetry, unknown network libs
Dep countProportional to project scope50+ deps for a simple tool
Known packagesStandard ecosystem packagesObscure packages with few downloads
PinningLock files present, versions pinnedNo lock file, floating major versions

How to check:

  • Go: Read go.mod and go.sum
  • Node: Read package.json and package-lock.json, run npm audit
  • Python: Read pyproject.toml or requirements.txt, run pip audit or uv pip audit

Phase 3: Source Code Audit

Goal: Search the source for patterns that indicate exfiltration, credential harvesting, or hidden behavior.

Search ForWhySuspicious If Found
Outbound HTTP calls (outside stated purpose)Exfiltration, telemetryfetch(), http.Get(), requests.post() to unknown URLs
Environment variable enumerationCredential harvestingos.Environ(), process.env iteration, os.environ dumps
Credential loggingExposureAPI keys, passwords, tokens in log statements
Encoded/obfuscated stringsHidden behaviorBase64 URLs, hex-encoded hostnames
File system writes (outside stated purpose)Persistence, stagingWriting to temp dirs, home directory, cron
Process spawning or shell invocationArbitrary command runningShell commands with interpolated variables

What you want to see: Credentials read from env vars, passed to a single SDK client constructor, never logged or transmitted elsewhere.

How to check: Clone the repo and use Grep to search for the patterns above.

Phase 4: Build Pipeline

Goal: Verify the binary can be traced back to source.

CheckWhat to Look ForRed Flag
CI/CDGitHub Actions, verifiable workflow filesManual uploads, no CI
Action pinningActions pinned by SHA, not floating tagsactions/checkout@v4 (unpinned)
ChecksumsSHA256 in releasesNo integrity verification
SigningCosign, SLSA provenance (ideal but rare)Absence is common, not suspicious
DockerNon-root user, pinned base image, minimal surfaceRoot user, latest tag
ReproducibilityCan you build from source?Source and binary diverge

Strongest assurance: Build from source yourself.

Phase 5: Risk Score

Score each dimension 1-3 and compute:

DimensionLow (1)Medium (2)High (3)
Credential sensitivityRead-only, no secretsAPI key to non-critical serviceAdmin creds to infrastructure
Network accessLocal onlyOutbound to known servicesArbitrary outbound
Execution privilegeSandboxedUser-levelRoot/admin
Author trustKnown contributor, long historyEstablished, some historyNew account, no history
Code auditabilitySmall, readableMedium, compiled but open sourceLarge, obfuscated, binary-only

Risk = Sensitivity x Access x Privilege x (4 - Trust) x (4 - Auditability)

High score means slow down and verify more carefully, not reject outright.

Output Format

After running all phases, produce this summary:

## Dependency: <name>
Author: <name> (GitHub: <handle>, account age: <years>)
Purpose: <what it does for us>
Credential exposure: <what secrets it receives>
Trust signals: <strongest evidence of legitimacy>
Concerns: <anything that gave pause>
Verdict: ADOPT / ADOPT WITH MITIGATIONS / REJECT
Mitigations: <if applicable>

Mitigations for Medium Trust

  • Build from source instead of using pre-built binaries
  • Pin the version — don't auto-update
  • Create scoped credentials — read-only API key, dedicated service account, minimum privilege
  • Network isolation — run in a container with no outbound access except the target service
  • Monitor — watch for unexpected network calls after installation
  • Review diffs on updatesgit diff between versions before upgrading

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

93/100Analyzed 2/24/2026

High-quality security skill with structured 5-phase dependency vetting process. Provides specific commands, tables with checks/red flags, risk scoring formula, and clear output template. Includes when-to-use guidance, mitigations for medium-trust dependencies, and covers multiple ecosystems. Located in dedicated skills folder with relevant tags. Well-suited for reusable, actionable security assessments.

95
92
94
90
92

Metadata

Licenseunknown
Version-
Updated2/22/2026
Publishercameronsjo

Tags

apici-cdgithubgithub-actionsobservability