本节描述 NaviGo 当前仓库已实现的安全与质量流水线,以及本地可复现的演示方式。
项目脚本(package.json):
npm run typechecknpm run lintnpm run test:unitnpm run test:integrationnpm run test:evalnpm run acceptanceacceptance(scripts/acceptance.sh)执行顺序:
typechecklinttest:unittest:integrationtest:evalOPENAI_API_KEY + DUFFEL_API_TOKEN + POSTGRES_URL 均存在,则执行一次 live CLI 场景;否则打印 [blocked] 提示。这保证了“静态检查 + 自动化测试 + 条件化真实链路验证”三层门禁。
.github/workflows/ci.ymlsecurity-scan(LLMSecOps)已启用:
npm audit --audit-level=moderate --omit=devp/javascript, p/typescript, p/owasp-top-ten, p/cwe-top-25, p/ci, p/secrets, p/supply-chain)checks在 security-scan 通过后执行:
npm run typechecknpm run lintnpm run test:unitnpm run test:integrationbuild在 security-scan 与 checks 通过后执行:
npm run builddist/src/index.js 与 public/ 存在docker-build-and-scan.github/workflows/llmsecops.yml专用于 LLM 应用安全的独立工作流:
ai-sast(AI SAST)p/insecure-transport, p/xss, p/sql-injection)scripts/prompt-security-scan.ts)
ai-supply-chainnpm audit --omit=devscripts/ai-dependency-scan.ts)
package-lock.json 中已知 AI/ML 安全公告(CVE curated list)。colors, faker, node-ipc, peacenotwar)llm-redteamtests/redteam/guardrails.redteam.test.ts)
OPENAI_API_KEY)model-config-auditscripts/model-config-audit.ts)
见 .github/workflows/cd.yml。
在 main 分支 push 或手动触发时:
这形成了从代码到镜像发布的供应链安全闭环(扫描 + SBOM + provenance)。
risk_guard 负责 prompt injection 检测(规则 + LLM 双层)。plan_synthesizer 负责最终摘要 unsafe output 检测(规则 + LLM 双层)。safetyFlags,并在 API 返回。requestJson(...) 提供统一:
ToolError)scripts/prompt-security-scan.ts 在 CI 中运行,检测:
src/observability/tracing.ts:
LANGSMITH_TRACING=true 时启用userId / threadId / scenario / service调用入口:
configureTracingFromEnv()configureTracingFromEnv()npm install
npm run typecheck
npm run lint
npm run test:unit
npm run test:integration
(可选)若已配置 LangSmith:
npm run test:eval
(可选)若已配置 OpenAI + Duffel + Postgres:
npm run acceptance
Prompt 安全扫描与模型配置审计也可本地运行:
npx tsx scripts/prompt-security-scan.ts
npx tsx scripts/ai-dependency-scan.ts
npx tsx scripts/model-config-audit.ts
security-scan(audit / secret / semgrep / SBOM)ai-sast(prompt security scan / semgrep 扩展规则)ai-supply-chain(audit / AI dependency scan / blocklist)llm-redteam(对抗测试通过率)model-config-audit(模型配置安全审计)checks(typecheck / lint / unit / integration)test:eval 纳入 CI 的必跑或定时任务(当前主要靠环境条件)。