
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
🔍 A powerful CLI tool for analyzing API usage and field usage in TypeScript/JavaScript codebases.
APIScan helps you understand which APIs are being used in your codebase and whether specific fields from API responses are actually being utilized. Perfect for API cleanup, refactoring, and understanding code dependencies.
/api/v1/orders/{id}npm install -g apiscan
npx apiscan
apiscan
This will start an interactive session where you'll be prompted to enter:
# Basic API usage check
apiscan "/api/v1/orders"
# API with field analysis
apiscan "/api/v1/orders/{id}" "lastExecutedAt,orderNo"
# Specify project path
apiscan "/api/v1/orders" "fieldName" --project /path/to/your/project
# Enable verbose output
apiscan "/api/v1/orders" "fieldName" --verbose
apiscan "/api/v1/trading/orders/histories/{type}"
apiscan "/api/v1/orders/{id}" "lastExecutedAt,status,amount"
🔍 Analyzing API usage...
┌─────────────────┬──────────────────────────────┐
│ API Pattern │ /api/v1/orders/{id} │
│ Project │ /Users/currybob/src/my-project │
│ Analyzed Files │ 127 files │
└─────────────────┴──────────────────────────────┘
📊 API Usage Analysis Result
✅ API Usage: Found in 5 locations
📍 Usage Locations:
• services/OrderService.ts:25
const response = await fetch('/api/v1/orders/123')
📊 Field Analysis Result: lastExecutedAt
✅ Type Definitions: Found in 3 locations
1. interface Order in types/Order.ts:10
lastExecutedAt: string | null;
2. interface OrderItem in types/OrderItem.ts:18
lastExecutedAt?: string;
3. type OrderHistory in types/History.ts:23
lastExecutedAt: string;
✅ Field Usage: Used in 8 locations
Field Access:
• OrderService.ts:35 - order.lastExecutedAt
• orderHelpers.ts:42 - { lastExecutedAt } = order
UI Rendering:
• OrderList.tsx:156 - <span>{order.lastExecutedAt}</span>
✅ UI Rendering: Rendered in 3 locations
Analysis completed! 🎉 (1.2s)
.ts, .tsx).js, .jsx)APIScan supports flexible API pattern matching:
/api/v1/orders/api/v1/orders/{id}/api/v1/users/{userId}/orders/{orderId}# Clone the repository
git clone https://github.com/currycurrybob/apiscan.git
cd apiscan
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Run tests
pnpm test
# Development mode
pnpm run dev
Contributions are welcome! Please feel free to submit a Pull Request.
MIT © currybob
FAQs
CLI tool for analyzing API usage and field usage in TypeScript codebases
We found that apiscan 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.