{"data":{"skill":{"slug":"sickn33-nestjs-expert","name":"nestjs-expert","icon":"📦","repo":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/nestjs-expert","status":"approved","author":"sickn33","authorVersion":null,"skillstoreRevision":2},"audit":{"id":"f64e757c-fc60-4f8f-8cdf-9e01786f4941","skill_id":"279c6f8e-74bb-4f58-a87d-5ee110917866","version":6,"content_hash":"v3:81e05e636292629114b76cbb3922fbe57672fc02:047ab9390899b729c2e7e29066f1caa82ba1496268fe3fcdb32604aab0cf4efc:74d44a52a4ff3cc4b6b7354e908114c8640103f87cd20eb2a729e28580e5af68:736b696c6c732f7369636b6e33332f6e6573746a732d657870657274:c6df168fc6322ca55f2e37d0cb8c6dba","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 61 static findings are false positives caused by Markdown syntax, bounded diagnostic examples, documentation links, or security troubleshooting prose. No executable payload, credential access, exfiltration intent, prompt injection, or unsafe command construction was found.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":35,"line_start":35},{"file":"SKILL.md","line_end":42,"line_start":42},{"file":"SKILL.md","line_end":56,"line_start":56},{"file":"SKILL.md","line_end":63,"line_start":63},{"file":"SKILL.md","line_end":64,"line_start":64},{"file":"SKILL.md","line_end":71,"line_start":71},{"file":"SKILL.md","line_end":78,"line_start":78},{"file":"SKILL.md","line_end":119,"line_start":99},{"file":"SKILL.md","line_end":132,"line_start":119},{"file":"SKILL.md","line_end":141,"line_start":132},{"file":"SKILL.md","line_end":144,"line_start":141},{"file":"SKILL.md","line_end":149,"line_start":144},{"file":"SKILL.md","line_end":311,"line_start":149},{"file":"SKILL.md","line_end":320,"line_start":311},{"file":"SKILL.md","line_end":323,"line_start":320},{"file":"SKILL.md","line_end":330,"line_start":323},{"file":"SKILL.md","line_end":333,"line_start":330},{"file":"SKILL.md","line_end":348,"line_start":333},{"file":"SKILL.md","line_end":351,"line_start":348},{"file":"SKILL.md","line_end":358,"line_start":351},{"file":"SKILL.md","line_end":409,"line_start":358},{"file":"SKILL.md","line_end":416,"line_start":409},{"file":"SKILL.md","line_end":419,"line_start":416},{"file":"SKILL.md","line_end":426,"line_start":419},{"file":"SKILL.md","line_end":429,"line_start":426},{"file":"SKILL.md","line_end":436,"line_start":429},{"file":"SKILL.md","line_end":439,"line_start":436},{"file":"SKILL.md","line_end":446,"line_start":439},{"file":"SKILL.md","line_end":449,"line_start":446},{"file":"SKILL.md","line_end":456,"line_start":449},{"file":"SKILL.md","line_end":501,"line_start":456},{"file":"SKILL.md","line_end":514,"line_start":501},{"file":"SKILL.md","line_end":517,"line_start":514},{"file":"SKILL.md","line_end":524,"line_start":517},{"file":"SKILL.md","line_end":527,"line_start":524},{"file":"SKILL.md","line_end":542,"line_start":527},{"file":"SKILL.md","line_end":118,"line_start":118}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":36,"line_start":36},{"file":"SKILL.md","line_end":43,"line_start":43},{"file":"SKILL.md","line_end":50,"line_start":50},{"file":"SKILL.md","line_end":57,"line_start":57},{"file":"SKILL.md","line_end":65,"line_start":65},{"file":"SKILL.md","line_end":72,"line_start":72},{"file":"SKILL.md","line_end":79,"line_start":79},{"file":"SKILL.md","line_end":86,"line_start":86},{"file":"SKILL.md","line_end":481,"line_start":481},{"file":"SKILL.md","line_end":482,"line_start":482},{"file":"SKILL.md","line_end":483,"line_start":483},{"file":"SKILL.md","line_end":486,"line_start":486},{"file":"SKILL.md","line_end":487,"line_start":487},{"file":"SKILL.md","line_end":488,"line_start":488},{"file":"SKILL.md","line_end":491,"line_start":491},{"file":"SKILL.md","line_end":492,"line_start":492},{"file":"SKILL.md","line_end":495,"line_start":495},{"file":"SKILL.md","line_end":496,"line_start":496},{"file":"SKILL.md","line_end":510,"line_start":510}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":562,"audit_model":"codex","audited_at":"2026-08-04T15:42:51.131+00:00","created_at":"2026-08-05T01:35:40.278439+00:00","static_findings":[{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Tools: `nest generate module`, `nest generate service`","category":"external_commands","line_end":35,"severity":"medium","line_start":35},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Tools: `nest generate controller`, class-validator, class-transformer","category":"external_commands","line_end":42,"severity":"medium","line_start":42},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Tools: `@nestjs/testing`, Jest, Supertest","category":"external_commands","line_end":56,"severity":"medium","line_start":56},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- TypeORM: `@nestjs/typeorm`, entity decorators, repository pattern","category":"external_commands","line_end":63,"severity":"medium","line_start":63},{"id":"external_commands:SKILL.md:64:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Mongoose: `@nestjs/mongoose`, schema decorators, model injection","category":"external_commands","line_end":64,"severity":"medium","line_start":64},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Tools: `@nestjs/passport`, `@nestjs/jwt`, passport strategies","category":"external_commands","line_end":71,"severity":"medium","line_start":71},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Tools: `@nestjs/config`, Joi validation","category":"external_commands","line_end":78,"severity":"medium","line_start":78},{"id":"external_commands:SKILL.md:99:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":119,"severity":"medium","line_start":99},{"id":"external_commands:SKILL.md:119:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":132,"severity":"medium","line_start":119},{"id":"external_commands:SKILL.md:132:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":141,"severity":"medium","line_start":132},{"id":"external_commands:SKILL.md:141:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":144,"severity":"medium","line_start":141},{"id":"external_commands:SKILL.md:144:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":149,"severity":"medium","line_start":144},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":311,"severity":"medium","line_start":149},{"id":"external_commands:SKILL.md:311:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":320,"severity":"medium","line_start":311},{"id":"external_commands:SKILL.md:320:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":323,"severity":"medium","line_start":320},{"id":"external_commands:SKILL.md:323:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":330,"severity":"medium","line_start":323},{"id":"external_commands:SKILL.md:330:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":333,"severity":"medium","line_start":330},{"id":"external_commands:SKILL.md:333:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":348,"severity":"medium","line_start":333},{"id":"external_commands:SKILL.md:348:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":351,"severity":"medium","line_start":348},{"id":"external_commands:SKILL.md:351:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":358,"severity":"medium","line_start":351},{"id":"external_commands:SKILL.md:358:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":409,"severity":"medium","line_start":358},{"id":"external_commands:SKILL.md:409:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":416,"severity":"medium","line_start":409},{"id":"external_commands:SKILL.md:416:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":419,"severity":"medium","line_start":416},{"id":"external_commands:SKILL.md:419:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":426,"severity":"medium","line_start":419},{"id":"external_commands:SKILL.md:426:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":429,"severity":"medium","line_start":426},{"id":"external_commands:SKILL.md:429:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":436,"severity":"medium","line_start":429},{"id":"external_commands:SKILL.md:436:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":439,"severity":"medium","line_start":436},{"id":"external_commands:SKILL.md:439:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":446,"severity":"medium","line_start":439},{"id":"external_commands:SKILL.md:446:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":449,"severity":"medium","line_start":446},{"id":"external_commands:SKILL.md:449:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":456,"severity":"medium","line_start":449},{"id":"external_commands:SKILL.md:456:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":501,"severity":"medium","line_start":456},{"id":"external_commands:SKILL.md:501:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":514,"severity":"medium","line_start":501},{"id":"external_commands:SKILL.md:514:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":517,"severity":"medium","line_start":514},{"id":"external_commands:SKILL.md:517:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":524,"severity":"medium","line_start":517},{"id":"external_commands:SKILL.md:524:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":527,"severity":"medium","line_start":524},{"id":"external_commands:SKILL.md:527:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":542,"severity":"medium","line_start":527},{"id":"external_commands:SKILL.md:118:xargs-command-can-execute-arbitrary-commands","file":"SKILL.md","pattern":"xargs command (can execute arbitrary commands)","snippet":"find src -name \"*.module.ts\" -type f | head -5 | xargs -I {} basename {} .module.ts","category":"external_commands","line_end":118,"severity":"medium","line_start":118},{"id":"network:SKILL.md:36:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [Nest.js Modules](https://docs.nestjs.com/modules), [Providers](https://docs.nestjs.com","category":"network","line_end":36,"severity":"low","line_start":36},{"id":"network:SKILL.md:43:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [Controllers](https://docs.nestjs.com/controllers), [Validation](https://docs.nestjs.co","category":"network","line_end":43,"severity":"low","line_start":43},{"id":"network:SKILL.md:50:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [Middleware](https://docs.nestjs.com/middleware), [Guards](https://docs.nestjs.com/guar","category":"network","line_end":50,"severity":"low","line_start":50},{"id":"network:SKILL.md:57:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [Testing](https://docs.nestjs.com/fundamentals/testing)","category":"network","line_end":57,"severity":"low","line_start":57},{"id":"network:SKILL.md:65:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [TypeORM](https://docs.nestjs.com/techniques/database), [Mongoose](https://docs.nestjs.","category":"network","line_end":65,"severity":"low","line_start":65},{"id":"network:SKILL.md:72:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [Authentication](https://docs.nestjs.com/security/authentication), [Authorization](http","category":"network","line_end":72,"severity":"low","line_start":72},{"id":"network:SKILL.md:79:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [Configuration](https://docs.nestjs.com/techniques/configuration)","category":"network","line_end":79,"severity":"low","line_start":79},{"id":"network:SKILL.md:86:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- Resources: [Exception Filters](https://docs.nestjs.com/exception-filters), [Logger](https://docs.n","category":"network","line_end":86,"severity":"low","line_start":86},{"id":"network:SKILL.md:481:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Nest.js Documentation](https://docs.nestjs.com)","category":"network","line_end":481,"severity":"low","line_start":481},{"id":"network:SKILL.md:482:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Nest.js CLI](https://docs.nestjs.com/cli/overview)","category":"network","line_end":482,"severity":"low","line_start":482},{"id":"network:SKILL.md:483:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Nest.js Recipes](https://docs.nestjs.com/recipes)","category":"network","line_end":483,"severity":"low","line_start":483},{"id":"network:SKILL.md:486:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Jest Documentation](https://jestjs.io/docs/getting-started)","category":"network","line_end":486,"severity":"low","line_start":486},{"id":"network:SKILL.md:487:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Supertest](https://github.com/visionmedia/supertest)","category":"network","line_end":487,"severity":"low","line_start":487},{"id":"network:SKILL.md:488:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Testing Best Practices](https://github.com/goldbergyoni/javascript-testing-best-practices)","category":"network","line_end":488,"severity":"low","line_start":488},{"id":"network:SKILL.md:491:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [TypeORM Documentation](https://typeorm.io)","category":"network","line_end":491,"severity":"low","line_start":491},{"id":"network:SKILL.md:492:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Mongoose Documentation](https://mongoosejs.com)","category":"network","line_end":492,"severity":"low","line_start":492},{"id":"network:SKILL.md:495:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [Passport.js Strategies](http://www.passportjs.org)","category":"network","line_end":495,"severity":"low","line_start":495},{"id":"network:SKILL.md:496:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"- [JWT Best Practices](https://tools.ietf.org/html/rfc8725)","category":"network","line_end":496,"severity":"low","line_start":496},{"id":"network:SKILL.md:510:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"useValue: { apiUrl: 'https://api.example.com' }","category":"network","line_end":510,"severity":"low","line_start":510},{"id":"sensitive:SKILL.md:215:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"3. Verify .env file is in correct location","category":"sensitive","line_end":215,"severity":"high","line_start":215},{"id":"sensitive:SKILL.md:209:crypto-seed-private-key-mention","file":"SKILL.md","pattern":"Crypto seed/private key mention","snippet":"### 7. \"secretOrPrivateKey must have a value\" (JWT)","category":"sensitive","line_end":209,"severity":"high","line_start":209},{"id":"blocker:SKILL.md:121:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"**Safety note**: Avoid watch/serve processes; use one-shot diagnostics only.","category":"blocker","line_end":121,"severity":"low","line_start":121},{"id":"blocker:SKILL.md:369:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- [ ] Custom providers use proper injection tokens (avoid string tokens)","category":"blocker","line_end":369,"severity":"low","line_start":369},{"id":"blocker:SKILL.md:401:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- [ ] Database queries avoid N+1 problems (use DataLoader pattern)","category":"blocker","line_end":401,"severity":"low","line_start":401}],"finding_verdicts":[{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","reason":"The backticks format fixed Nest CLI command names as inline Markdown. They do not perform shell command substitution or direct execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"The backticks format a fixed Nest CLI command as inline Markdown. No shell or Ruby execution context exists.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","reason":"The backticks identify the @nestjs/testing package in documentation. They are not executable syntax in this Markdown file.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:63:ruby-shell-backtick-execution","reason":"The backticks identify the @nestjs/typeorm package in prose. No command execution is requested or implemented.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:64:ruby-shell-backtick-execution","reason":"The backticks identify the @nestjs/mongoose package in prose. No command execution is requested or implemented.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:71:ruby-shell-backtick-execution","reason":"The backticks format NestJS package names as inline Markdown. They have no shell execution semantics in this file.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:78:ruby-shell-backtick-execution","reason":"The backticks format the @nestjs/config package name as inline Markdown. They do not invoke a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:99:ruby-shell-backtick-execution","reason":"This is an opening Markdown fence for transparent, one-shot project diagnostics. It is not shell backtick substitution.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:119:ruby-shell-backtick-execution","reason":"This line closes a Markdown code fence. It contains no executable command or dynamic input.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:132:ruby-shell-backtick-execution","reason":"This is an opening Markdown fence for fixed NestJS diagnostic commands. It is not command substitution syntax.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:141:ruby-shell-backtick-execution","reason":"This line closes a Markdown code fence. It does not execute the examples that precede it.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:144:ruby-shell-backtick-execution","reason":"This is an opening Markdown fence for fixed validation commands. It has no shell execution behavior by itself.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:149:ruby-shell-backtick-execution","reason":"This line closes a Markdown code fence. It is documentation syntax rather than a Ruby or shell operation.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:311:ruby-shell-backtick-execution","reason":"This is an opening TypeScript Markdown fence for a NestJS module example. It does not execute external commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:320:ruby-shell-backtick-execution","reason":"This line closes a TypeScript Markdown example. It contains no command invocation.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:323:ruby-shell-backtick-execution","reason":"This is an opening TypeScript Markdown fence for a decorator example. It is not shell execution syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:330:ruby-shell-backtick-execution","reason":"This line closes a TypeScript Markdown example. It does not invoke any process.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:333:ruby-shell-backtick-execution","reason":"This is an opening TypeScript Markdown fence for test setup. It is inert documentation syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:348:ruby-shell-backtick-execution","reason":"This line closes a TypeScript Markdown example. It contains no command execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:351:ruby-shell-backtick-execution","reason":"This is an opening TypeScript Markdown fence for an exception filter example. It is not an executable shell construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:358:ruby-shell-backtick-execution","reason":"This line closes a TypeScript Markdown example. The backticks are formatting only.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:409:ruby-shell-backtick-execution","reason":"This is an opening plain-text Markdown fence for an architecture decision tree. No command is present.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:416:ruby-shell-backtick-execution","reason":"This line closes a plain-text Markdown decision tree. It has no execution semantics.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:419:ruby-shell-backtick-execution","reason":"This is an opening plain-text Markdown fence for module guidance. It does not invoke a command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:426:ruby-shell-backtick-execution","reason":"This line closes a plain-text Markdown decision tree. The backticks are inert formatting.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:429:ruby-shell-backtick-execution","reason":"This is an opening plain-text Markdown fence for testing guidance. No shell expression is present.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:436:ruby-shell-backtick-execution","reason":"This line closes a plain-text Markdown decision tree. It does not execute any listed tool.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:439:ruby-shell-backtick-execution","reason":"This is an opening plain-text Markdown fence for authentication choices. It is documentation syntax only.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:446:ruby-shell-backtick-execution","reason":"This line closes a plain-text Markdown decision tree. No command execution occurs.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:449:ruby-shell-backtick-execution","reason":"This is an opening plain-text Markdown fence for caching choices. It is inert formatting.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:456:ruby-shell-backtick-execution","reason":"This line closes a plain-text Markdown decision tree. It contains no external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:501:ruby-shell-backtick-execution","reason":"This is an opening TypeScript Markdown fence for dependency injection code. It is not shell syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:514:ruby-shell-backtick-execution","reason":"This line closes a TypeScript Markdown example. It does not execute the example.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:517:ruby-shell-backtick-execution","reason":"This is an opening TypeScript Markdown fence for a global module pattern. It is inert documentation syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:524:ruby-shell-backtick-execution","reason":"This line closes a TypeScript Markdown example. No process or shell is invoked.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:527:ruby-shell-backtick-execution","reason":"This is an opening TypeScript Markdown fence for a dynamic module pattern. It has no command execution semantics.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:118:xargs-command-can-execute-arbitrary-commands","reason":"The diagnostic invokes a fixed basename command and passes discovered local filenames as a separate argument. It performs no shell evaluation or user-selected command construction.","verdict":"false_positive","confidence":0.95},{"id":"network:SKILL.md:36:hardcoded-url","reason":"These are passive links to official NestJS module and provider documentation. The skill does not issue a network request or transmit data.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:43:hardcoded-url","reason":"These are passive links to official NestJS controller and validation documentation. No data transfer is implemented.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:50:hardcoded-url","reason":"These are passive links to official NestJS middleware and guard documentation. They do not cause automatic network access.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:57:hardcoded-url","reason":"This is a passive link to official NestJS testing documentation. No request code or exfiltration behavior exists.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:65:hardcoded-url","reason":"These are passive links to official NestJS database documentation. The Markdown does not fetch either URL.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:72:hardcoded-url","reason":"These are passive links to official NestJS security documentation. They contain no network request or sensitive payload.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:79:hardcoded-url","reason":"This is a passive link to official NestJS configuration documentation. It does not initiate network activity.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:86:hardcoded-url","reason":"These are passive links to official NestJS error handling documentation. No automatic request is defined.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:481:hardcoded-url","reason":"This is a reference link to the official NestJS documentation. It is not network-executing code.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:482:hardcoded-url","reason":"This is a reference link to official NestJS CLI documentation. The skill does not fetch it automatically.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:483:hardcoded-url","reason":"This is a reference link to official NestJS recipes. It causes no network access by itself.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:486:hardcoded-url","reason":"This is a passive link to Jest documentation. No request or data transmission is implemented.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:487:hardcoded-url","reason":"This is a passive GitHub link for the Supertest project. It does not trigger network activity.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:488:hardcoded-url","reason":"This is a passive GitHub link to testing guidance. No data is sent to the linked host.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:491:hardcoded-url","reason":"This is a passive link to TypeORM documentation. The skill contains no HTTP client or fetch instruction.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:492:hardcoded-url","reason":"This is a passive link to Mongoose documentation. It does not perform a network request.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:495:hardcoded-url","reason":"This is a passive link to Passport.js documentation. There is no automated request or secret transmission.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:496:hardcoded-url","reason":"This is a passive standards reference for JWT best practices. It does not create network behavior.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:510:hardcoded-url","reason":"The URL uses the reserved example.com domain as a placeholder configuration value. The static TypeScript example does not make a request.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:SKILL.md:215:environment-file-access","reason":"The line advises users to verify the location of their own .env file during JWT troubleshooting. It neither reads nor exposes environment contents.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:SKILL.md:209:crypto-seed-private-key-mention","reason":"The phrase quotes a common JWT configuration error and is followed by safe setup guidance. No private key, seed, or credential value is present or requested.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:121:system-reconnaissance","reason":"The line is a safety constraint that limits diagnostics to one-shot commands and forbids persistent processes. It performs no reconnaissance.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:369:system-reconnaissance","reason":"The line is a NestJS code review checklist item about dependency injection tokens. It contains no host or system discovery operation.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:401:system-reconnaissance","reason":"The line is database performance guidance about avoiding N+1 queries. It does not inspect the host system.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[],"subject_marketplace_commit_sha":"81e05e636292629114b76cbb3922fbe57672fc02","subject_content_hash":"047ab9390899b729c2e7e29066f1caa82ba1496268fe3fcdb32604aab0cf4efc","subject_tree_hash":"74d44a52a4ff3cc4b6b7354e908114c8640103f87cd20eb2a729e28580e5af68","subject_plugin_path":"skills/sickn33/nestjs-expert","audit_payload_hash":"c6df168fc6322ca55f2e37d0cb8c6dba","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"81e05e636292629114b76cbb3922fbe57672fc02","contentHash":"047ab9390899b729c2e7e29066f1caa82ba1496268fe3fcdb32604aab0cf4efc","treeHash":"74d44a52a4ff3cc4b6b7354e908114c8640103f87cd20eb2a729e28580e5af68","pluginPath":"skills/sickn33/nestjs-expert","auditPayloadHash":"c6df168fc6322ca55f2e37d0cb8c6dba"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"issued","url":"/api/skills/sickn33-nestjs-expert/audits/6/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}