
Research
Shai-Hulud Descends to Hades: Miasma Worm Campaign Spreads with New PyPI Wave
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.
一个简单的自定义DSL语言,文件后缀为.zcw - TypeScript版本。
# 安装依赖
pnpm install
# 构建所有模块
pnpm build
# 运行.zcw文件
pnpm start example.zcw
# 或者
node dist/index.js example.zcw
# 调试模式(显示词法分析和语法分析过程)
DEBUG=1 pnpm start example.zcw
# 运行测试
pnpm test
# 或者
node dist/test.js
# 开发模式(构建并运行)
pnpm dev example.zcw
# 清理所有构建文件
pnpm clean
// 这是注释
// 打开网页
core.visit("https://www.example.com");
// 可以连续调用多个方法
core.visit("https://www.baidu.com");
core.visit("https://github.com");
打开指定的网页URL。
参数:
url (string): 要打开的网页URL返回值:
boolean: 成功返回true,失败返回false示例:
core.visit("https://www.example.com");
"hello world"123 或 3.14core、visitobject.method(argument);// 这是注释;ZCW语言支持以下标记类型:
CORE: 核心库标识符IDENTIFIER: 标识符STRING: 字符串字面量NUMBER: 数字字面量DOT: 点号LPAREN: 左括号RPAREN: 右括号SEMICOLON: 分号zcw-lang/
├── packages/ # 模块包
│ ├── core/ # 核心库模块
│ │ ├── src/
│ │ │ ├── types.ts # 核心库类型定义
│ │ │ ├── core.ts # 核心库实现
│ │ │ └── index.ts # 核心库入口
│ │ ├── dist/ # 编译后的文件
│ │ ├── package.json # 核心库配置
│ │ └── tsconfig.json # 核心库TypeScript配置
│ └── runtime/ # 运行时模块
│ ├── src/
│ │ ├── types.ts # 运行时类型定义
│ │ ├── lexer.ts # 词法分析器
│ │ ├── parser.ts # 语法分析器
│ │ ├── interpreter.ts # 解释器
│ │ └── index.ts # 运行时入口
│ ├── dist/ # 编译后的文件
│ ├── package.json # 运行时配置
│ └── tsconfig.json # 运行时TypeScript配置
├── src/ # 主项目源代码
│ ├── index.ts # 主入口文件
│ └── test.ts # 测试文件
├── dist/ # 主项目编译后的文件
├── example.zcw # 示例文件
├── package.json # 主项目配置
├── tsconfig.json # 主项目TypeScript配置
├── pnpm-workspace.yaml # pnpm工作空间配置
└── README.md # 说明文档
# 安装依赖
pnpm install
# 构建所有模块
pnpm build
# 运行示例
pnpm start example.zcw
# 运行测试
pnpm test
# 开发模式(构建并运行)
pnpm dev example.zcw
# 调试模式
DEBUG=1 pnpm start example.zcw
# 清理所有构建文件
pnpm clean
# 单独构建某个模块
pnpm --filter @zcw-lang/core build
pnpm --filter @zcw-lang/runtime build
要添加新的核心库方法,可以在 packages/core/src/core.ts 文件中:
Core 类中添加新方法methods 对象中注册新方法// 在 Core 类中添加新方法
async newMethod(param: string): Promise<boolean> {
// 方法实现
return true;
}
// 在构造函数中注册方法
constructor(config: CoreConfig = {}) {
this.methods = {
visit: this.visit.bind(this),
newMethod: this.newMethod.bind(this) // 添加新方法
};
}
项目采用模块化架构,每个模块都可以独立开发和测试:
要添加新的运行时功能,可以在 packages/runtime/src/ 目录中添加新文件,并在 index.ts 中导出。
ZCW语言提供详细的错误信息:
使用 DEBUG=1 环境变量可以启用调试模式,显示:
FAQs
自定义DSL语言,后缀为zcw - TypeScript版本
The npm package zcw-lang receives a total of 2 weekly downloads. As such, zcw-lang popularity was classified as not popular.
We found that zcw-lang 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
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.