Dengbao Code Audit
Purpose
Use this skill to perform a source-level security audit for internal systems, especially systems that may be deployed on the public internet and need to prepare for 等保三级-style checks.
This skill does not replace formal MLPS/等保测评. It produces an engineering-focused code audit report with evidence, risk grading, and remediation guidance.
Required Output
Save the final report as Markdown. Prefer:
reports/等保代码安全检测报告.md
If a report path is requested by the user, use that path.
Workflow
Identify the project root and scan scope.
- Include source code, configs, deployment manifests, CI/CD files, scripts, README/docs, and environment templates.
- Exclude dependency/vendor/build directories such as
node_modules, .git, dist, build, target, .venv, venv, coverage.
- If the system is public-facing, raise the risk level of auth, permission, data leakage, and exposed service findings.
Run the bundled inventory script when useful:
python3 <skill-dir>/scripts/inventory.py <project-root> --output <workdir>/dengbao-inventory.json
- Run the bundled pattern scanner for first-pass evidence:
python3 <skill-dir>/scripts/grep_rules.py <project-root> --output <workdir>/dengbao-findings.json
Read the most relevant code paths instead of relying only on grep output.
- Trace request entry points to auth middleware/guards/interceptors.
- Check whether permission decisions happen on the backend, not only in frontend routes/buttons.
- Check whether audit logs contain actor, IP, time, operation, object, result, and failure reason for important operations.
- Check whether sensitive data is encrypted or desensitized at storage, transmission, logs, export, and backup boundaries.
- Check deployment files for public ports, admin panels, debug flags, TLS, domain/certificate references, and database/cache exposure.
Create a draft report with the helper if desired:
python3 <skill-dir>/scripts/summarize_findings.py \
--inventory <workdir>/dengbao-inventory.json \
--findings <workdir>/dengbao-findings.json \
--output <project-root>/reports/等保代码安全检测报告.md
- Replace script-only conclusions with reviewed findings.
- A regex hit is evidence, not proof.
- If implementation cannot be confirmed from source, mark it as
待确认 and list the material needed.
- Do not report secrets verbatim. Redact tokens, passwords, private keys, session IDs, and connection strings.
What To Inspect
Load these references as needed:
references/checklist.md: category-by-category audit checklist and evidence requirements.
references/severity-rubric.md: risk grading rules and public-facing adjustment.
references/framework-patterns.md: framework-specific code paths and common risky patterns.
references/remediation-playbook.md: standard remediation guidance and acceptance criteria.
references/report-template.md: final Markdown report structure.
Finding Requirements
Each finding must include:
- Risk level:
高危, 中危, 低危, or 待确认.
- Category: one of 登录认证, 权限控制, 安全审计, 数据安全, 接口安全, 传输安全, 运维暴露面, 备份恢复, 发布变更, 文档材料.
- Evidence: file path and line number when available.
- Impact: what can go wrong in this system.
- Remediation: concrete code/config/process change.
- Acceptance criteria: how the team can verify the fix.
Reporting Rules
- Lead with an executive summary and top risks.
- Group detailed findings by risk level, then by category.
- Include a coverage table for all 10 check categories, even if the conclusion is
待确认.
- Include a prioritized remediation roadmap: 立即整改, 近期整改, 持续治理.
- Separate code-confirmed issues from documentation/process gaps.
- Be practical. Avoid vague statements like "strengthen security" without a testable action.
High-Priority Red Flags
Always check carefully for:
- Public endpoints without backend authentication.
- Authorization enforced only by frontend menus/routes.
- Admin or privileged APIs without MFA or stronger controls.
- Hardcoded credentials, JWT secrets, access keys, database URLs, or private keys.
- SQL/NoSQL query concatenation with user-controlled input.
- Command execution, file path construction, template rendering, or SSRF using user input.
- File upload without extension, MIME, size, content, and storage path controls.
- Sensitive data in logs, exports, responses, localStorage, or backups.
- Open CORS, debug mode, permissive security headers, insecure cookies.
- Docker/Kubernetes/Nginx configs exposing SSH, database, Redis, MQ, admin consoles, or debug ports.
1---2name: dengbao-code-audit3description: Scan source code, configuration, deployment files, and project documents from a China MLPS 2.0 Level 3 / 等保三级 code-security perspective. Use when auditing internal or public-facing software systems for authentication, authorization, audit logging, data security, interface security, transport security, exposed operations surfaces, backup/recovery, release-change evidence, and missing compliance materials, then producing a Markdown security findings report and remediation plan.4---56# Dengbao Code Audit78## Purpose910Use this skill to perform a source-level security audit for internal systems, especially systems that may be deployed on the public internet and need to prepare for 等保三级-style checks.1112This skill does not replace formal MLPS/等保测评. It produces an engineering-focused code audit report with evidence, risk grading, and remediation guidance.1314## Required Output1516Save the final report as Markdown. Prefer:1718```text19reports/等保代码安全检测报告.md20```2122If a report path is requested by the user, use that path.2324## Workflow25261. Identify the project root and scan scope.27 - Include source code, configs, deployment manifests, CI/CD files, scripts, README/docs, and environment templates.28 - Exclude dependency/vendor/build directories such as `node_modules`, `.git`, `dist`, `build`, `target`, `.venv`, `venv`, `coverage`.29 - If the system is public-facing, raise the risk level of auth, permission, data leakage, and exposed service findings.30312. Run the bundled inventory script when useful:3233```bash34python3 <skill-dir>/scripts/inventory.py <project-root> --output <workdir>/dengbao-inventory.json35```36373. Run the bundled pattern scanner for first-pass evidence:3839```bash40python3 <skill-dir>/scripts/grep_rules.py <project-root> --output <workdir>/dengbao-findings.json41```42434. Read the most relevant code paths instead of relying only on grep output.44 - Trace request entry points to auth middleware/guards/interceptors.45 - Check whether permission decisions happen on the backend, not only in frontend routes/buttons.46 - Check whether audit logs contain actor, IP, time, operation, object, result, and failure reason for important operations.47 - Check whether sensitive data is encrypted or desensitized at storage, transmission, logs, export, and backup boundaries.48 - Check deployment files for public ports, admin panels, debug flags, TLS, domain/certificate references, and database/cache exposure.49505. Create a draft report with the helper if desired:5152```bash53python3 <skill-dir>/scripts/summarize_findings.py \54 --inventory <workdir>/dengbao-inventory.json \55 --findings <workdir>/dengbao-findings.json \56 --output <project-root>/reports/等保代码安全检测报告.md57```58596. Replace script-only conclusions with reviewed findings.60 - A regex hit is evidence, not proof.61 - If implementation cannot be confirmed from source, mark it as `待确认` and list the material needed.62 - Do not report secrets verbatim. Redact tokens, passwords, private keys, session IDs, and connection strings.6364## What To Inspect6566Load these references as needed:6768- `references/checklist.md`: category-by-category audit checklist and evidence requirements.69- `references/severity-rubric.md`: risk grading rules and public-facing adjustment.70- `references/framework-patterns.md`: framework-specific code paths and common risky patterns.71- `references/remediation-playbook.md`: standard remediation guidance and acceptance criteria.72- `references/report-template.md`: final Markdown report structure.7374## Finding Requirements7576Each finding must include:7778- Risk level: `高危`, `中危`, `低危`, or `待确认`.79- Category: one of 登录认证, 权限控制, 安全审计, 数据安全, 接口安全, 传输安全, 运维暴露面, 备份恢复, 发布变更, 文档材料.80- Evidence: file path and line number when available.81- Impact: what can go wrong in this system.82- Remediation: concrete code/config/process change.83- Acceptance criteria: how the team can verify the fix.8485## Reporting Rules8687- Lead with an executive summary and top risks.88- Group detailed findings by risk level, then by category.89- Include a coverage table for all 10 check categories, even if the conclusion is `待确认`.90- Include a prioritized remediation roadmap: 立即整改, 近期整改, 持续治理.91- Separate code-confirmed issues from documentation/process gaps.92- Be practical. Avoid vague statements like "strengthen security" without a testable action.9394## High-Priority Red Flags9596Always check carefully for:9798- Public endpoints without backend authentication.99- Authorization enforced only by frontend menus/routes.100- Admin or privileged APIs without MFA or stronger controls.101- Hardcoded credentials, JWT secrets, access keys, database URLs, or private keys.102- SQL/NoSQL query concatenation with user-controlled input.103- Command execution, file path construction, template rendering, or SSRF using user input.104- File upload without extension, MIME, size, content, and storage path controls.105- Sensitive data in logs, exports, responses, localStorage, or backups.106- Open CORS, debug mode, permissive security headers, insecure cookies.107- Docker/Kubernetes/Nginx configs exposing SSH, database, Redis, MQ, admin consoles, or debug ports.