TanKimGwan/linmas

GitHub: TanKimGwan/linmas

Linmas 为 AI 编程 agent 提供可安装的防御性安全技能包,帮助开发者在编码过程中获得专业的安全审查与加固指导。

Stars: 1 | Forks: 1

Linmas logo

Linmas

面向 Claude Code 及兼容 AI 编程 agent 的第一道防线安全技能。

为构建者、凭直觉编程的程序员以及借助 AI 辅助发布软件的团队,提供实用、可审查且具备安全边界的指导。

License: Apache-2.0 npm version npm downloads Security: defensive only Skills: 11

Node.js Markdown Claude Code AI Coding Agents

## 什么是 Linmas? Linmas 是一个开源的防御性安全技能集合,专为 Claude Code 及兼容的 AI 编程 agent 设计。 它在 `skills//SKILL.md` 下提供了可重用的安全专家指令,使 AI 编程 agent 能够协助进行实用的安全审查、安全架构、云端加固、事件分类、检测工程、合规审查以及授权的验证工作。 Linmas 旨在实现: - **实用** — 专注于具体的检查、修复指导和可审查的输出。 - **防御性** — 仅限于授权的安全工作。 - **可重用** — 打包为可安装的技能,可跨项目共享。 - **新手友好** — 对于可能尚不清楚该要求哪些安全控制措施的构建者非常有用。 - **可审查** — 采用结构化设计,便于人工检查、验证并拒绝不安全或不正确的建议。 ## 为什么叫“Linmas”? 这个项目使用 Linmas 这个名字,是因为安全不应该只在团队成熟到足以聘请专门的安全专家之后才变得可用。许多初学构建者和凭直觉编程的程序员在完全理解身份验证风险、授权缺陷、敏感信息暴露、不安全的文件上传、云配置错误、日志记录漏洞、依赖项风险或事件响应基础之前,就已经发布了代码。 Linmas 并不打算成为应用程序安全的“警察”、“军队”或最终权威。它的目标是成为**最贴近日常构建者的第一道防线**:一个实用的护栏,帮助人们更早地发现风险,提出更好的安全问题,并在问题进入生产环境之前改进他们的代码。 ## Linmas 的受众 Linmas 适用于: - 使用 AI 编程 agent 进行开发的独立开发者和独立黑客; - 需要安全指导但不想先成为安全专家的凭直觉编程的程序员; - 希望获得可重用的防御性安全提示词和检查清单的工程团队; - 希望为开源项目提供更安全审查工作流的维护者; - 正在准备进行安全架构审查、云端加固、检测工程、事件分类或合规就绪的团队。 ## Linmas 包含的内容 当前的公开包包含: ``` skills/ Security skill definitions scripts/ Validation and package helper scripts README.md Project documentation package.json npm package metadata and commands LICENSE Apache-2.0 license text NOTICE Attribution guidance TRADEMARK.md Name and branding restrictions ``` 可安装的技能是以下位置的一等条目: ``` skills//SKILL.md ``` ## 技能目录 | 技能 | 主要用途 | 典型输出 | |---|---|---| | `secure-code-reviewer` | 安全代码审查、威胁建模、修复指导 | 漏洞发现、影响、修复、审查笔记 | | `smart-contract-reviewer` | 授权的 Web3、智能合约和协议风险审查 | 合约风险提示、可利用性评估、更安全的模式 | | `cloud-hardening-architect` | 云 IAM、隔离、加固、平台护栏 | 加固计划、IAM 审查、控制措施布局 | | `controls-compliance-reviewer` | 控制映射、证据审查、审计就绪 | 控制缺口、证据检查清单、审计笔记 | | `incident-triage-lead` | 事件分类、遏制规划、响应协调 | 分类计划、遏制步骤、证据处理 | | `exploit-validation-specialist` | 授权的利用路径验证和影响证明审查 | 有边界的验证计划、证明笔记、修复优先级 | | `secure-systems-architect` | 信任边界分析和安全系统设计 | 架构风险、控制图、更安全的设计选项 | | `security-domain-router` | 为任务选择合适的 Linmas 专家 | 推荐的技能路由和范围澄清 | | `security-operations-lead` | 监控工作流、运营加固、升级就绪 | Runbook、告警工作流、运营缺口 | | `detection-rules-engineer` | SIEM 规则、遥测映射、告警调优 | 检测逻辑、规则调优、遥测要求 | | `threat-research-analyst` | IOC 分析、对手追踪、防御情报 | 威胁摘要、IOC 笔记、防御建议 | ## 安装 使用 `npx` 检查并安装 Linmas 技能: ``` npx linmas list npx linmas detect npx linmas install secure-code-reviewer --dry-run ``` 安装特定技能: ``` npx linmas install secure-code-reviewer ``` 安装所有一等 Linmas 技能: ``` npx linmas install --all ``` 检查宿主环境和托管安装的健康状态: ``` npx linmas doctor ``` 移除由 Linmas 管理的技能: ``` npx linmas uninstall secure-code-reviewer ``` ## CLI 命令参考 | 命令 | 用途 | |---|---| | `npx linmas list` | 列出可用的 Linmas 技能 | | `npx linmas detect` | 检测兼容的 AI 编程 agent 宿主 | | `npx linmas install ` | 将一个技能安装到检测到的宿主中 | | `npx linmas install --all` | 安装所有一等 Linmas 技能 | | `npx linmas onboard` | 解释技能的用途及其安装位置 | | `npx linmas doctor` | 检查宿主检测和托管安装的健康状态 | | `npx linmas uninstall ` | 移除一个由 Linmas 管理的技能 | ## 建议的工作流 ``` 1. Detect the host environment 2. Choose the security domain or ask the router skill 3. Install the relevant Linmas skill 4. Ask the AI coding agent for a scoped defensive review 5. Review the output manually 6. Apply fixes in small commits 7. Re-run tests, validation, and security checks ``` 安装 `secure-code-reviewer` 后的示例提示词: ``` Use the Linmas secure-code-reviewer skill. Review this feature for authentication, authorization, input validation, secret exposure, insecure file handling, logging gaps, and dependency risks. Return findings with severity, evidence, exploit preconditions, and concrete fixes. Stay within authorized defensive review scope. ``` ## 预期用途 Linmas 旨在用于防御性、授权且合法的安全工作,包括: - 应用程序安全审查; - 安全架构审查; - 云安全审查; - 事件响应支持; - 检测工程; - 合规审查; - 威胁情报分析; - 授权的渗透测试规划和报告。 ## 安全边界 请勿将 Linmas 用于未经授权的访问、凭证窃取、破坏性攻击、隐蔽、持久化、规避或恶意伤害。 Linmas 技能应用于改进您拥有、维护、获得明确授权进行评估或协助防御的系统。对于漏洞验证、事件响应、Web3 审查和威胁情报等双用途领域,请确保工作受限、有记录且以防御为目的。 ## 验证 在发布或提交发布拉取请求之前,请运行包验证: ``` npm run validate npm run pack:dry-run ``` 推荐的发布前完整性检查: ``` npm run validate git diff --check npm pack --dry-run ``` 已发布包的冒烟测试必须在中立的临时目录中运行,而不是在 Linmas 源代码检录目录中运行。在包检录目录中运行 `npx linmas@` 可能会因为 npm/npx 针对同一包的解析行为而产生假阴性。 请使用: ``` npm view linmas version node scripts/smoke-published-package.mjs 0.1.6 ``` ## 设计原则 - **防御优先** — 每个技能都应改善合法的安全成果。 - **必须人工审查** — AI 输出仅作为指导,不等于自动批准。 - **微小且可检查的变更** — 相比于宽泛的声明,更倾向于提供具体的发现和修复建议。 - **明确的安全边界** — 拒绝有害或未经授权的用例。 - **运营实用性** — 建议应能映射到代码、配置、日志、控制措施或 runbook。 - **公益导向** — 让日常构建者更容易获取基础的安全指导。 ## 路线图 规划方向: - 提升 AI 编程 agent 宿主之间的安装器兼容性; - 扩展宿主检测和 doctor 检查; - 为真实的安全审查工作流添加更多示例; - 改进面向安全初学者的文档; - 为技能结构、包内容和安全边界维护更严格的验证。 ## 许可与署名 Linmas 采用 **Apache License 2.0** 授权。 另请参阅: - [`LICENSE`](LICENSE) 获取完整的许可文本; - [`NOTICE`](NOTICE) 获取署名指南; - [`TRADEMARK.md`](TRADEMARK.md) 获取名称和品牌限制。 Apache-2.0 允许商业和非商业使用、重新分发和修改。Linmas 的品牌不属于软件许可的一部分。如果您重新分发或改编 Linmas,请保留完整的署名,并为衍生项目使用截然不同的品牌。
标签:AI编程助手, Claude Code, GNU通用公共许可证, MITM代理, Node.js, 代码审查, 安全合规, 安全架构, 文档结构分析, 暗色界面, 网络代理, 自定义脚本, 防御加固, 防御性安全