Claude Code, Plugin
Claude Carbon
claude-carbon: track the carbon footprint of your Claude Code sessions
Compatibility: Claude Code.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit c9cacfe8817b.
PERMISSION_DELETE_FILES NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST SECRETS_PATH_UNCONFIRMED INSTALL_DOCUMENTED_INSTALLER
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
scripts/generate-report.sh, line 727
if (!(b.length >= 24 && b.readUInt32BE(16) === 2160 && b.readUInt32BE(20) === 2160)) fs.unlinkSync(out); - NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
install.ps1, line 65
# date, curl and git all come with Git for Windows. - NETWORK_UNNAMED_HOST Low
Calls a fixed host that the description does not name.
install.ps1, line 65
# date, curl and git all come with Git for Windows. - SECRETS_PATH_UNCONFIRMED Low
The Secrets check reports a credential or environment file, but no quoted line shows a recognisable path.
hooks/mod/register.tsx, line 641
await $.env.get("CLAUDE_CARBON_LOCALE"), - INSTALL_DOCUMENTED_INSTALLER Note
Documentation shows an installer that pipes a download into a shell.
README.md, line 44
curl -fsSL https://raw.githubusercontent.com/gwittebolle/claude-carbon/main/install.sh | bash
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
scripts/generate-report.sh, line 727
if (!(b.length >= 24 && b.readUInt32BE(16) === 2160 && b.readUInt32BE(20) === 2160)) fs.unlinkSync(out);
Install and update
Note
The docs document an installer that pipes a download into a shell.
INSTALL_DOCUMENTED_INSTALLER
README.md, line 44
curl -fsSL https://raw.githubusercontent.com/gwittebolle/claude-carbon/main/install.sh | bash
README.md, line 75
curl -fsSL https://raw.githubusercontent.com/gwittebolle/claude-carbon/main/install.sh | bash
README.md, line 465
curl -fsSL https://raw.githubusercontent.com/gwittebolle/claude-carbon/main/install.sh | bash
Show more
install.sh, line 5
# Usage: curl -fsSL https://raw.githubusercontent.com/gwittebolle/claude-carbon/main/install.sh | bash
skills/carbon-update/SKILL.md, line 42
echo " curl -fsSL https://raw.githubusercontent.com/gwittebolle/claude-carbon/main/install.sh | bash"
Network
Concern
can reach a host that is not written as a fixed address. can reach api.npmjs.org. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
install.ps1, line 65
# date, curl and git all come with Git for Windows.
bin/claude-carbon.js, line 95
const res = await fetch(INSTALL_URL);
scripts/generate-report.sh, line 783
const r = await fetch(sheet, { signal: AbortSignal.timeout(10000) });
Show more
scripts/portable-lib.sh, line 227
# Git for Windows ships bash, awk, sed, grep, date, curl and git, but neither
scripts/statusline.sh, line 197
RESPONSE="$(curl -s --max-time 5 \
scripts/traffic-snapshot.sh, line 42
if NPM="$(curl -fsS --max-time 30 "https://api.npmjs.org/downloads/range/last-year/$NPM_PACKAGE")" \
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_UNCONFIRMED
hooks/mod/register.tsx, line 641
await $.env.get("CLAUDE_CARBON_LOCALE"),
hooks/mod/register.tsx, line 642
await $.env.get("LC_ALL"),
hooks/mod/register.tsx, line 643
await $.env.get("LC_MESSAGES"),
Show more
hooks/mod/register.tsx, line 644
await $.env.get("LANG"),
hooks/mod/register.tsx, line 670
db: await $.env.get("CLAUDE_CARBON_DB"),
hooks/mod/register.tsx, line 671
configDir: await $.env.get("CLAUDE_CONFIG_DIR"),
hooks/mod/register.tsx, line 672
home: await $.env.get("HOME"),
hooks/mod/register.tsx, line 673
userProfile: await $.env.get("USERPROFILE"),
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 c9cacfe8817b. can delete files. can reach a host that is not written as a fixed address. can reach api.npmjs.org. The description does not name that host. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: c9cacfe8817b67b34167d5e9ca5750c7aa524a6f
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.