The pack · 07 / 14 →
Rottweiler, the Watchdog Supply chain dog
Supply chain

Rottweiler

the supply chain dog. Lockfiles, typosquats, install scripts, pinning, SBOMs, signed releases and licences.

claude · acme-appwatching
package.json
12"dependencies": {
13 "express": "^4.19.2",
14 "reqeusts": "^1.0.3", "lodash": "4.17.21",
15 "zod": "^3.23.8"
16}
CriticalTyposquatted package

ExploitIts install script steals your env vars

FixSmallest change suggested

Rottweiler is watching
$ /watchdog-go-supply-chain
0 found · 0 fixed
What it does

On duty while you build.

The supply-chain dog. Guards what you pull in: lockfiles, package names, install scripts, pinning, SBOMs, release signing and licences.

The always-on lens watches dependencies, lockfiles, package.json, requirements, go.mod, Dockerfile base images, release pipelines.

What it checks

7 things Rottweiler looks for.

01

Known vulnerabilities

dependencies with CVEs, reachable or not; fixed versions.

02

Lockfile integrity

missing or out-of-sync lockfiles, registry URLs changed, integrity hashes absent.

03

Typosquats and confusion

look-alike names, internal package names resolvable on public registries.

04

Install-time code

`postinstall`/`setup.py` scripts, native builds, `curl | sh`.

05

Pinning

ranges, `latest`, unpinned base images and CI actions.

06

Provenance

no SBOM, unsigned releases, no build attestation.

07

Licences

copyleft or unknown licences in a proprietary product.

Commands

Send Rottweiler out.

Runs these scanners when installed, then reads the code they can't understand:

  • syft
  • grype
  • pip-audit
  • socket

Lockfiles, typosquats, install scripts, pinning, SBOM, signed releases, licences

  • /watchdog-go-web
  • /watchdog-go-infra
  • /watchdog-go-all

Also runs in these bundles.

Benchmark

Tested, not promised.

Its test target holds a Node + Python service with lockfiles, .npmrc, Dockerfile and a release workflow: 17 planted supply-chain issues, 3 decoys and an answer key.

found
Haiku 5.517/17
Sonnet 5.515/17
Opus 5.517/17
Rules of engagement

What Rottweiler will never do.

  1. 1

    Static review only. Never change live systems or send traffic to targets outside the user's written scope.

  2. 2

    Never print a secret's value — not keys, tokens or passwords, even weak defaults. Give file:line and the secret type only.

  3. 3

    End each review with: what you did not check, and the top risk the user must act on.

FAQ

Rottweiler, answered.

What does Rottweiler check for?

Rottweiler is Watchdog's supply chain dog for Claude Code. It looks for Known vulnerabilities, Lockfile integrity, Typosquats and confusion, Install-time code, Pinning, Provenance and Licences. Each finding comes with the exact file and line, how it could be abused, and the smallest fix.

How do I run Rottweiler in Claude Code?

Install Watchdog with /plugin marketplace add watchdoglab/watchdog and /plugin install watchdog@watchdog, then run /watchdog-go-supply-chain. Its lens also stays on while you code and flags risky lines as they're written.

Which tools does Rottweiler use?

When they're installed, Rottweiler runs syft, grype, pip-audit and socket, then reads the code those scanners can't understand. Anything it couldn't check is listed under Not checked in the report.

Is Rottweiler safe to run on my project?

Yes. Its first rule: Static review only. Never change live systems or send traffic to targets outside the user's written scope. Secrets it finds are reported by location and type only, never printed. Watchdog is free and open source (MIT).

Rottweiler comes with the pack.