{"id":15396633,"url":"https://github.com/hupe1980/node-rasp","last_synced_at":"2025-07-30T09:33:56.389Z","repository":{"id":64405888,"uuid":"574984278","full_name":"hupe1980/node-rasp","owner":"hupe1980","description":"Simple nodejs rasp solution","archived":false,"fork":false,"pushed_at":"2023-03-06T01:47:57.000Z","size":319,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-04T16:47:19.539Z","etag":null,"topics":["appsec","cybersecurity","rasp","security"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hupe1980.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-06T13:59:14.000Z","updated_at":"2024-07-29T08:43:15.000Z","dependencies_parsed_at":"2024-10-19T03:28:47.570Z","dependency_job_id":null,"html_url":"https://github.com/hupe1980/node-rasp","commit_stats":{"total_commits":21,"total_committers":2,"mean_commits":10.5,"dds":0.04761904761904767,"last_synced_commit":"8c095b2d266738ef1e4e0b3f916c4f107f3ce659"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/hupe1980/node-rasp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hupe1980%2Fnode-rasp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hupe1980%2Fnode-rasp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hupe1980%2Fnode-rasp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hupe1980%2Fnode-rasp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hupe1980","download_url":"https://codeload.github.com/hupe1980/node-rasp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hupe1980%2Fnode-rasp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267846106,"owners_count":24153877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appsec","cybersecurity","rasp","security"],"created_at":"2024-10-01T15:34:26.403Z","updated_at":"2025-07-30T09:33:56.336Z","avatar_url":"https://github.com/hupe1980.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-rasp\n\u003e Simple nodejs rasp solution\n\n:warning: This is experimental and subject to breaking changes.\n\n## How to use\n```typescript\nimport fs from 'fs';\nimport { Mode, RASP, Message } from 'node-rasp';\n\nRASP.configure({\n  mode: Mode.Block,\n  reporter: (msg: Message, rasp: RASP) =\u003e {\n    console.log(msg);\n  },\n});\n\nfs.readdirSync('/tmp'); // =\u003e throws fs.readdirSync blocked by RASP\n```\n\n## Example Message\n```\n{\n  pid: 20448,\n  runtime: 'node.js',\n  runtimeVersion: 'v16.13.0',\n  time: 1670454402069,\n  messageType: 'trace',\n  data: {\n    module: 'fs',\n    method: 'readdirSync',\n    blocked: false,\n    args: [ '/tmp' ],\n    stackTrace: [\n      'at Object.\u003canonymous\u003e (/.../index.js:10:8)',\n      'at Module._compile (node:internal/modules/cjs/loader:1101:14)',\n      'at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)',\n      'at Module.load (node:internal/modules/cjs/loader:981:32)',\n      'at Function.Module._load (node:internal/modules/cjs/loader:822:12)',\n      'at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)',\n      'at node:internal/main/run_main_module:17:47'\n    ]\n  }\n}\n```\n\n## Configuration\n|Name|Type|Description\n|-|-|-\n|mode|allow, alert, block|\n|preProcessor|(module: string, method: string, strArgs: string[], mode: Mode, rasp: RASP) =\u003e Mode|\n|reporter|(msg: Message, rasp: RASP) =\u003e void|\n|allowRead|string[]|Allow file system read access\n|allowWrite|string[]|Allow file system write access\n|allowDelete|string[]|Allow file system delete access\n|allowRun|string[]|Allow running subprocesses\n|allowNet|string[]|Allow network access\n|allowApi|{ module: string, method: string }|Allow api calls\n\n## License\n[MIT](LICENCE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhupe1980%2Fnode-rasp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhupe1980%2Fnode-rasp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhupe1980%2Fnode-rasp/lists"}