dkarter/dotfiles/aube-package-due-diligence
Claude Code and agent skill by dkarter/dotfiles
- community
Checking that the SKILL.md file is still in the repository.
Investigate aube package-manager trust, provenance, advisory, or install failures before adding bypasses or package exceptions. Use when `aube install`, `aube add`, `aube audit`, or `mise install` with `npm.package_manager = "aube"` fails on trust policy, provenance, advisories, lifecycle scripts, low downloads, lockfile drift, or another supply-chain gate; also use before adding `trustPolicyExclude`, turning `trustPolicy` off, allowing package builds, or accepting npm packages installed through mise.
Install
npx vskill@latest install dkarter/dotfiles/aube-package-due-diligenceSKILL.md
Aube Package Due Diligence
Overview
Perform cautious, evidence-based due diligence before weakening an aube security gate. Prefer narrow, reversible exceptions only after verifying package identity, metadata, provenance, advisories, tarball contents, upstream source alignment, and the actual aube/mise install path.
Rules
- Do not add an exclusion or disable a policy just because it unblocks install.
- Prefer
aubecommands over npm package-manager operations. Usenpm viewornpm packonly as registry inspection tools when aube lacks an equivalent, and say so. - Keep exceptions scoped to the exact package version when possible, for example
tinyexec@1.2.2, nottinyexec. - Do not set
trustPolicy = offunless the user explicitly accepts the broader risk. - Do not approve lifecycle scripts with
--allow-builduntil the package and script behavior are reviewed. - Treat aube failures as signal. A bypass needs positive evidence, not just lack of known bad news.
- If evidence is weak, conflicting, or unavailable, stop and recommend waiting for a safer release or asking the maintainer to republish with stronger evidence.
Workflow
- Reproduce the failing path.
- Identify the package, version, transitive path, and aube policy involved.
- Inspect package metadata with aube.
- Check advisories and aube security output.
- Verify upstream source alignment.
- Inspect the published tarball contents.
- Decide whether a bypass is justified.
- Apply the smallest safe change and document why.
- Re-run install and repository checks.
Reproduce
Run the exact command that failed. For mise-managed npm packages using aube, also run the narrow tool install if possible:
Look for the underlying aube command in verbose output, for example aube add --global <package>@<version>. Identify whether the package is a direct mise tool, a root dependency, or a transitive dependency.
For mise use -g npm:<package> low-download failures, use the fast path in references/mise-global-low-downloads.md before the full workflow.
Metadata Checks
Use aube first:
Check and record:
name,version,repository,homepage,bugs,license.author,maintainers,_npmUser, and whether ownership changed unexpectedly.dist.integrity,dist.shasum,dist.signatures, anddist.attestations.provenance.gitHeadand whether it exists in the upstream repository.scripts, especiallypreinstall,install,postinstall,prepare,prepack, andpostpack.dependenciesandoptionalDependencies; runtime dependency additions increase risk.- Publish times for suspicious version jumps or rapid republish sequences when available.
For trust downgrades, compare the previous trusted version and failing version. A downgrade from trusted publisher to maintainer publish with registry signature and SLSA provenance may be acceptable only if the rest of the evidence is clean and the exception is exact-version scoped.
Advisory Checks
Create an isolated temporary project outside the repo when auditing a single package. Use aube, not npm install:
If the policy failure prevents the isolated install, use a temporary environment variable rather than editing config:
Search upstream issues and advisories for security, malware, compromise, trusted publisher, provenance, and the exact version. Lack of reports is not proof of safety; treat it as one data point.
Source And Tarball Checks
Verify the npm metadata gitHead against upstream:
Inspect the package tarball. Use aube pack for local projects; for registry package tarballs, use registry inspection tools if aube has no direct pack-from-registry command. Verify the downloaded tarball integrity matches metadata before trusting contents.
Look for:
- Unexpected files, large binaries, minified blobs, or encoded payloads.
- New install scripts or script changes that execute during install.
- New runtime dependencies or exotic dependency sources.
- Network, credential, filesystem, shell, or obfuscation behavior unrelated to package purpose.
- Differences from the previous known-good tarball that are plausible for the release notes or commits.
For small packages, read the built output. For larger packages, sample entry points and new or changed files, then focus on suspicious files and install-time code.
Decision Criteria
Accept a narrow exception only when most of these are true:
- Package identity, repository, and maintainer are expected.
- The failing version has registry signatures and preferably SLSA provenance.
gitHeadmaps to the expected upstream repository and tag or commit.- Aube audit reports no known vulnerabilities for the relevant package graph.
- Tarball contents are consistent with source and package purpose.
- No unexplained install scripts, binary payloads, obfuscated code, or dependency source changes exist.
- The exception can be scoped to an exact version.
Reject or pause when any of these are true:
- Maintainers, repository, tarball contents, or
gitHeaddo not line up. - The version adds install scripts, opaque binaries, credential access, or network behavior without clear need.
- Aube reports malicious, advisory, lifecycle, or exotic dependency findings that cannot be explained.
- Public issues suggest compromise or the maintainer is actively correcting a bad release.
- The only available fix is a broad policy disablement.
Applying Changes
Prefer config in this order:
- Pin to a safe version that satisfies the tool if one exists.
- For low-download package exceptions, add the exact package name to
allowedUnpopularPackages; avoidlowDownloadThreshold = 0. - Add exact-version package exclusions, for example
trustPolicyExclude: ["name@1.2.3"]. - Add exact package build approval only after reviewing lifecycle scripts.
- Ask the user before broader package-name exclusions or policy disablement.
Choose config scope by install path:
aube add --globalormise use -g npm:<package>: write user config withaube config set --location user, which updates~/.config/aube/config.toml.- Project-local
aube installoraube add: preferaube-workspace.yamlor project config in the repo.
When editing config, add a short comment explaining the evidence and scope. Example:
After changes, run the original command and relevant repo checks:
Use the repository's actual check commands when different.
Report Template
Summarize the result clearly:
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingagents/skills/aube-package-due-diligence/SKILL.md
Popularity
- Repository stars
- 127
- Repository forks
- 14
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/dkarter/dotfiles/aube-package-due-diligence)