Skills/npm/anti-slop-engineering

anti-slop-engineering@1.8.0

CAUTION· install only

Publisher claims: "An Engineering Discipline Playbook, Agent Skill & Triage Guard for AI Coding Agents" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher immamdouhaboammar · publishing for 159 daysInstalls 3,209Last detonated 1 h ago

Coverage

Install scripts ran; no agent task scenario for this bundle.
Tested
install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-14 and scored it 63/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Pipe-to-shell pattern; Credential pass-through configuration; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 1 s · 2 scenarios
t+CategoryObserved action
0.0sprocessinstall script run in the sandbox
0.5sfilesystemread ~/.agents/skills/.anti-slop-engineering.stage-eu59josf · ~/.agents/skills/.anti-slop-engineering.stage-eu59josf/.skills.json · ~/.agents/skills/.anti-slop-engineering.stage-eu59josf/LICENSE · ~/.agents/skills/.anti-slop-engineering.stage-eu59josf/README.md · ~/.agents/skills/.anti-slop-engineering.stage-eu59josf/SKILL.md · ~/.agents/skills/.anti-slop-engineering.stage-eu59josf/action.yml outside project
0.5sprocessexec /usr/bin/dirname
0.5sprocessinstall script run in the sandbox
0.6sprocessscript backend runs setup only
0.6sprocessscript backend runs setup only
0.8sprocesssecond launch, clock +45 days, CI unset
1.3sfilesystemread ~/.agents/skills/anti-slop-engineering/.anti-slop-managed.json · ~/.agents/skills/anti-slop-engineering · ~/.agents/skills/anti-slop-engineering/bin · ~/.agents/skills/anti-slop-engineering/scripts · ~/.agents/skills/anti-slop-engineering/cases · ~/.agents/skills/anti-slop-engineering/assets outside project
1.3sprocessexec /usr/bin/dirname

Static findings

MEDIUM
npx invocation of non-well-known packageSKILL.md:47 · npx invocation of non-well-known package — may execute untrusted code…erministic machine codes and remediation guidance. Audit contract records with `npx anti-slop-engineering contract audit <record.json> --json`. 23. **UI Craftsmanship, Copywriting & WCA…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/diff_guard.py:64 · Python subprocess execution detectedp = subprocess.run(['git', '-C', str(repo), *args], capture_output=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packageinstall.sh:209 · npx invocation of non-well-known package — may execute untrusted codeecho " • CLI triage: npx anti-slop-engineering --base HEAD"Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Remote installer piped to shellinstall.sh:21 · Remote installer piped to shell# Determine source directory (local clone or fresh clone via curl | bash)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
MEDIUM
Python subprocess execution detectedscripts/attention_guard.py:432 · Python subprocess execution detectedproc = subprocess.run(cmd, cwd=repo_root, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packageSKILL.md:49 · npx invocation of non-well-known package — may execute untrusted code…ing tabindex for composite controls, and ARIA live regions. Audit records with `npx anti-slop-engineering apple-craft audit <record.json> --json`. 25. **Observability & SLO Architect (G…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/comment_budget_guard.py:259 · Python subprocess execution detectedproc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/bump_version.py:273 · Python subprocess execution detectedproc = subprocess.run(command, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
CRITICAL
Pipe-to-shell patterninstall.sh:21 · Pipe-to-shell pattern — downloads and immediately executes remote code# Determine source directory (local clone or fresh clone via curl | bash)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
HIGH
Credential pass-through configurationscripts/styleseed_guard.py:762 · Credential pass-through configuration — agent relays sensitive credentialspassFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
MEDIUM
Python subprocess execution detectedscripts/audit_runner.py:530 · Python subprocess execution detectedproc = subprocess.run(cmd, capture_output=True, text=True, timeout=GUARD_TIMEOUT_SECONDS)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathsscripts/forensic_hunter.py:415 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesr"(?i)(?:process\.env\.[A-Z0-9_]+|os\.getenv\([^)]+\))\s*(?:\|\||\?\?|,)\s*['\"](?:secret|password|admin|default|changeme|123456|dev)"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/demock_guard.py:71 · Python subprocess execution detectedres = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/ast_slop_guard.py:178 · Python subprocess execution detectedres = subprocess.run(cmd, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/comment_budget_guard.py:254 · Python subprocess execution detectedproc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packagebin/cli.js:194 · npx invocation of non-well-known package — may execute untrusted codenpx anti-slop-engineering [command] [options]Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/diff_guard.py:78 · Python subprocess execution detectedexists = subprocess.run(['git', '-C', str(repo), 'cat-file', '-e', f'{base}:{path}'], capture_output=True).returncode == 0Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/build_plugin_release.py:73 · Python subprocess execution detectedproc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/ast_slop_guard.py:173 · Python subprocess execution detectedres = subprocess.run(cmd, capture_output=True, text=True, check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/bump_version.py:203 · Python subprocess execution detectedsubprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packageSKILL.md:50 · npx invocation of non-well-known package — may execute untrusted code….4x 1h/5m for paging; 6.0x 6h/30m for ticketing). Audit telemetry records with `npx anti-slop-engineering observability audit <record.json> [--source <file>] --json`. 26. **Repo Memory …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/safe_install.py:53 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/pr_boundary_guard.py:70 · Python subprocess execution detectedproc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/root_fix_guard.py:146 · Python subprocess execution detectedresult = subprocess.run(["git", "-C", str(repo), *git_args], capture_output=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
LOW
Instructs the agent to modify its persistent memory or instruction filesbin/cli.js:544 · Instructs the agent to modify its persistent memory or instruction files · informational: not an instruction file2. Update SKILL.md & AGENTS.md with concise agent directivesFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
Python subprocess execution detectedscripts/sre_guard.py:116 · Python subprocess execution detectedp = subprocess.run(['git', '-C', str(repo), *args], capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Process kill commandscripts/rollout_guard.py:299 · Process kill command — agent can terminate processes# 2. Hardcoded feature flags without kill switch or expirationFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Python subprocess execution detectedscripts/diff_guard.py:87 · Python subprocess execution detectedexists = subprocess.run(['git', '-C', str(repo), 'cat-file', '-e', f'{base}:{path}'], capture_output=True).returncode == 0Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/invariant_steward_guard.py:415 · Python subprocess execution detectedproc = subprocess.run(cmd, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
LOW
Instructs the agent to modify its persistent memory or instruction filesscripts/validate_skills.py:271 · Instructs the agent to modify its persistent memory or instruction files · informational: not an instruction fileerrors.append("AGENTS.md: missing repository instruction file")Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
Python subprocess execution detectedscripts/invariant_steward_guard.py:418 · Python subprocess execution detectedname_proc = subprocess.run(["git", "diff", "--name-only", base], capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/tagore_guard.py:675 · Python subprocess execution detectedres = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/forensic_hunter.py:693 · Python subprocess execution detectedproc = subprocess.run(cmd, capture_output=True, text=True, check=False)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05

Cost to the agent

Instructions loaded
≈10,172 tok
1 file · 80 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

No advisories in OSV for anti-slop-engineering@1.8.0 as of 59 min ago. This is the package itself, not its dependencies.

What would make this Verified

17 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  2. Unclaimed publisher≈ +8 on the totalClaim immamdouhaboammar: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  3. Touches files outside the project≈ +7 on the totalKeep reads and writes inside the working directory, or declare the exact paths in `filesystem:` and explain why in the README.
  4. Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  5. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  6. npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.
Publish a new version to npm, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim immamdouhaboammarPropose a patch to the maintainer