|
5 | 5 | [](https://github.com/morganstanley/url-detector/actions/workflows/continuous-integration.yml)
|
6 | 6 | [](https://securityscorecards.dev/viewer/?uri=github.com/morganstanley/url-detector)
|
7 | 7 |
|
8 |
| -A URL detection tool that scans files using Tree-sitter parsers for accurate URL discovery across 19+ programming languages. Instead of simple regex matching, this tool performs AST (Abstract Syntax Tree) parsing to precisely locate URLs in strings, comments, and other appropriate contexts. |
| 8 | +A URL detection tool that scans files using Tree-sitter parsers for accurate URL discovery across 20+ programming languages. Instead of simple regex matching, this tool performs AST (Abstract Syntax Tree) parsing to precisely locate URLs in strings, comments, and other appropriate contexts. |
| 9 | + |
| 10 | +## The SBOM Gap |
| 11 | + |
| 12 | +Software Bill of Materials (SBOM) generation has become critical for security and compliance, but traditional SBOM tools miss a significant category of external dependencies: URLs embedded directly in source code. |
| 13 | + |
| 14 | +Modern package managers and dependency scanners excel at tracking managed dependencies (npm packages, Maven artifacts, etc.), but they can't detect legacy patterns like: |
| 15 | + |
| 16 | +```html |
| 17 | +< script src= "https://cdn.jsdelivr.net/npm/[email protected]/lodash.min.js"></ script> |
| 18 | +<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto"> |
| 19 | +``` |
| 20 | + |
| 21 | +```javascript |
| 22 | +const API_ENDPOINT = "https://api.thirdparty.com/v1"; |
| 23 | +fetch("https://analytics.example.com/track", { ... }); |
| 24 | +``` |
| 25 | + |
| 26 | +These URLs represent real external dependencies that can impact security, availability, and compliance - but they won't appear in any SBOM generated from package metadata. URL Detector fills this gap by providing comprehensive URL inventory that complements traditional dependency tracking tools. |
9 | 27 |
|
10 | 28 | ## Features
|
11 | 29 |
|
@@ -352,17 +370,6 @@ npm run lint
|
352 | 370 | npm run lint:fix
|
353 | 371 | ```
|
354 | 372 |
|
355 |
| -## Contributing |
356 |
| - |
357 |
| -1. Fork the repository |
358 |
| -2. Create a feature branch (`git checkout -b feature/amazing-feature`) |
359 |
| -3. Add tests for new functionality |
360 |
| -4. Ensure all tests pass (`npm test`) |
361 |
| -5. Ensure code style is correct (`npm run lint`) |
362 |
| -6. Commit your changes (`git commit -m 'Add amazing feature'`) |
363 |
| -7. Push to the branch (`git push origin feature/amazing-feature`) |
364 |
| -8. Open a Pull Request |
365 |
| - |
366 | 373 | ## License
|
367 | 374 |
|
368 | 375 | Apache License 2.0 - see [LICENSE](LICENSE) file for details.
|
0 commit comments