Claude Code, Plugin
Ai First Toolkit
Open-source Claude Code skills and Codex skills for AI-first work.
Compatibility: Portable across standard formats.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 2ee78415674e, unchanged since the check below.
SECRETS_PATH_CREDENTIAL
Why this grade
- SECRETS_PATH_CREDENTIAL Medium
Mentions a credential store path (~/.ssh, id_rsa, .npmrc, .aws/credentials, credentials.json, .netrc).
plugins/ai-firstify/skills/ai-firstify/references/project-structure.md, line 140
credentials.json
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
plugins/content-studio/content-studio/lib/content.ts, line 353
await fs.unlink(currentFilePath);
plugins/content-studio/content-studio/lib/content.ts, line 409
await fs.unlink(content.path);
plugins/content-studio/content-studio/lib/content.ts, line 414
await fs.unlink(suggestionsPath);
Show more
plugins/content-studio/content-studio/lib/content.ts, line 422
await fs.rm(imagesPath, { recursive: true });
plugins/content-studio/content-studio/lib/content.ts, line 463
await fs.unlink(suggestionsPath);
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address. can reach registry.modelcontextprotocol.io. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
plugins/content-studio/content-studio/app/editor/[type]/[slug]/page.tsx, line 102
const res = await fetch(`/api/content/${type}/${slug}`);
plugins/content-studio/content-studio/app/editor/[type]/[slug]/page.tsx, line 181
const res = await fetch(`/api/content/${type}/${slug}`);
plugins/content-studio/content-studio/app/editor/[type]/[slug]/page.tsx, line 207
const res = await fetch(`/api/content/${type}/${slug}`, {
Show more
plugins/content-studio/content-studio/app/editor/[type]/[slug]/page.tsx, line 259
const res = await fetch('/api/upload', {
plugins/content-studio/content-studio/app/editor/[type]/[slug]/page.tsx, line 308
const res = await fetch(`/api/content/${type}/${slug}/export`);
plugins/content-studio/content-studio/app/new/page.tsx, line 43
const res = await fetch('/api/content', {
plugins/content-studio/content-studio/components/Dashboard/ContentCard.tsx, line 63
const response = await fetch(`/api/content/${metadata.type}/${metadata.slug}/duplicate`, {
plugins/content-studio/content-studio/components/Dashboard/ContentCard.tsx, line 96
const response = await fetch(`/api/content/${metadata.type}/${metadata.slug}/delete`, {
plugins/content-studio/hooks/ensure-content-studio.sh, line 14
response=$(curl -s --max-time 1 "http://localhost:$port" 2>/dev/null)
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV
plugins/ai-firstify/skills/ai-firstify/references/assessment-rubric.md, line 64
grep -r "OPENAI_API_KEY\|ANTHROPIC_API_KEY\|api_key" --include="*.py" --include="*.js" --include="*.env" -l
plugins/ai-firstify/skills/ai-firstify/references/assessment-rubric.md, line 190
# Check for .env files in git
plugins/ai-firstify/skills/ai-firstify/references/project-structure.md, line 140
credentials.json
Show more
plugins/ai-firstify/skills/ai-firstify/references/assessment-rubric.md, line 191
git ls-files | grep -i "\.env"
plugins/ai-firstify/skills/ai-firstify/references/assessment-rubric.md, line 193
grep -c "\.env\|credentials\|\.pem\|api_key" .gitignore 2>/dev/null
plugins/ai-firstify/skills/ai-firstify/references/project-structure.md, line 133
.env
plugins/ai-firstify/skills/ai-firstify/references/project-structure.md, line 134
.env.local
plugins/ai-firstify/skills/ai-firstify/references/project-structure.md, line 135
.env.*.local
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 2ee78415674e. can delete files. can reach a host that is not written as a fixed address. can reach registry.modelcontextprotocol.io. The description does not name that host. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 2ee78415674eaaead2082a55691b68ffb1003e87
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.