{"_id":"brainblast","_rev":"44-c0a4845808917e21c523a835f735632b","name":"brainblast","dist-tags":{"latest":"1.0.0"},"versions":{"0.2.0":{"name":"brainblast","version":"0.2.0","keywords":["security","static-analysis","stripe","webhook","jwt","solana","bags","ci","ai","audit"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.2.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"22219c23761c607c28c6b27abd82a9ba563dc347","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.2.0.tgz","fileCount":10,"integrity":"sha512-Sc8AgPuULpjFRl4So5ayhL3xacpFl/Z/JCj8HJwr/DzKK1IM7XKZ+aC37/Nk2U3DQzLVxvwG9sXQEZzQGJngGA==","signatures":[{"sig":"MEYCIQDTP0qUNBp385mvgmeKy19//lrhxB2WI8oA8RrOMoHgogIhAJh3j/4zfeeqX4x4Bwj0rN4Xd+p8NVy6IkBDoyiRQGK/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33440},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"825e3e6fc3e4bfa895ff4b6fe2396e549078cac1","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.8.2","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"yaml":"^2","ts-morph":"^23"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.2.0_1780859589191_0.4440618255035227","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"brainblast","version":"0.3.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.3.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"a76f0849f5c5d91a18011f62345ef72350c850cc","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.3.0.tgz","fileCount":14,"integrity":"sha512-8BukdhI8SpwpXmzIkxFyXgbT6E4MD3So5k7mh8KAoGdaS5JLys6rUowTDXZdnDyPhQV6ISAcVwY9kF3IdOEmBQ==","signatures":[{"sig":"MEUCIE/i7YlC2RMYTkYu74k20etqIsyjjQEC/p/7gkJ0VwBOAiEAuRSLc1Wpce5KwNssoNSMDCwhiGF7OQ/M0HNLLM5zsYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105123},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"83ecf4210e49bb2f104c0bfc13344abe5ecf0b6c","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.3.0_1780969861117_0.4515614493992375","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"brainblast","version":"0.4.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.4.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"9323eb679405d5f36f625a441ee50642add67241","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.4.0.tgz","fileCount":14,"integrity":"sha512-aamRih8jzpG9aMLPhEriPkMgwnLayKE/8JAuERU3r+9+G63B2KJvsd2A3LL0OtH9+D+9TQZafGdGksqCSNtarQ==","signatures":[{"sig":"MEQCIDmB8tspE92ruLgOq45uKdD5NRCFuMNZvvTF3OwnjObSAiBu89mUDbj5evqltMWDDeG4fP/4WIuFHZk/Lroa7/75hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117391},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"553b1f216e9bcf6cbc2e657c24014594076b6ace","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.4.0_1781196936199_0.4017401583601199","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"brainblast","version":"0.4.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.4.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"893d383f27bec8a4024361296f9786bf23ab54a4","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.4.1.tgz","fileCount":15,"integrity":"sha512-MiUG8CLajG/sVa2Umijw2jNVytHOkL2OX+TtvgNV/MffDXFKNI2aVFAyAYWJt+ATsUr1ASiJ4NrAS3X4m+zwlg==","signatures":[{"sig":"MEQCIEw169OXX1t6iClIumrySiltsVRYuwLm0qvmk4b170LFAiAxXXIt8IDWBC22NG3BdytJffUqYJafW4Jn9mp56cJNOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133291},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"841730076cf668b8e0f7f7a1dbc6df87b8011683","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.4.1_1781200998748_0.7739179514835202","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"brainblast","version":"0.4.2","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.4.2","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"91ac2e30d53eafd502c47d25e92d2e389ff3ef59","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.4.2.tgz","fileCount":16,"integrity":"sha512-pktWjNsbfR3k8zUSzV7HReP8ggTw+GlbZjgrb4vzzsUvj7s4D8OBF3yYqQPFBpgdR2b5YhkW5kWz6naGefheGg==","signatures":[{"sig":"MEUCIAv/qIzTzRwBOQKfC+V+I4WEyO0R0jE1nC0TC/ziuJOuAiEAlI5tAMDj42qdikt+LPTD5N/gEfukpyX8A5KdKk5aLIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":144186},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bbe496db0212a10c083d1b246b26a0f71f00790b","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.4.2_1781204059058_0.39048712989949075","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"brainblast","version":"0.4.3","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.4.3","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"e7019482ea66e842f964e0fa42350e525023f8bf","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.4.3.tgz","fileCount":17,"integrity":"sha512-2QpMH7HX/BwVH4FePs8tUpcAhRUe1wtTnRQs9ROnqdrkyctMl0oyTY8tuCChFUGonqulVHhnDN77HsCMmk81mQ==","signatures":[{"sig":"MEUCIHxC4yLhYs4CXQf60Res/i/KuOH3Vu/GymihjyiGX2ZkAiEAnH7UZzMXXI3guLosYo2dVeEfG+iEDrsT7vw1S7TBLLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":149386},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7eaa55b3b6a80a658194fe09481647b2bc9a2065","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.4.3_1781207106676_0.067904869995429","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"brainblast","version":"0.5.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.5.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"8b0c6ef1bb70c802abe57fcf5fa285f03d431aad","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.5.0.tgz","fileCount":17,"integrity":"sha512-KAOdiL5RsxW+vRha5lYS4apRLKa65bFN0s0I0J+TbgynOfVmwj2IfSjF0NYN0ZZmHBxLsuvqmEa6588a33HiWw==","signatures":[{"sig":"MEUCIB6vw0UqipEBAowLeHvYY8mP/fCsWdEz7LCINJC6dwKJAiEA21KUOMDzRh8huPTf/cTPuGG7Y7NjXanDZ2bY/ei0q7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164795},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8d12209d451ff8b8282471e365fab13b04facfff","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.5.0_1781393847833_0.5880407585847629","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"brainblast","version":"0.5.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.5.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"20259ec53bf2820b4918c6e21776bf60c0a47fa6","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.5.1.tgz","fileCount":17,"integrity":"sha512-Ny8PHM6GKMg9Q3E4ZyVLnWqynOdSN3PnT/fqjt5nlKzJEVamKvwpLXXXuKyfoKqKTWX5aaPkV9QYqhebMnx5dw==","signatures":[{"sig":"MEUCIQDiBrihnNlo26Gqb4p96PU9RDACOVGySUvhmeJOXD8iGgIgCCE7oo3dOE6ZdtTQj/NXwOAfhkz8lvr9By3Lp/awBCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166439},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4f9c31bdb35ce28d1c3386d5cbf32467448c107e","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.5.1_1781400172888_0.5921895176856362","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"brainblast","version":"0.5.2","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.5.2","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"51a544c8a0a8185214ce8b8c6ba5d40c2cc5173d","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.5.2.tgz","fileCount":17,"integrity":"sha512-wsUFh/5JpaO5y2Yc/mkYcB2fI9aVsy3ci9EyFsJpiStlIVvgyYaU6Lv2MpznJJSNxViJgOU9bsEG2l7yoj/WwA==","signatures":[{"sig":"MEYCIQCGUPIqwhw0lImXdRMd+aVuW8AvUeYufq+0Qm+QAJvloQIhAOqUlELCXssSrI0rLH6S3EbaEZu2PBRz6DJENVkqXRlD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168445},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"34f2ef84d38de0e2ca5570628ec6f95d52a92eae","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.5.2_1781401361145_0.907714518993826","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"brainblast","version":"0.5.3","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.5.3","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"5becf4c2dc3e177a599b298f90f1b3aa79206a69","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.5.3.tgz","fileCount":17,"integrity":"sha512-DxpKGMa+Il8VnmLgBeyrb0Ic6MOV+IYVNkX2QHKFpodHPILy+kHF5GLLzeNIqCXBJV5eh7jKU5luFCILaFlEDA==","signatures":[{"sig":"MEYCIQDAQiitK6LrcOSP+28Yqe6zjbAVYSNEYmlpS32OxG/i7AIhAPYeaWNOz2DeHMT0BOmSSPB3L95WgIGV9DbkUb16RKqi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171945},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7adf2d95ad39e0a5e746868de960b4578058b7bd","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.5.3_1781548844303_0.19222178512970567","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"brainblast","version":"0.6.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.6.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"1a91a541a779dcef7ba911965830bb10ce31a3a4","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.6.0.tgz","fileCount":21,"integrity":"sha512-bFRRZLLHUE8FsdJ/IiOiLJI9U8e3MzN9ZEwdDoi0SEekn6/1jxhfN4sizm5KSChKyCfzqAHOOJbH5eA+QI6v/g==","signatures":[{"sig":"MEYCIQDg7frkgV8MEe/6Lmt9+NSlyiY9aqGo9rvAo81NVEOTrgIhAL0T/Ii8kSzK5rgy+hjQEHGuLYvISHlWiJkioblkryMK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187872},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e6397447c40c1eb6baa82dd5fe425a8fa5fbb113","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.6.0_1781626089089_0.19476218342998997","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"brainblast","version":"0.6.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.6.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"e31f1b32e5279848d1e72dcd7f5644864dd1053d","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.6.1.tgz","fileCount":27,"integrity":"sha512-+HcJEnN/c+vh6owKSWm28D6WXd5z7jKeD4PcXYIywWsFgXFTo3ow+ztWmiU64nD3/BCNEMEAdPrt++o2EYW/KQ==","signatures":[{"sig":"MEQCIC0KZ7uhPEEBl5BhOStZ9ryVseVAFTrcZ8+BnZUS+OfrAiAgLUDHyUxxGO5lrSTPR3XY4bu/J4Gq5+leOd26k+8x8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200276},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6d2b3fda30682e622306980747366020eb356008","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.6.1_1781633332406_0.37409657739653546","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"brainblast","version":"0.6.2","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.6.2","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"3d8654ef20e2be9136dcb1fb674e4b6113b2aff6","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.6.2.tgz","fileCount":27,"integrity":"sha512-SDDuh4v2wM2FH+DyQemiPDCgSHy61hlirXEENrKsDz0za2cCUcVY4YX44cnBdU08Ovoo79jXIcy2wxu/4rZ6Gw==","signatures":[{"sig":"MEQCICJ7PEbbQ6U/MakDrInVVE/z+oNOI30PieFZHls84zfqAiAftBHZU2jx9RoeDUXrSpeNeI+ev3prOjybYGcnYXRJXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200276},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e7f5af767c206aa760e82d6ea9b193b238ce59e7","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.6.2_1781650790025_0.2885200125981888","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"brainblast","version":"0.6.3","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.6.3","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"5095f4a32093f24eeeace96908f62cf23ddc5b13","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.6.3.tgz","fileCount":27,"integrity":"sha512-TvJ6gFKHasJlD+8g7GmMdnTgNPvF/JhuG1DZiLU1ftkFSu9pP/bP4Idnt3Etu+F8RDAYwVEYmEw60dTgTdzCYw==","signatures":[{"sig":"MEUCIQCg1Yv7BJxIoG7nOm80zQJHvA25A8w+ILtLf39Xs6ufpAIgacySljuGWep2EJIlsQ3Behrh+t7TRbwfJsCbec0/FRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200276},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"681f860a62a616d132594368b60b136ea8ee1c38","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.6.3_1781652565945_0.5838111599330351","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"brainblast","version":"0.6.4","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.6.4","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"39eec186f88d69afb99219fc13f179dc9af8a2a7","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.6.4.tgz","fileCount":33,"integrity":"sha512-nvxMhQqFB5/R2enfwDy/nDuBKWoanpsyg/ik6lejq+9CV2H4w6pS7bH5e/hRAYqZ9lcc0gfjwM/61klnk/pEeg==","signatures":[{"sig":"MEUCICi2fC4Zv7yK2SQquVy7MZYcnX/0vW/cNnWGckn4D6LZAiEAvyb4EbBz3JNn5aau9SSRrLFdhvc1NQqyGal0j2G3CAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":216734},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3ef37583ed2ece2d0c45541245e4ca1f61fa7d4d","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.6.4_1781662668867_0.045197282782341475","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"brainblast","version":"0.7.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.7.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"97ca410df9376f20c340dcb2e68b8828755fb9fd","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.7.0.tgz","fileCount":51,"integrity":"sha512-nq+oXr+27qBp9PgwfOHDxg/SNt1CuWXyNjpSunC/PK9Ys2llvNlIEFTigI+ep+gqEqBAeToq7cCRCH4SJuPDxA==","signatures":[{"sig":"MEUCICgy1kKTLCFLeGaISdkh3zAgiIN7UbKt2otUX5a2a/wQAiEA1UBMF12UvKCJ4CZWrR5Hpq6O8tBU10fOlF35PkbQ8A0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272446},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"48993ad867aa0d41df2484b3b80a3884001dc9e2","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.7.0_1781741083589_0.6071296619705284","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"brainblast","version":"0.7.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.7.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"380d9ad6fe42646a0b44396047f4f2b24976608f","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.7.1.tgz","fileCount":54,"integrity":"sha512-9u1kioT1mGO6wqFj3qBfFK19xkNJkbItB+COoMFuyksKJTBstp/rO1+QgSpWYal3/KWBTWA0WihMSMNVOGiA0A==","signatures":[{"sig":"MEQCIDg2gApLsPDwgpMUmk+lDrYHsOyYr0I2kPPyeaG8+L7VAiAfExlxHF8bAUkRjJzZcwcdEhsfl7TlgApxC3JnjZA4XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279312},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7953bb7ceaa59741992ed3730524aaae7890165b","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.7.1_1781925853695_0.34660279787243864","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"brainblast","version":"0.7.2","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.7.2","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"93f3d39f2e9f7af573141e2900882e6af8e08ef2","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.7.2.tgz","fileCount":54,"integrity":"sha512-gBBrPxVag48sgveVnJgzv7gggdVDX3Bm81bUTwy0COWHfyBfN6viBRKOywcBAHZ92hII22qhDXWjlAJzIgBEZQ==","signatures":[{"sig":"MEUCIDVGQbDW4J7FJj+GCpVMK8GMTNxHN4o5uensmedmCfkSAiEAhCx4EY091/YjtFfvr+0FK9hwm9CEBiSOEfwquGLHWs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":296195},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"810cfbdb4fd3e01e891a193d64c454ea3093e2a0","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.7.2_1781936577864_0.05569594484319329","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"brainblast","version":"0.7.3","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.7.3","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"60a2948ba86b2b15100e885bc1a83d104a6c0f09","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.7.3.tgz","fileCount":55,"integrity":"sha512-mnMC0zwcfGofsNiTqDuxwstuMXfaOYOSxfOiR8IVJfFQ2sRT0hSqOvUjrnRt328kvruGsUsarom3JYxE7Mzc+A==","signatures":[{"sig":"MEYCIQCDQ4mAcudBe9/v3YJ/3DgoEydwdh+GdJ+6YfDI7JgevgIhAL3nGpmofcHszNcEwM9ZvtmW7jNuJYuOTF20az+iAhxz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310425},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0d69fe3a447a43f37f73057952ca913c5626c939","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.7.3_1781946118911_0.3664319981578832","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"brainblast","version":"0.7.4","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.7.4","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"b4ee39fcbbf80f52d89519061f0ed80d1251eccd","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.7.4.tgz","fileCount":57,"integrity":"sha512-yfBottiH8mekaEHLe9DtDkmA22nDI1xU+kWrApsugBoAOUDh4CqzJ911BQ5g+kpRpCUFwAp9L9M4X7p1eWUYvw==","signatures":[{"sig":"MEQCIDwVZxkSRBMp3Fae+vHeNdVnLk6Znm9K034G72cGgZYdAiAaSt0NUiVB8viEYSdkdNkAtxWmDPKwI/QjgvTJnnJTnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":322428},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e4aa6eaa64ec725bcbeebd18275382a367afad80","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.7.4_1781965949913_0.9923349642977186","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"brainblast","version":"0.7.5","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.7.5","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"f432fe9cb5472b4ce11a846fd7588bf895656c40","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.7.5.tgz","fileCount":60,"integrity":"sha512-UlOMOAYnYbcuv0E9w5u4LQyR+xQxodaqMSoIsBSnV2gwOF4kDxuP0wnumvOvbrOCb1++7qoRIKnvJ9kxXYxOaA==","signatures":[{"sig":"MEQCIBOGlelnrCjjKM91Okwv6zt61EzP+ahDO3pveCE0/wdTAiBvVEs/Y/7NEMhucPahDnPD0EiAslwROBu586dZRTt01Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.7.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":336979},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"139d998f8f549f53e983844430a5ea318ed5b499","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.7.5_1781978227101_0.08139552929877425","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"brainblast","version":"0.7.6","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.7.6","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"26535f50fc4ba2fb4a372dc721e29fb6702a0401","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.7.6.tgz","fileCount":99,"integrity":"sha512-/GxbNuJjkdpOVb/+fSk4FRdFFTXCoDKtwMaCPvnEQEKYnm+x4eLCT1ZP3LWVGGnHqjomnTMVTm8+8HIXmcOJ2Q==","signatures":[{"sig":"MEUCIQDEeNm3sD2XQ2T1JikBbAcAhBayXHFPF4dvegeylmk33wIgGMjEVLm4R1zNHHApLrR2zdkSaBiuHvGMLMEdFP5ptow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.7.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":379165},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e3dda27c17b5d58cf5c09a841d2a28ae14dbdeb0","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.7.6_1781983802777_0.4791829575334232","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"brainblast","version":"0.8.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.8.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"d8b3711b1865abbdc06cf4d00b139d62e62515db","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.8.0.tgz","fileCount":106,"integrity":"sha512-OAThOZlyr/AjLdXR8X4duHKoBm6x1GIsQKlXqjTfn9v75nDTwk+4ITuPmkWtcu+T8Sn5OwGtgYcNlHe2ytelbw==","signatures":[{"sig":"MEQCIFPvHoak2f0t3OsNmPC8q4K1dZiNXpeTgDiWyAkSe9B/AiBlbMp36+1rFdUiX4/7Deo+EMIPUDXLfwONxfJ72qBobQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":427811},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3a4def57c2316234ef707d4ce5d089c253b90d7f","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.8.0_1782148429865_0.9412692491868941","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"brainblast","version":"0.8.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.8.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"0deed4fe85ba40ff425cd78aa1c8b3342107bfc6","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.8.1.tgz","fileCount":108,"integrity":"sha512-orqVgP5EPNbTS3lpjxtOnwBvLrvlRyav7UWS0Uh8mzex4skf7j6F7CYDn6LjuLVy8CNuXUHMW1WG2Mtl7r5/GQ==","signatures":[{"sig":"MEQCIBsv/AtqSpf+uyT0H09m4ptCHLONvqV6ycDrwDQA9UpkAiAcgYaLH+dDpe0lPsFf+t9lP3z2jTAo0UdXBBZSVW27GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447902},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a53d1ac4937258de7c5e30734eab63499315d5c5","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.8.1_1782158453121_0.7782595497170992","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"brainblast","version":"0.8.2","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.8.2","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"24828f29df2ce278def717061bda11c30760f587","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.8.2.tgz","fileCount":110,"integrity":"sha512-7QeZEk0z9HUjegd738yeZSvcp31oLMV8BZRqUUPpxL9E8MTGQvgLs/ujsEr8M8CK96lN4ixcpgu7cSA75cMMwA==","signatures":[{"sig":"MEQCIDUIJney0LtBtSoWlG9I+0SbjmPYX1nxeJ4TeVNrAWfUAiBZTrRIRP384l6dPTAip7rggFExe13mQ3P9/dYFpEE57w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":459668},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9139fe0642ab29be0a17206b8a7235d1c10c6c39","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.8.2_1782164759368_0.06331710319705941","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"brainblast","version":"0.8.3","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.8.3","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"a7be98b85d5ddca52481fcd3168bc979088a6a9b","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.8.3.tgz","fileCount":111,"integrity":"sha512-Tk/rHigrnK8o4Jz9uYh23m4WjXPnUB4NUO2BKQsUQk2chdpmEXFSCSgWf6Edvn6d56wa3mClgv1dFw75bhnf4g==","signatures":[{"sig":"MEUCIDzFR07tBaalnC06s+iQSrXiHVjxDVpn8VO/R85yP40TAiEA1vC6sUNfoeF6nv3kU45QJCtZObAbSyds8EAZ3YjAqV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461605},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9ce2722792997b3af95ac4f1f1274d91c07010c2","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.8.3_1782167776014_0.9683748465113868","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"brainblast","version":"0.9.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"4423d8d34dce1b1c86976e3e96b97ff1cc81a69b","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.0.tgz","fileCount":124,"integrity":"sha512-mf555F8rI2A/+DguwgD3n6ly7RM+IMmH37COuJWJrwdxvH4rmCgTqLz+B0MED+Dd48kia5RdgH0Ge6Zc2BJ+Tg==","signatures":[{"sig":"MEYCIQCPfmkGMp6M+cCopRpUCK+IyYrhHcnGHfk/Db2jAGey4gIhALGuY4Sj8Zasm7crN/4at6lccngkHZPCluqKVdK9JsXM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":492376},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c8bcdb40de39f9ff6d8f187ca61de7ae801958c3","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.0_1782420816632_0.827027251817372","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"brainblast","version":"0.9.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"f733095a31ef337d839f392a64d985620815b9c6","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.1.tgz","fileCount":128,"integrity":"sha512-xHZSclHscvHHDrPssxYYVZfHuunSM6ozBfTHL6sRNA45YtaG5+safcLCMvx8xXMNt3cAckypkoxSz9ytfjsbtA==","signatures":[{"sig":"MEQCIC2EFxSUgV3rq+k/IRlM+ydxvAUvvRxmDrBzQt3ypNYiAiB5YHMqERIufxyzRb1exlgmndYW5uUGvmLo6y8dHOztkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":508713},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"54d5a8329655713e0e94621841044cf48724f8f6","scripts":{"test":"vitest run","audit":"tsx src/cli.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","tree-sitter-rust":"^0.24.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@solana/web3.js":"^1.98.4","@solana/spl-token":"^0.4.14","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.1_1782438576566_0.1764232866306672","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"brainblast","version":"0.9.3","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.3","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"b5d4f63ae26496ec22a603fb562d60562c46c9fa","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.3.tgz","fileCount":137,"integrity":"sha512-WKLK1AN2F3wkIs5ft+FNZKmkwzMzloCzkO+qCCQ0hdLM6BDaapVMHo4a5b4iHJ6NvINm1I/9+mnwHHz4kyfbGQ==","signatures":[{"sig":"MEYCIQD1ILedI0D+CeYkNmuyUUNGldh+mnoT5Im8RLoGnDf7jgIhAIpyc8d7INunqMugcqppewjm8CDAXzgtcyexoX7MO34z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":553378},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"71f85b2e23de16c0ff419c8a056fcdd7bd15ae39","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","pack:dataset":"tsx scripts/pack-dataset.ts","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.3_1782601177636_0.2758087166200802","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"brainblast","version":"0.9.4","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.4","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"c8f78dfed6ef26de20d055dbec336cd6abd57dd2","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.4.tgz","fileCount":142,"integrity":"sha512-gYw38IPxQ02D5ZDlYVK/4Iuteqix3FIfOKQQAXQE9WAGC489x2zwPOz/7dFf/yJcnnl7xwu11VhAxmRC6JjDNA==","signatures":[{"sig":"MEUCIE3wmsQU7BLu9ygTswhFfpddWdwlkxhBc84K7YpJWcFyAiEA2Ys2ucstvna+lDrtRZOF16kEg3irti1FaIrbdH38KM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568848},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e6db7eaa3d9d4b6c6e0165bba49f5b3d91de4dd0","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","pack:dataset":"tsx scripts/pack-dataset.ts","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.4_1782664030575_0.08272199995584928","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"brainblast","version":"0.9.5","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.5","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"19118acff144f5392afffda63c18a1de5976c5d1","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.5.tgz","fileCount":143,"integrity":"sha512-EZmgi21deVY/QS0+QD/M24RNjyJ5rtlAunubYMbqwZ8KqY0v8h1qcgkE4GJLQjc5oRpsn0dwcxZP+LWpw8igxg==","signatures":[{"sig":"MEUCIQDftnb1HOrOvIWAqxalbHlniEA1qsrB+EssxJdxXC/OwAIgWZPjjB7GQ0zaME96oo6aStznWPUsHhcez7KdHlJPOBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":587467},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d9b36356d05540f378af5bcb2ec1b5e2cd8a61f4","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","pack:dataset":"tsx scripts/pack-dataset.ts","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.5_1782788133063_0.25178043447623066","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"brainblast","version":"0.9.6","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.6","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"46e91cfc2d934a7853ebb2b747ea43103e98920c","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.6.tgz","fileCount":150,"integrity":"sha512-P24He+LSmc4ya0T/Jcj9T7vDwDyLOr7bTdxJfvnlf2yA6xaNuaKuNqSpXyD/+IEN8par+u+ryqFNbnmt7JdhNQ==","signatures":[{"sig":"MEUCIQCbG7prFftem1aL6Z7/QX6Ax/u0M48fWkd87C86Txo9awIgSTOHaOjTlPIhHi8IV84ztMRoWnjQ+jp4n9XBC+p6e5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":625461},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"fb01ac04f24c6805ada0697f35aff18d0f448ac8","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","pack:dataset":"tsx scripts/pack-dataset.ts","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.6_1782788262996_0.4945438869211307","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"brainblast","version":"0.9.7","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.7","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"1de7bf17681c7636a856dd48c720d9995cb82a31","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.7.tgz","fileCount":162,"integrity":"sha512-Rw8quX8NQ4jeQGNY01VYk+/VzaJg9MDcdcXt1ZshDy7m/mGvL2FFdL8anDzmL5NIQGg/hUkopskCJN3yCCuoLA==","signatures":[{"sig":"MEQCIFoOFo2QHkZEktgdxIgvYftUr8sJJJwWs9tMeNMr3n1mAiBDhZyBziDtMW/390b06ic6yK+xjZjjgDOmoMfaY+1vBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":632626},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"d589fb11fbd2e3518e05915f33b88a202709c0e3","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.7_1782864078683_0.7480110764211942","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"brainblast","version":"0.9.8","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.8","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"b1fbea80c566ccd9ed781cf892055d8ab26e063e","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.8.tgz","fileCount":170,"integrity":"sha512-f3hR7nNF01ERdtPN/Q+o8Dac4buW7Af0IhR0YSofg+9jS0QlK0dB+xRGfqiRMc+kWD3cU+9PWGcJLznmN7MmnA==","signatures":[{"sig":"MEUCICQMVGVGOAEgfdFKWB40etkvFCk4nMbULMYAAd8DNsC1AiEAoHQD8s4ChIZ4Vw+t8n6czlGTxszUNIHP+mjJyo8NHG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":640574},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"a21c177423950316e6fc7bf0af0630615a961d66","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.8_1782941714247_0.7729329107274927","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"brainblast","version":"0.9.9","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.9","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"dc85fc68b9ed35d8167500b6c885197e7f2c78b8","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.9.tgz","fileCount":170,"integrity":"sha512-XNMqHQgYs90z0AI+jfqUJ7kS4GZ9CXGduAAYYboABFmpn8xzRF4AbT/IR2Z3KBlr/7UAIkMytmBb5SYlK4McRg==","signatures":[{"sig":"MEUCIGUiqtfWiU4vO3Ab5dYq5PTs5fdZTYRPbYD56a3YpVe+AiEAgwEy/4io6EY6WWiqA4hK9F1VxkvRKjVG3LJ0FaX4JZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641405},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"e4fde8a1dd571ede86b8a3c73a2a7a564ace90b2","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.9_1782954160331_0.39362235944928603","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"brainblast","version":"0.9.10","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.10","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"32879ece5f9912ba1c763777a2aa6b7c7a2c9813","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.10.tgz","fileCount":170,"integrity":"sha512-tXQbZLX0EKbq+HC4bN78emCsErMf3SATHTc1mtKEDt99XDyvfsz7ADEPGQKyutvut6/QhkaRSM7pMtdcTnK6Hg==","signatures":[{"sig":"MEYCIQDMIqtvLfEKca5CO5IMOT+juvENIo0DA84qKndWWXWQfQIhAJ2qEZwjEIpRk+zzFeth6N1jKUkHxIzTBpj4+itGaXFG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641549},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"765ee5e598fe11229a06e4b5f240e678994865d8","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.22.4","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.10_1783012722566_0.24607548646952915","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"brainblast","version":"0.9.11","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.9.11","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"be8b1a3b917d76f9ef4effabe5be9872f722b397","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.9.11.tgz","fileCount":466,"integrity":"sha512-gM9Lf/NXl418iS1QROudT2JL/wBI1oocx0hTxsbd4XW6ek2POQjlZmEZx7lujWnyvdRpBGp7DV4mwHcuawPgdw==","signatures":[{"sig":"MEQCIDmioD7BaSsRowGFFshaNi9wp8Hg4TUIYPOqHMnNiRwQAiBDXDTIiPhLnW3QPE2LQJvzxDgo5lo6fdZxo62xJ7z9FA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.9.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":831796},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"548d1206e355cbf094e7d62a40f56e2eccec6744","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","registry:serve":"tsx scripts/registry-server.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","tree-sitter-solidity":"^1.2.13","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.9.11_1783211705420_0.5099814372024123","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"brainblast","version":"0.10.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.10.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"374b37491209a1654dbfc2dab5b9e4eeea2c0a31","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.10.0.tgz","fileCount":489,"integrity":"sha512-jO66bNtN+gZhS3ec3SvCI5k1lfuiswfFhauTh13f2vbBCoRIwH+RUozogPeDA6iJKGzt/+rIgPKBQa943zR3sQ==","signatures":[{"sig":"MEUCIEVV2BWi6AyH5Jk00dZjJ8Bwb4RpN4ix31F76SuJQr5rAiEAoJiGwsD0G1B+Qrevf+TK7O2rYUI9mNYcclsvrsXSB3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":899886},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"007e85e3e593d29456f2f25f3fa9c86473862da6","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","registry:serve":"tsx scripts/registry-server.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","tree-sitter-solidity":"^1.2.13","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.10.0_1783553716263_0.6750688450957436","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"brainblast","version":"0.11.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.11.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"dec34f5a23aa9551ce67fc4fefc1bce707cea394","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.11.0.tgz","fileCount":495,"integrity":"sha512-lODsRR6SuWZkWs1e9vwG2bBrlUaxXqVNXlJ/QmGinbqxlVxY+G5BJsUaFM7tugYqJ9j8m77Po/sSJB+F2luXsA==","signatures":[{"sig":"MEUCIQCBL4Rixe+cGztTWkXLDMYGoZF5u8BZsXUDmQV+T7JlJgIgGxeUX2iIkIZJU85Q08eK4LRl70Gbd+mZFHcofB2bUAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":928980},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"98e3d975f6913808b6a6dc84f7bb8c6d5613478b","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","registry:serve":"tsx scripts/registry-server.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","tree-sitter-solidity":"^1.2.13","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.11.0_1783618202028_0.405374991665749","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"brainblast","version":"0.12.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.12.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"b98bc53a6e56a2549317766614552fd79e5e4c99","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.12.0.tgz","fileCount":498,"integrity":"sha512-GSjhojsqk7pxXjsFo2BHDu4zVGaK4bhebQoFIDM7zgfLNxTlFl0e0CrGnYhNSMpEmtxuVKzEcAm3aL8GbIOldg==","signatures":[{"sig":"MEYCIQCBXP0UF3ZikP43IH5GcGgvOEo8yburtQaZeCh5+ovGcwIhAMSSNUfWnDpHo7DRyuOF1pthJOkczgjM5JAmgFL2ReGk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946504},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"6e690c8a77d3bbc869c68229e9b9ab648d58ffa7","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","registry:serve":"tsx scripts/registry-server.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","tree-sitter-solidity":"^1.2.13","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.12.0_1783621179935_0.5689068296933015","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"brainblast","version":"0.12.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.12.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"a7130ae6d8a9f41ea4a62316aab38f9736639456","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.12.1.tgz","fileCount":498,"integrity":"sha512-WzaXSY4W71Y2QZNR2EoLuvH1pmw5MhZamv51YH907Nmat3gvsPgRh4PoJdf4qJa9tEx78Knfa1X1K9x0qw4z/w==","signatures":[{"sig":"MEQCIHUR97MDIWaQd08lP7TPQQwo0r60doGHVEnJZ9jHWXXuAiBUxHFcnjaPrmoVcD2fklHLRAJik85HV0oWc2D8nYsT1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":947558},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"a86b16f26a070351de3fb053b8fb4e19f3595c61","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","registry:serve":"tsx scripts/registry-server.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","tree-sitter-solidity":"^1.2.13","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.12.1_1783622865871_0.724698930682607","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"brainblast","version":"0.13.0","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.13.0","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"d4cdfc8eed598ba729efd2737572fb2a26c230ab","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.13.0.tgz","fileCount":499,"integrity":"sha512-Mpjtrto+10dzaTv6NuvFRp0RFNZoTR5DxU/dTY+iV5/mLhs+Vn8cRmPxBdhM9mUdZ/jZLEIb5FPZwYtTVS/agg==","signatures":[{"sig":"MEYCIQCQE5BGejAoD2gzCWeimgQNa5Z7jTnbMSNjpFWyYCd1UQIhALlwkrCeLMRxjrNL4MVm4BKxT7dkYn617tjH1lkx6qRS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":971525},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"a8679ecdf08ae9c912268d56f92eb957f48371ef","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","registry:serve":"tsx scripts/registry-server.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","tree-sitter-solidity":"^1.2.13","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.13.0_1783624848138_0.5913870380078503","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"brainblast","version":"0.13.1","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"author":{"name":"DSB-117"},"license":"MIT","_id":"brainblast@0.13.1","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"bin":{"brainblast":"dist/cli.js"},"dist":{"shasum":"e2fa767beca17844ef880d94e5d2005d25699c9c","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-0.13.1.tgz","fileCount":499,"integrity":"sha512-7SoZmtrhX6DtGI3JRyaSjE+jc99cK5aLhFWPlG5l0wgq6b7QgA5zrcElC7T4NQycOdWdBOdGCFz9tPaGGSAlLA==","signatures":[{"sig":"MEYCIQC+zlwf0LRNGzDAo353VZRmcbYLXK3NuP7orljnz4JpnwIhAPuaqvlnHcbHBu92Q5aghUBkfv6NQpdQh1iSqZ4wACcr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":971667},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"gitHead":"6b8a851063eb046f1a67b4d73c343ae9cacd966c","scripts":{"sla":"tsx scripts/corpus-sla.ts","test":"vitest run","audit":"tsx src/cli.ts","bench":"tsx scripts/bench.ts","build":"tsup","fleet":"tsx scripts/fleet.ts","prove":"tsx scripts/prove.ts","synth":"tsx scripts/synth-prove.ts","corpus":"tsx scripts/corpus-report.ts","intake":"tsx scripts/intake.ts","catalog":"tsx scripts/catalog.ts","gen:vti":"tsx scripts/gen-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","fleet:ledger":"tsx scripts/fleet-ledger.ts","pack:dataset":"tsx scripts/pack-dataset.ts","fleet:discover":"tsx scripts/fleet-discover.ts","prepublishOnly":"npm run typecheck && npm test && npm run build","registry:serve":"tsx scripts/registry-server.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts"},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"repository":{"url":"git+https://github.com/DSB-117/brainblast.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.8","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2","ts-morph":"^23","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","@solana/web3.js":"^1.98.4","tree-sitter-rust":"^0.24.0","@solana/spl-token":"^0.4.14","tree-sitter-solidity":"^1.2.13","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","jose":"^5","tsup":"^8","stripe":"^17","vitest":"^2","typescript":"^5","@types/node":"^22","@vitest/coverage-v8":"^2","@metaplex-foundation/mpl-token-metadata":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/brainblast_0.13.1_1783630790047_0.9553927145486238","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"brainblast","version":"1.0.0","type":"module","description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"license":"MIT","author":{"name":"DSB-117"},"homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"repository":{"type":"git","url":"git+https://github.com/DSB-117/brainblast.git","directory":"packages/core"},"bin":{"brainblast":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./distribution":{"types":"./dist/distribution.d.ts","import":"./dist/distribution.js"}},"engines":{"node":">=18"},"publishConfig":{"access":"public","provenance":true},"scripts":{"build":"tsup","prepublishOnly":"npm run typecheck && npm test && npm run build","audit":"tsx src/cli.ts","prove":"tsx scripts/prove.ts","gen:vti":"tsx scripts/gen-vti.ts","pack:dataset":"tsx scripts/pack-dataset.ts","ingest:vti":"tsx scripts/ingest-vti.ts","submit:vti":"tsx scripts/submit-vti.ts","reprove":"tsx scripts/reprove-submissions.ts","registry:serve":"tsx scripts/registry-server.ts","corpus":"tsx scripts/corpus-report.ts","catalog":"tsx scripts/catalog.ts","intake":"tsx scripts/intake.ts","fleet":"tsx scripts/fleet.ts","fleet:discover":"tsx scripts/fleet-discover.ts","fleet:ledger":"tsx scripts/fleet-ledger.ts","fleet:checker-gate":"tsx scripts/fleet-checker-gate.ts","sla":"tsx scripts/corpus-sla.ts","bench":"tsx scripts/bench.ts","synth":"tsx scripts/synth-prove.ts","synth:bags":"tsx scripts/synth-prove.ts findings/bags-known-answer.json","test":"vitest run","coverage":"vitest run --coverage","typecheck":"tsc --noEmit -p tsconfig.json"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@solana/spl-token":"^0.4.14","@solana/web3.js":"^1.98.4","tree-sitter":"^0.25.0","tree-sitter-go":"^0.25.0","tree-sitter-rust":"^0.24.0","tree-sitter-solidity":"^1.2.13","ts-morph":"^23","yaml":"^2"},"devDependencies":{"@metaplex-foundation/mpl-token-metadata":"^3.4.0","@types/node":"^22","@vitest/coverage-v8":"^2","jose":"^5","stripe":"^17","tsup":"^8","tsx":"^4","typescript":"^5","vitest":"^2"},"_id":"brainblast@1.0.0","gitHead":"9b92939fe3144b29ceb0af18b75a90d02316f5b1","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-zz3YjS2xiNlZQytY83pkFuzRMjgF9QiYdJtIo81Oqc8cEzYKzvoFt3Tz8Huk1hZxpD8JV2hA2afSLX4EVeOVOg==","shasum":"2f69f814abb7050ea93ca85577d64f45297e332d","tarball":"https://registry.npmjs.org/brainblast/-/brainblast-1.0.0.tgz","fileCount":499,"unpackedSize":971675,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/brainblast@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA6Zm2hfU08pPkHqMxK8xKHmQJHZQ1As9X2FeQqVu8Z1AiEA8MPaPT1FVkdxlcJycyl2KZ0gXz93ILji+TtM7MPGX3Q="}]},"_npmUser":{"name":"dsb_117","email":"dsb97.mail@gmail.com"},"directories":{},"maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brainblast_1.0.0_1783712843917_0.7541362891088039"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-07T19:13:09.073Z","modified":"2026-07-10T19:47:24.361Z","0.2.0":"2026-06-07T19:13:09.336Z","0.3.0":"2026-06-09T01:51:01.296Z","0.4.0":"2026-06-11T16:55:36.327Z","0.4.1":"2026-06-11T18:03:18.904Z","0.4.2":"2026-06-11T18:54:19.216Z","0.4.3":"2026-06-11T19:45:06.841Z","0.5.0":"2026-06-13T23:37:27.982Z","0.5.1":"2026-06-14T01:22:53.033Z","0.5.2":"2026-06-14T01:42:41.304Z","0.5.3":"2026-06-15T18:40:44.431Z","0.6.0":"2026-06-16T16:08:09.313Z","0.6.1":"2026-06-16T18:08:52.550Z","0.6.2":"2026-06-16T22:59:50.169Z","0.6.3":"2026-06-16T23:29:26.094Z","0.6.4":"2026-06-17T02:17:49.004Z","0.7.0":"2026-06-18T00:04:43.765Z","0.7.1":"2026-06-20T03:24:13.841Z","0.7.2":"2026-06-20T06:22:58.020Z","0.7.3":"2026-06-20T09:01:59.044Z","0.7.4":"2026-06-20T14:32:30.111Z","0.7.5":"2026-06-20T17:57:07.261Z","0.7.6":"2026-06-20T19:30:02.953Z","0.8.0":"2026-06-22T17:13:50.010Z","0.8.1":"2026-06-22T20:00:53.265Z","0.8.2":"2026-06-22T21:45:59.510Z","0.8.3":"2026-06-22T22:36:16.176Z","0.9.0":"2026-06-25T20:53:36.800Z","0.9.1":"2026-06-26T01:49:36.720Z","0.9.3":"2026-06-27T22:59:37.792Z","0.9.4":"2026-06-28T16:27:10.735Z","0.9.5":"2026-06-30T02:55:33.226Z","0.9.6":"2026-06-30T02:57:43.183Z","0.9.7":"2026-07-01T00:01:18.839Z","0.9.8":"2026-07-01T21:35:14.459Z","0.9.9":"2026-07-02T01:02:40.519Z","0.9.10":"2026-07-02T17:18:42.801Z","0.9.11":"2026-07-05T00:35:05.623Z","0.10.0":"2026-07-08T23:35:16.457Z","0.11.0":"2026-07-09T17:30:02.252Z","0.12.0":"2026-07-09T18:19:40.130Z","0.12.1":"2026-07-09T18:47:46.016Z","0.13.0":"2026-07-09T19:20:48.325Z","0.13.1":"2026-07-09T20:59:50.236Z","1.0.0":"2026-07-10T19:47:24.086Z"},"bugs":{"url":"https://github.com/DSB-117/brainblast/issues"},"author":{"name":"DSB-117"},"license":"MIT","homepage":"https://github.com/DSB-117/brainblast/tree/main/packages/core#readme","keywords":["security","static-analysis","audit","stripe","webhook","jwt","solana","anchor","metaplex","token-2022","trust-graph","bags","rent","ci","ai"],"repository":{"type":"git","url":"git+https://github.com/DSB-117/brainblast.git","directory":"packages/core"},"description":"Deterministic auditor for catastrophic AI-integration bugs: scan a repo, find the silent money/auth traps, and generate the behavioral test that proves they're fixed.","maintainers":[{"name":"dsb_117","email":"dsb97.mail@gmail.com"}],"readme":"# brainblast\n\nDeterministic auditor for catastrophic AI-integration bugs. Point it at a repo;\nit finds the silent money/auth traps an AI agent ships, and generates the\nbehavioral test that proves they're fixed. No LLM, no API key, no network — it\nparses your code statically and runs offline.\n\n## Use\n\n```sh\nnpx brainblast .            # scan the repo, write .agent-research/report.json\nnpx brainblast . --ci       # exit 1 if a confirmed FAIL remains\nnpx brainblast . --ci --strict   # also fail on CANT_TELL (can't statically prove)\nnpx brainblast . --since origin/main   # diff-aware: only audit what changed\nnpx brainblast fix .                   # dry run: list mechanical fixes\nnpx brainblast fix . --apply           # write fixes, re-audit RED -> GREEN\n```\n\nExit codes: **0** clean · **1** a confirmed FAIL · CANT_TELL is a warning by\ndefault (a red build always means a real, confirmed problem). `2` means\n`--since <ref>` could not run `git diff` (bad ref, or not a git work tree).\n\n### Diff-aware scanning (`--since <ref>`)\n\n`--since <ref>` audits only what's changed relative to `<ref>` (any git\nrevision: a branch, `HEAD~1`, a commit SHA): TS/Rust functions whose line\nrange overlaps `git diff <ref>`, and config/env files that changed at all.\nThis makes brainblast fast enough to run on every commit or PR instead of a\nfull-repo scan:\n\n```sh\nnpx brainblast . --since origin/main   # CI: only the PR's diff\nnpx brainblast . --since HEAD          # pre-commit/save hook: working tree changes\n```\n\nLiving-memory precedents (see below) are still looked up and shown in\n`--since` mode, but the memory snapshot itself is only written on full\n(non-`--since`) runs — a partial diff-scan never overwrites the full picture.\n\n### Watch mode (`brainblast watch`)\n\n```sh\nnpx brainblast watch .\n```\n\nRuns as a daemon: every time a file is saved, brainblast re-scans only the\nworking-tree changes (uncommitted edits vs `HEAD`, plus untracked files —\nthe \"what did I just save?\" view) and emits one **NDJSON event per line** on\nstdout:\n\n```json\n{\"type\":\"watch_started\",\"targetDir\":\".\"}\n{\"type\":\"finding\",\"ruleId\":\"stripe-webhook-raw-body-verification\",\"severity\":\"critical\",\"result\":\"fail\",\"file\":\"src/webhook.ts\",\"line\":3,\"detail\":\"...\",\"fix\":{...}}\n{\"type\":\"scan_complete\",\"filesChanged\":1,\"findings\":1,\"durationMs\":62}\n```\n\nEvent types: `watch_started`, `finding` (one per FAIL/CANT_TELL), `scan_complete`\n(per debounced save, even if nothing changed), and `scan_error` (e.g. not a\ngit work tree). This is the integration point for an agent daemon — tail\nstdout for structured findings instead of polling `.agent-research/report.json`.\nExit with Ctrl-C / SIGTERM.\n\n### Auto-fix (`brainblast fix`)\n\n```sh\nnpx brainblast fix .            # dry run: list available mechanical fixes\nnpx brainblast fix . --apply    # write each fix.diff to disk, then re-audit\nnpx brainblast fix . --apply --branch   # also commit to brainblast/auto-fix-<ts>\n```\n\nEvery confirmed FAIL that ships a mechanical `fix.diff` (e.g. Stripe raw-body,\nPrivy `audience`/`issuer`) can be applied directly. `--apply` writes each diff,\nthen re-runs the audit to confirm the finding now passes (RED -> GREEN) — any\nfix that doesn't take is reported, not silently dropped. Findings with only a\n`suggestion` (structural fixes brainblast won't auto-synthesize) are listed as\nguidance, not applied. `--branch` additionally creates a new branch and commits\nthe applied changes.\n\n## What it catches\n\n### Web2 / Node.js\n\n| Rule | What's wrong | Consequence |\n|------|--------------|-------------|\n| `stripe-webhook-raw-body` | `constructEvent` called on the parsed body, not the raw buffer | Any `payment_intent.succeeded` can be forged |\n| `privy-jwt-verification` | JWT decoded without signature verification, or without `aud`+`iss` claims | Auth bypass / cross-app token reuse |\n\n### Solana / Anchor (TypeScript + Rust)\n\n| Rule | What's wrong | Consequence |\n|------|--------------|-------------|\n| `bags-fee-share-creator-included` | Creator wallet omitted from `feeClaimers`, or `userBps` don't sum to 10000 | Creator earns zero fees forever — the config is immutable on-chain |\n| `token-2022-program-id-pinned` | `createMint` passes the legacy `TOKEN_PROGRAM_ID` where Token-2022 was intended | Mint is owned by the wrong program; Token-2022 features (transfer hooks, fees, confidential transfers) are silently absent with no on-chain fix |\n| `metaplex-metadata-immutable` | `createV1` / `createNft` omits `isMutable: false` | Metadata defaults to mutable; any update authority can change the token's name, image, or attributes after launch |\n| `anchor-init-if-needed-guarded` | Anchor instruction uses `init_if_needed` without a re-initialization guard | Any user can reinitialize another user's account, overwriting its state |\n\n### Config / env\n\n| Rule | What's wrong | Consequence |\n|------|--------------|-------------|\n| `env-secrets-committed` | A `.env*` file (not `.env.example`/`.sample`/`.template`) is tracked by git and contains a secret-shaped key (`SECRET`, `*_PRIVATE_KEY`, `*_API_KEY`, `*_TOKEN`, `*_PASSWORD`, etc.) with a real-looking (non-placeholder) value | Anyone with read access to the repo — including forks of a public repo — can read the live credential |\n| `env-secret-leaked-to-sink` | A secret-shaped `process.env.X` value flows — directly, via a local variable, forward through helper functions (same-file or imported from another file), or backward into a function that's called elsewhere in the project with a tainted argument — into `console.log`/`res.json`/`res.send`/etc., up to 2 hops across the whole project | Credentials end up in logs, error trackers, or API responses — readable by anyone with log/response access |\n| `request-input-command-injection` | Untrusted `req.body`/`req.query`/`req.params`/`req.headers` data flows — directly or across files — into `exec`/`execSync`/`spawn`/`spawnSync`/`execFile`/`execFileSync` | A malicious request can run arbitrary shell commands on the server |\n\nEach finding lands in `.agent-research/report.json` (stable `schemaVersion: \"1.0\"`)\nwith a `checks[]` array a CI gate can read. Each confirmed FAIL ships a\ngenerated behavioral test (RED on vulnerable, GREEN on fixed).\n\n## Cost & Rent Analysis\n\nEvery run also produces `.agent-research/cost-analysis.md` — a breakdown of\nrent-exempt lamport lockups, scalable flows (calls inside loops that grow with N),\nand a priority-fee posture check:\n\n```\n── Cost & Rent ──────────────────────────────────────────────\n  [HIGH ] priority fee not configured — add setComputeUnitPrice to critical paths\n  Metaplex Token Metadata  src/mint.ts:42  +5,312,760 lamports (0.00531276 SOL)  [non-recoverable]\n  ─── static lockup total: 5,312,760 lamports (~0.00531276 SOL)\n```\n\n## Trust Graph\n\nResolve on-chain upgrade-authority and verified-build status for any Solana\nprogram:\n\n```sh\nnpx brainblast trust-graph TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\nnpx brainblast trust-graph <id1> <id2> --rpc https://api.mainnet-beta.solana.com\nnpx brainblast trust-graph <id> --no-probe   # directory + cache only, no RPC\nnpx brainblast trust-graph <id> --json       # machine-readable output\n```\n\nProgram metadata is cached in `~/.brainblast/program-cache.json` (keyed by\nprogram ID, TTL 1 week). A program researched for one project pre-populates\nall future runs — no repeat RPC probes needed. Override with\n`BRAINBLAST_CACHE_PATH` or pass `--no-cache` to skip entirely.\n\n## Rules are data\n\nDetection lives in `*.yaml` rules (facts) that bind to a small set of vetted,\nhuman-maintained checker + test templates by `kind` — never executable code in a\nrule. Drop project-specific rules in `.agent-research/rules/*.yaml` and the\nauditor loads them on top of the bundled pack (they can add traps, not shadow\nbundled ones). Invalid rules are rejected at load.\n\n## Library API\n\n```ts\nimport {\n  audit, resolveRules,\n  analyzeCosts, renderCostReportMd,\n  buildTrustGraph,\n  loadProgramCache, getCacheEntry,\n} from \"brainblast\";\n\n// Static audit\nconst { checks, report } = audit(process.cwd(), resolveRules(process.cwd()));\n\n// Cost analysis\nconst costReport = analyzeCosts(process.cwd());\nconsole.log(renderCostReportMd(costReport));\n\n// Trust graph (program-keyed cache is consulted automatically)\nconst graph = await buildTrustGraph([\"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"]);\n```\n\nAll types are exported: `Rule`, `CheckResult`, `CostReport`, `AccountFlow`,\n`OnChainProgram`, `TrustGraph`, `ProgramCache`, and more.\n\n## Security model\n\n- **The audit is static.** `brainblast <dir>` parses source with ts-morph and\n  never executes it, so auditing untrusted code does not run it. YAML rules are\n  data only (no code execution, no prototype pollution).\n- **Generated behavioral tests execute the audited repo's code when you run\n  them.** That's expected when you audit your own repo. If you run brainblast on\n  untrusted code (e.g. a fork PR) and then run the generated tests, run them in a\n  sandbox — the same caution as running any untrusted test suite.\n- **Trust-graph RPC probes are read-only.** `getAccountInfo` calls only; no\n  transactions are sent.\n\n## Develop\n\n```sh\nnpm install\nnpm test         # unit suite (214 tests)\nnpm run prove    # end-to-end: generated tests RED on vulnerable, GREEN on fixed\nnpm run build    # produce dist/ (the published artifact)\n```\n\nMIT.\n","readmeFilename":"README.md"}