
Research
Namastex.ai npm Packages Hit with TeamPCP-Style CanisterWorm Malware
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.
blast-shield
Advanced tools
# Generate a detailed technical debt report
blast-shield --generate-report
When using --generate-report, Blast Shield will:
This is useful for projects that want to maintain consistent code quality standards and track technical debt over time.
Technical debt protection for your entire codebase. Track, measure, and manage your code's health across any language.
Blast Shield is a command-line tool that helps you protect your codebase from accumulating technical debt, regardless of programming language. It scans your code for special comments (TODO, FIXME, HACK, etc.) that indicate potential technical debt and generates reports to help you track and manage this debt over time.
# Install globally
npm install -g blast-shield
# Or use with npx
npx blast-shield
# Initialize with a configuration file
blast-shield init
# Analyze your codebase
blast-shield
Blast Shield scans your files for comments indicating technical debt:
// TODO: - Something that needs to be done// FIXME: - Something that needs fixing// HACK: - A workaround or non-ideal solution// OPTIMIZE: - Something that needs performance improvement// REFACTOR: - Code that should be restructured// BUG: - A known bug that needs addressing// NOTE: - Informational commentsEach marker has a configurable weight, and Blast Shield calculates a total debt score for your codebase.
# Analyze current project with default settings
blast-shield
# Use a specific config file
blast-shield --config ./my-debt-config.json
# Analyze only specific files
blast-shield --src "libs/**/*.ts"
# Include report metrics in the analysis
blast-shield --generate-report
When using --generate-report, Blast Shield will:
minReportScoreWhen using --generate-report, Blast Shield generates a comprehensive debt analysis:
$ blast-shield --generate-report
Loading config from blast-shield.config.json
[blast-shield] › ℹ info 🎯 Technical Debt Detector - Starting our code checkup...
[blast-shield] › ℹ info 🎯 Scanning 51 files for technical debt...
[blast-shield] › ℹ info Source files have changed, regenerating debt report...
[blast-shield] › ℹ info 🎯 Analyzing technical debt...
[blast-shield] › ℹ info Generated debt report: 98% debt-free code
[blast-shield] › ℹ info 📈 Debt summary saved to .blast-shield/debt-summary.json
╭─────────────── ✨ CODE CHECKUP REPORT ✨ ────────────────╮
│ │
│ 🎯 Important Quests │
│ ✅ Bugs to Fix (Bugs): 0 │
│ ✅ Quick Fixes (FIXME): 0 │
│ │
│ ✨ Code Powers │
│ ✅ Speed Boosts (OPTIMIZE): 0 │
│ ✅ Clean Up (REFACTOR): 0 │
│ │
│ 📋 Future Plans │
│ ✅ Future Tasks (TODO): 0 │
│ ✅ Special Tasks (HACK): 0 │
│ 📌 Notes (NOTE): 1 (reminders for later) │
│ │
│ 🦸♂️ CODE HEALTH SCORE │
│ ██████████████████████████████ 100% (Super Amazing!) │
│ 🎯 GOAL:: 80% (to get a power-up!) │
│ 📈 CLEAN FILES:: 98% (Great!) │
│ │
╰──────────────────────────────────────────────────────────╯
[blast-shield] › ℹ info 🎯 CONCLUSION: Wow! Your code is super-powered and ready to go!
blast-shield initCreates a new configuration file with your preferred settings. You will be prompted to enter the source file glob pattern (src) for your project. There is no default value for src, as it can vary depending on your project structure (e.g., monorepo or single repo).
blast-shield init [options]
Options:
-o, --output <path> - Specify the output path for the config file (default: "blast-shield.config.json")During initialization, you will be prompted for:
src/**/*.{js,ts} or packages/*/src/**/*.{js,ts})If you leave the src pattern blank, you will need to manually update your config file later.
blast-shield (default)Analyzes your codebase for technical debt indicators.
blast-shield [options]
Options:
-c, --config <path> - Path to config file (default: "blast-shield.config.json")-s, --src <pattern> - Source file glob pattern (e.g., "src/**/*.ts")-g, --generate-report - Generate a detailed report of technical debt metrics-h, --save-history - Save debt history over time-p, --profile <name> - Use a specific debt profile (defensive, balanced, aggressive, extreme)Create a blast-shield.config.json file in your project root. The src field is required and should match your project structure:
{
"src": "src/**/*.{ts,tsx}",
"profile": "balanced",
"generateReport": true,
"threshold": 20,
"minReportScore": 80,
"weights": {
"todo": 1,
"fixme": 2,
"hack": 2,
"optimize": 1,
"refactor": 1,
"bug": 3,
"note": 0,
"debtPenaltyPerPoint": 0.5
}
}
For monorepos, you might use a pattern like
"packages/*/src/**/*.{js,ts}"for thesrcfield.
Blast Shield identifies the following debt indicators in code comments:
| Type | Description | Default Weight |
|---|---|---|
| TODO | Task to be completed later | 1 |
| FIXME | Code that needs fixing | 2 |
| HACK | Workaround that should be improved | 2 |
| OPTIMIZE | Code that needs performance improvements | 1 |
| REFACTOR | Code that needs restructuring | 1 |
| BUG | Known bugs that need fixing | 3 |
| NOTE | Just an informational note (not counted in debt score) | 0 |
Blast Shield supports different debt profiles to match your project's needs and quality standards:
| Profile | Description | Best For |
|---|---|---|
| defensive | Lenient settings for new projects | New projects, early development, prototypes |
| balanced | Standard settings for most projects | General purpose, well-established projects |
| aggressive | Stricter settings for mature codebases | Mature projects with good quality standards |
| extreme | Very strict settings for mission-critical | Critical systems, high-reliability code |
| custom | Custom profile with user-defined weights | Projects with specific debt tracking needs |
# Analyze your current project
blast-shield --src "src/**/*.ts"
# Use the defensive profile (more lenient)
blast-shield --profile defensive
# Use the aggressive profile (stricter)
blast-shield --profile aggressive
# Use the extreme profile (strictest)
blast-shield --profile extreme
# Generate a detailed technical debt report
blast-shield --generate-report
{
"profile": "aggressive",
"src": "src/**/*.ts",
"generateReport": true
}
{
"weights": {
"todo": 1.5,
"fixme": 3,
"hack": 4,
"optimize": 1,
"refactor": 2,
"bug": 5,
"note": 0,
"debtPenaltyPerPoint": 0.7
},
"threshold": 15,
"minReportScore": 85
}
Each profile configures different weight values for debt indicators and sets appropriate thresholds:
Add Blast Shield to your CI/CD pipeline to enforce debt limits:
# GitHub Actions example
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- run: npm install -g blast-shield
- run: blast-shield --profile balanced --src "**/*.{js,ts,py,java,go,rb,php,cs,cpp}"
pnpm build # Build the CLI
pnpm test # Run tests
pnpm lint # Run Biome linter
MIT © Arnaud Zheng
FAQs
Technical debt protection tool for any codebase
We found that blast-shield demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.