Skip to content

Clean up before publishing publicly#17

Merged
leah-restad merged 2 commits into
mainfrom
lr/init
May 5, 2026
Merged

Clean up before publishing publicly#17
leah-restad merged 2 commits into
mainfrom
lr/init

Conversation

@leah-restad
Copy link
Copy Markdown
Collaborator

No description provided.

Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddXFFHeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddXFFHeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddXFFHeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddressTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddressTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddressTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddressTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.HeaderTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddressTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddressTests.cs Fixed
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.AddressTests.cs Fixed
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces the initial AntiSSRF codebase, publishing both the .NET and Node.js implementations plus documentation, generation scripts for shared allowlists/denylists, and CI workflows to validate, test, and deploy docs.

Changes:

  • Add AntiSSRF libraries for .NET (HttpMessageHandler) and Node.js (http/https Agents) with policies, CIDR parsing, and URI/domain validation.
  • Add shared configuration + generators for IP ranges and Azure service domains, with workflows that verify generated outputs are in sync.
  • Add extensive documentation site (Jekyll) and CI workflows for tests, CodeQL, license header checks, and GitHub Pages deployment.

Reviewed changes

Copilot reviewed 139 out of 142 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
SUPPORT.md Adds repository support guidance and Microsoft support policy.
SECURITY.md Adds Microsoft-standard security reporting guidance.
LICENSE Adds MIT license.
README.md Adds top-level project overview and links to packages/docs.
CODE_OF_CONDUCT.md Adds Microsoft OSS code of conduct reference.
CONTRIBUTING.md Adds contribution and local dev instructions for .NET/Node/docs.
.gitignore Updates ignore rules (incl. macOS + package artifacts).
.gitattributes Normalizes line endings across platforms.
config/Domains.json Defines Azure Key Vault/Storage domain suffixes (source of truth).
config/IPAddressRanges.json Defines special-purpose IP ranges (source of truth).
scripts/build-domains-nodejs.sh Generates Node.js domain constants from config/Domains.json.
scripts/build-domains-dotnet.sh Generates .NET domain constants from config/Domains.json.
scripts/build-ip-ranges-nodejs.sh Generates Node.js IP range constants from config/IPAddressRanges.json.
scripts/build-ip-ranges-dotnet.sh Generates .NET IP range constants from config/IPAddressRanges.json.
.github/workflows/update-domains.yml CI check to ensure generated domain files match config.
.github/workflows/update-ip-ranges.yml CI check to ensure generated IP range files match config.
.github/workflows/test-nodejs.yml Runs Node.js unit/functional/prepublish tests across Node versions.
.github/workflows/test-dotnet.yml Runs .NET unit/functional tests for net8.0 and net48.
.github/workflows/jekyll-gh-pages.yml Builds (PR) and deploys (push) documentation site.
.github/workflows/codeql.yml Adds CodeQL scanning configuration.
.github/workflows/check-license-headers.yml Enforces presence of license headers.
.github/ISSUE_TEMPLATE/feature_request.yml Adds feature request issue template.
.github/ISSUE_TEMPLATE/bug_report_nodejs.yml Adds Node.js bug report issue template.
.github/ISSUE_TEMPLATE/bug_report_dotnet.yml Adds .NET bug report issue template.
docs/_config.yml Configures Jekyll/Just-the-Docs site and navigation.
docs/Gemfile Adds Ruby dependencies for local docs build.
docs/.gitignore Ignores local Jekyll build artifacts.
docs/404.html Adds custom 404 page for docs site.
docs/index.md Adds documentation home page content.
docs/getting-started.md Adds install + quick-start + best practices.
docs/ipaddressranges.md Documents IPAddressRanges and recommended ranges.
docs/support.md Adds docs site support page.
docs/faq.md Adds FAQ content on SSRF, redirects, DNS rebinding, XFF, etc.
docs/nodejs-api/index.md Node.js API landing page and class index.
docs/nodejs-api/changelog.md Initializes Node.js changelog page.
docs/nodejs-api/antissrfpolicy/index.md Node.js AntiSSRFPolicy overview.
docs/nodejs-api/antissrfpolicy/constructor.md Documents Node.js policy constructor and presets.
docs/nodejs-api/antissrfpolicy/properties/index.md Index of Node.js AntiSSRFPolicy properties.
docs/nodejs-api/antissrfpolicy/properties/addxffheader.md Documents addXFFHeader property.
docs/nodejs-api/antissrfpolicy/properties/allowedaddresses.md Documents allowedAddresses property.
docs/nodejs-api/antissrfpolicy/properties/allowplaintexthttp.md Documents allowPlainTextHttp property.
docs/nodejs-api/antissrfpolicy/properties/deniedaddresses.md Documents deniedAddresses property.
docs/nodejs-api/antissrfpolicy/properties/deniedheaders.md Documents deniedHeaders property.
docs/nodejs-api/antissrfpolicy/properties/denyallunspecifiedips.md Documents denyAllUnspecifiedIPs property.
docs/nodejs-api/antissrfpolicy/properties/requiredheaders.md Documents requiredHeaders property.
docs/nodejs-api/antissrfpolicy/methods/index.md Index of Node.js AntiSSRFPolicy methods.
docs/nodejs-api/antissrfpolicy/methods/gethttpagent.md Documents getHttpAgent usage and caveats.
docs/nodejs-api/antissrfpolicy/methods/gethttpsagent.md Documents getHttpsAgent usage and caveats.
docs/nodejs-api/antissrfpolicy/methods/addallowedaddresses.md Documents addAllowedAddresses method.
docs/nodejs-api/antissrfpolicy/methods/adddeniedaddresses.md Documents addDeniedAddresses method.
docs/nodejs-api/antissrfpolicy/methods/adddeniedheaders.md Documents addDeniedHeaders method.
docs/nodejs-api/antissrfpolicy/methods/addrequiredheaders.md Documents addRequiredHeaders method.
docs/nodejs-api/urivalidator/index.md Node.js URIValidator overview and method index.
docs/nodejs-api/urivalidator/indomain.md Documents URIValidator.inDomain overloads and examples.
docs/nodejs-api/urivalidator/inazurekeyvaultdomain.md Documents URIValidator.inAzureKeyVaultDomain.
docs/nodejs-api/urivalidator/inazurestoragedomain.md Documents URIValidator.inAzureStorageDomain.
docs/nodejs-api/samples/index.md Index of Node.js integration samples.
docs/nodejs-api/samples/axios.md Sample for Axios integration.
docs/nodejs-api/samples/follow-redirects.md Sample for follow-redirects integration.
docs/nodejs-api/samples/node-fetch.md Sample for node-fetch integration.
docs/dotnet-api/index.md .NET API landing page and class index.
docs/dotnet-api/changelog.md Initializes .NET changelog page.
docs/dotnet-api/antissrfhandler.md Documents AntiSSRFHandler and exposed properties.
docs/dotnet-api/antissrfpolicy/index.md .NET AntiSSRFPolicy overview.
docs/dotnet-api/antissrfpolicy/constructor.md Documents .NET policy constructor and presets.
docs/dotnet-api/antissrfpolicy/properties/index.md Index of .NET AntiSSRFPolicy properties.
docs/dotnet-api/antissrfpolicy/properties/addxffheader.md Documents AddXFFHeader property.
docs/dotnet-api/antissrfpolicy/properties/allowedaddresses.md Documents AllowedAddresses property.
docs/dotnet-api/antissrfpolicy/properties/allowplaintexthttp.md Documents AllowPlainTextHttp property.
docs/dotnet-api/antissrfpolicy/properties/deniedaddresses.md Documents DeniedAddresses property.
docs/dotnet-api/antissrfpolicy/properties/deniedheaders.md Documents DeniedHeaders property.
docs/dotnet-api/antissrfpolicy/properties/denyallunspecifiedips.md Documents DenyAllUnspecifiedIPs property.
docs/dotnet-api/antissrfpolicy/properties/requiredheaders.md Documents RequiredHeaders property.
docs/dotnet-api/antissrfpolicy/methods/index.md Index of .NET AntiSSRFPolicy methods.
docs/dotnet-api/antissrfpolicy/methods/gethandler.md Documents GetHandler usage and immutability.
docs/dotnet-api/antissrfpolicy/methods/addallowedaddresses.md Documents AddAllowedAddresses method.
docs/dotnet-api/antissrfpolicy/methods/adddeniedaddresses.md Documents AddDeniedAddresses method.
docs/dotnet-api/antissrfpolicy/methods/adddeniedheaders.md Documents AddDeniedHeaders method.
docs/dotnet-api/antissrfpolicy/methods/addrequiredheaders.md Documents AddRequiredHeaders method.
docs/dotnet-api/urivalidator/index.md .NET URIValidator overview and method index.
docs/dotnet-api/urivalidator/indomain.md Documents URIValidator.InDomain overloads and examples.
docs/dotnet-api/urivalidator/inazurekeyvaultdomain.md Documents URIValidator.InAzureKeyVaultDomain.
docs/dotnet-api/urivalidator/inazurestoragedomain.md Documents URIValidator.InAzureStorageDomain.
nodejs/package.json Defines Node.js package metadata, scripts, and dev dependencies.
nodejs/tsconfig.json Configures TypeScript compilation for NodeNext + tests.
nodejs/eslint.config.mjs Adds ESLint flat config (TS + security rules).
nodejs/.prettierrc Adds Prettier formatting configuration.
nodejs/.prettierignore Excludes build artifacts and generated files from formatting.
nodejs/README.md Adds Node.js package README and doc links.
nodejs/src/index.ts Barrel exports for Node.js public API.
nodejs/src/AntiSSRFError.ts Defines Node.js AntiSSRFError type.
nodejs/src/AntiSSRFPolicy.ts Implements Node.js policy configuration and agent creation.
nodejs/src/Helpers/AntiSSRFHttpAgent.ts Implements HTTP agent wrapper enforcing policy.
nodejs/src/Helpers/AntiSSRFHttpsAgent.ts Implements HTTPS agent wrapper enforcing policy.
nodejs/src/Helpers/AntiSSRFDnsLookup.ts DNS lookup wrapper enforcing policy on resolved IPs.
nodejs/src/Helpers/CIDRBlock.ts CIDR parsing + IPv4-mapped IPv6 normalization helper.
nodejs/src/Helpers/Domains.ts Generated Node.js Azure service domain suffix lists.
nodejs/src/IPAddressRanges.ts Generated Node.js special-purpose IP range constants.
nodejs/src/URIValidator.ts Implements Node.js URI domain/protocol validation helpers.
nodejs/tests/UnitTests/AntiSSRFPolicy.Scheme.test.ts Unit tests for scheme enforcement behaviors.
nodejs/tests/UnitTests/AntiSSRFPolicy.AddXFFHeader.test.ts Unit tests for XFF header behavior.
nodejs/tests/FunctionalTests/FollowRedirects.test.ts Functional tests for follow-redirects integration and redirects behavior.
nodejs/tests/PrePublishTests/PrePublish.test.js Prepublish tests against packed npm artifact.
dotnet/Microsoft.Security.AntiSSRF.sln Adds .NET solution scaffolding.
dotnet/Directory.Packages.props Central package version management for .NET projects.
dotnet/src/Microsoft.Security.AntiSSRF.csproj .NET library project file and packaging metadata.
dotnet/src/microsoft.png Package icon asset.
dotnet/src/README.md Adds .NET package README and doc links.
dotnet/src/AntiSSRFException.cs Defines .NET AntiSSRFException type.
dotnet/src/AntiSSRFPolicy.cs Implements .NET policy configuration and validation helpers.
dotnet/src/AntiSSRFHandler.cs Implements handler that enforces policy (incl. redirect wrapper).
dotnet/src/Helpers/RedirectHandler.cs Redirect-following handler enforcing policy per hop.
dotnet/src/Helpers/InnerHandler.NetCore.cs Net5+ connect callback handler enforcing DNS/IP policy.
dotnet/src/Helpers/InnerHandler.NetStandard.cs NetStandard/.NET Framework handler enforcing DNS/IP policy.
dotnet/src/Helpers/CIDRBlock.cs CIDR parsing + containment checks.
dotnet/src/Helpers/Domains.cs Generated .NET Azure service domain suffix lists.
dotnet/src/IPAddressRanges.cs Generated .NET special-purpose IP range constants.
dotnet/src/URIValidator.cs Implements .NET URI domain/protocol validation helpers.
dotnet/UnitTests/Microsoft.Security.AntiSSRF.UnitTests.csproj .NET unit test project definition.
dotnet/FunctionalTests/Microsoft.Security.AntiSSRF.FunctionalTests.csproj .NET functional test project definition.
dotnet/FunctionalTests/AntiSSRFPolicy.SchemeTests.cs Functional tests for scheme enforcement behaviors.
dotnet/FunctionalTests/AntiSSRFPolicy.AddXFFHeaderTests.cs Functional tests for XFF header behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread nodejs/tests/UnitTests/AntiSSRFPolicy.AddXFFHeader.test.ts
Comment thread nodejs/tests/UnitTests/AntiSSRFPolicy.AddXFFHeader.test.ts
Comment thread dotnet/FunctionalTests/AntiSSRFPolicy.SchemeTests.cs Outdated
Comment thread nodejs/package.json Outdated
Comment thread docs/index.md
Comment thread docs/getting-started.md
Comment thread nodejs/eslint.config.mjs
Comment thread docs/dotnet-api/antissrfhandler.md Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@leah-restad leah-restad reopened this May 5, 2026
@leah-restad leah-restad merged commit 8487e18 into main May 5, 2026
35 of 36 checks passed
@leah-restad leah-restad changed the title Initial commit Clean up before publishing publicly May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants