Skip to content

Security: PeerPigeon/PigeonWorld

Security

SECURITY.md

Security Summary

Security Analysis

This project has been analyzed for security vulnerabilities using CodeQL.

Findings

Third-Party Library Alert (Not Actionable)

  • Location: public/peerpigeon-browser.js:145
  • Type: js/biased-cryptographic-random
  • Severity: Low
  • Status: False Positive
  • Description: The alert flags string concatenation in the PeerPigeon vendor library as potentially biased cryptographic operations. Upon inspection, this is string concatenation (hex[hi] + hex[hi + 1]) for hex string building, not arithmetic on random numbers.
  • Action: No action required. This is vendor code from the official PeerPigeon npm package and the alert is a false positive.

Our Code

All code written for this project (in src/ directory) has been scanned and contains no security vulnerabilities.

Security Best Practices Followed

  1. Dependency Management: Using official npm packages from trusted sources
  2. Input Validation: Player movement and positions are validated before processing
  3. Network Security: Using WebRTC for encrypted P2P communication
  4. No Sensitive Data: No authentication tokens or sensitive data stored in client code
  5. Collision Detection: Prevents players from entering invalid world states

Dependencies

  • peerpigeon (v1.1.3): Official WebRTC P2P library with built-in encryption
  • pigeonmatch (v1.0.3): Official matchmaking library from same vendor
  • vite (v7.3.0): Development dependency for bundling

All dependencies are from npm and regularly maintained.

Network Security

The game uses:

  • WebRTC for encrypted peer-to-peer connections
  • Signaling server connection over WSS (WebSocket Secure)
  • No central server stores game state or player data
  • All game state is client-side or distributed across peers

Recommendations

For production deployment:

  1. Enable HTTPS for the web server
  2. Configure Content Security Policy headers
  3. Consider adding rate limiting for signaling server connections
  4. Monitor for updates to dependencies

There aren't any published security advisories